%pragma parser.lookahead 0
%skip space \s
%token a a+
%token b b+
%token c c+
#root:
( <a> | <b> | <c> )*
Source
a
b
c
d
Results
Parsing above scenario leads to expected exception, since lexeme d is not defined in grammar. In thrown UnrecognizedToken
line & column can be enhanced
(helpful) position pointer can be adjusted
Hoa\Compiler\Exception\UnrecognizedToken: Unrecognized token "d" at line 1 and column 7:
a
b
c
d
↑ in /Users/olly/Development/Packages/fluid-compiler/vendor/hoa/compiler/Llk/Lexer.php on line 1
With adjustments
Hoa\Compiler\Exception\UnrecognizedToken: Unrecognized token "d" at line 4 and column 1:
a
b
c
d
↑ in /Users/olly/Development/Packages/fluid-compiler/vendor/hoa/compiler/Llk/Lexer.php on line 1
Grammar
Source
Results
Parsing above scenario leads to expected exception, since lexeme
d
is not defined in grammar. In thrownUnrecognizedToken
With adjustments