PageRenderTime 38ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/src/org/rascalmpl/library/demo/lang/turing/l1/ide/Compile.rsc

https://github.com/jimivdw/rascal
Unknown | 22 lines | 16 code | 6 blank | 0 comment | 0 complexity | cb6b0bb5580d524cc0792207407facd3 MD5 | raw file
  1. module demo::lang::turing::l1::ide::Compile
  2. import IO;
  3. import List;
  4. import demo::lang::turing::l1::ast::Turing;
  5. public void compile(Program prog, loc target) {
  6. writeFile(target, compile(prog) + "\n");
  7. }
  8. public str compile(Program prog)
  9. = intercalate("\n", [ compile(s) | s <- prog.statements]);
  10. public str compile(jumpAlways(int l)) = "J_<l>";
  11. public str compile(jumpSet(int l)) = "J1<l>";
  12. public str compile(jumpUnset(int l)) = "J0<l>";
  13. public str compile(writeSet()) = "W1";
  14. public str compile(writeUnset()) = "W0";
  15. public str compile(moveForward()) = "MF";
  16. public str compile(moveBackward()) = "MB";