From 867405ea40d3c8acd93e5e0e6030e8ad96eb2470 Mon Sep 17 00:00:00 2001 From: dibyendumajumdar Date: Sat, 26 Aug 2023 15:39:13 +0100 Subject: Avoid using Node as a type as the IR will need this So just extends the top level Ast class in all the subtypes. Also avoid holding reference to lexer in parser. --- .../test/java/com/seaofnodes/simple/lexer/TestParser.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'chapter01/src/test/java') diff --git a/chapter01/src/test/java/com/seaofnodes/simple/lexer/TestParser.java b/chapter01/src/test/java/com/seaofnodes/simple/lexer/TestParser.java index 80917c0f..3f65e0f9 100644 --- a/chapter01/src/test/java/com/seaofnodes/simple/lexer/TestParser.java +++ b/chapter01/src/test/java/com/seaofnodes/simple/lexer/TestParser.java @@ -29,8 +29,8 @@ public class TestParser { { final String source = "int i;"; Lexer lexer = new Lexer(new Source(source), new ErrorListener()); - Parser parser = new Parser(lexer); - var ast = parser.parse(); + Parser parser = new Parser(); + var ast = parser.parse(lexer); Assert.assertEquals("{int i;}", ast.toString()); } @@ -38,8 +38,8 @@ public class TestParser { public void testParseTwoDecls() { final String source = "int i;\nint j;"; Lexer lexer = new Lexer(new Source(source), new ErrorListener()); - Parser parser = new Parser(lexer); - var ast = parser.parse(); + Parser parser = new Parser(); + var ast = parser.parse(lexer); Assert.assertEquals("{int i;int j;}", ast.toString()); } @@ -59,8 +59,8 @@ public class TestParser { } """; Lexer lexer = new Lexer(new Source(source), new ErrorListener()); - Parser parser = new Parser(lexer); - var ast = parser.parse(); + Parser parser = new Parser(); + var ast = parser.parse(lexer); Assert.assertEquals("{int i;int j;i=0;j=100;while(1) {i=(i+1);j=(j-1);if((i>=j)) break;}}", ast.toString()); } } -- cgit v1.2.3