@mike-lischke/antlr-tgen
Version:
A generator for antlr-ng runtime test cases
42 lines (33 loc) • 746 B
Plain Text
[for the following case involving closures.
http://www.antlr.org/wiki/display/~admin/2011/12/29/Flaw+in+ANTLR+v3+LL(*)+analysis+algorithm
[ ]
Parser
[ ]
grammar T;
prog
@init {<LL_EXACT_AMBIG_DETECTION()>}
: expr_or_assign*;
expr_or_assign
: expr '++' {<writeln("\"fail.\"")>}
| expr {<AppendStr("\"pass: \"","$expr.text"):writeln()>}
;
expr: expr_primary ('\<-' ID)?;
expr_primary
: '(' ID ')'
| ID '(' ID ')'
| ID
;
ID : [a-z]+ ;
[ ]
prog
[ ]
a(i)<-x
[ ]
"""pass: a(i)<-x
"""
[ ]
line 1:3 reportAttemptingFullContext d=3 (expr_primary), input='a(i)'
line 1:7 reportAmbiguity d=3 (expr_primary): ambigAlts={2, 3}, input='a(i)<-x'
[ ]
showDiagnosticErrors
]
Tests predictions