Guest User

Untitled

a guest
Jun 18th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. @Test
  2. public void testPrintStatement3() {
  3. System.out.println("Translating `System.out.println(4 + 3); System.out.println(10 * 2)`");
  4. minijava.syntaxtree.PrintStatement ps =
  5. new minijava.syntaxtree.PrintStatement(
  6. new minijava.syntaxtree.Expression(
  7. new minijava.syntaxtree.NodeChoice(
  8. new minijava.syntaxtree.PlusExpression(
  9. new minijava.syntaxtree.PrimaryExpression(
  10. new minijava.syntaxtree.NodeChoice(
  11. new minijava.syntaxtree.IntegerLiteral(
  12. new minijava.syntaxtree.NodeToken("4")), 0)),
  13. new minijava.syntaxtree.PrimaryExpression(
  14. new minijava.syntaxtree.NodeChoice(
  15. new minijava.syntaxtree.IntegerLiteral(
  16. new minijava.syntaxtree.NodeToken("3")), 0))), 2)));
  17. Context context = new Context(null, new piglet.syntaxtree.StmtList(
  18. new piglet.syntaxtree.NodeListOptional()));
  19. ps.accept(translator, context);
  20.  
  21. ps =
  22. new minijava.syntaxtree.PrintStatement(
  23. new minijava.syntaxtree.Expression(
  24. new minijava.syntaxtree.NodeChoice(
  25. new minijava.syntaxtree.TimesExpression(
  26. new minijava.syntaxtree.PrimaryExpression(
  27. new minijava.syntaxtree.NodeChoice(
  28. new minijava.syntaxtree.IntegerLiteral(
  29. new minijava.syntaxtree.NodeToken("10")), 0)),
  30. new minijava.syntaxtree.PrimaryExpression(
  31. new minijava.syntaxtree.NodeChoice(
  32. new minijava.syntaxtree.IntegerLiteral(
  33. new minijava.syntaxtree.NodeToken("2")), 0))), 2)));
  34. ps.accept(translator, context);
  35.  
  36. context.context.accept(formatter);
  37. context.context.accept(dumper);
  38. String translation = out.toString();
  39. System.out.println(translation);
  40.  
  41. assertEquals("PRINT PLUS 4 3\nPRINT TIMES 10 2", translation);
  42. }
Add Comment
Please, Sign In to add comment