diff --git a/tool/playground/TestU.java b/tool/playground/TestU.java index 44809918a..545b8c9dc 100644 --- a/tool/playground/TestU.java +++ b/tool/playground/TestU.java @@ -34,7 +34,7 @@ public class TestU { ULexer t = new ULexer(new ANTLRFileStream(args[0])); CommonTokenStream tokens = new CommonTokenStream(t); UParser p = new UParser(tokens); - ParserRuleContext ret = p.s(); + ParserRuleContext ret = p.declarator(); // System.out.println(((Tree)ret.tree).toStringTree()); } } diff --git a/tool/test/org/antlr/v4/test/TestSemPredEvalParser.java b/tool/test/org/antlr/v4/test/TestSemPredEvalParser.java index 40bf3838b..9af487c3b 100644 --- a/tool/test/org/antlr/v4/test/TestSemPredEvalParser.java +++ b/tool/test/org/antlr/v4/test/TestSemPredEvalParser.java @@ -432,4 +432,16 @@ public class TestSemPredEvalParser extends BaseTest { assertEquals(expecting, found); } + /** if you call a rule as part of FOLLOW with $i, can't execute, but + * what if there is a forced action in that called rule? We should + * NOT execute any actions after + * + * a[int i] : e x[$i] ; + * b[int i] : e x[$i] ; + * e : ID | ; + * x[int i] : {{$i=3;}} ID ; + * + * use global context? + */ + }