【发布时间】:2014-09-24 18:05:57
【问题描述】:
我是 ANTLR 的新手,我尝试编写一个简单的解析器。我使用了有效的规则,但是当我在 'var' 规则上运行带有 -gui 参数的 TestRig (grun) 并输入以下内容时:
var myVar = 13
调试器告诉我:第 1:0 行不匹配输入 'var myVar = 13' 期待 'var'
我不明白它有什么问题.. 代码如下:
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)?;
感谢您的反馈!
【问题讨论】:
标签: parsing antlr token antlr4 lexer