Boolean in ANTLR4? -
this code :
grammar test; assignstatement : id '=' bool ';' ; id : id_letter (id_letter | digit)* ; fragment id_letter : [a-z] | [a-z] | '_' ; fragment digit : [0-9] ; bool : 'true' | 'false' ; ws : [ \t\r\n]+ -> skip; but when test sentence :
x = true ; it has error :
mismatched input 'true' expecting bool why did have error ? how fix ? appreciated .
the lexer match id rule first because order matters. therefore, move bool rule above fix this:
assignstatement : id '=' bool ';' ; fragment id_letter : [a-z] | [a-z] | '_' ; fragment digit : [0-9] ; bool : 'true' | 'false' ; id : id_letter (id_letter | digit)* ; ws : [ \t\r\n]+ -> skip;
Comments
Post a Comment