Parser generator for LL1
grammar.
First and follow
generators
Grammar file
start returns (String s)
: HELLO { s = "Hello, World!"; } COMMA WORLD MARK
| WORLD { s = "World"; }
| name<"Hello"> { s = nameNode.getValue(); }
| value<"Hello", "your value: "> { s = valueNode.getValue(); }
;
name(String input) returns (String s)
: NAME { s = input + ", " + getLastTerminal(); }
;
value(String s1, String s2) returns (String s)
: DIGITS { s = s1 + ", " + s2 + "'" + getLastTerminal() + "'"; }
;
Tokens
HELLO: 'Hello';
WORLD: 'World';
COMMA: '\\,';
MARK: '\\!';
NAME: [A-Z][a-z]+;
DIGITS: [1-9][0-9]*;
Other test examples