1
我是ANTLR的新手,我試圖編寫一個簡單的解析器。我用了一個有效的規則,但是當我運行TestRig(GRUN)與「無功」的規則-gui參數,並進入了這個:ANTLR需要一行令牌作爲單個令牌
var myVar = 13
調試tolds我說:行1:0不匹配輸入「變種myVar的= 13' 期待‘變種’
我不能讓什麼是錯的吧.. 下面的代碼:
grammar Leaf;
WS: (' '|'\t'|'\n'|'\r')+ -> skip;
NUM: ('0'..'9') ('0'..'9'|'.')*;
CHAR: ('a'..'z'|'A'..'Z');
ID: CHAR (CHAR|NUM)*;
BOOL: ('true'|'false');
STRING: ~('\r'|'\n'|'"')+;
type: 'int'|'byte'|'float'|'double'|'decimal'|'char'|'bool'|'tuple'|'string'|'type';
value: NUM|BOOL|('[' (value ',')+ ']')|('\'' CHAR '\'')|('"' STRING '"')|('(' (type ',')+ ')')|type;
var: 'var' ID('[]')? (':' type)? '=' (type|value)?;
感謝您的反饋!