我在antlr中写了一个语法如下:
grammar names;
init : stat+;
stat : name NEWLINE
| name SPACE NEWLINE
|NEWLINE
| name SPACE name SPACE
;
name : ID ;
ID : [a-zA-Z]+ ;
NEWLINE:'\r'? '\n' ;
SPACE : ' ';
这个语法应该接受以下形式的输入:
name1
name1<space>name2<space>
name1<space>
我没有得到所需的输出。截至目前,生成的树仅显示第一个值。我是antlr的新手,任何帮助都将不胜感激。
答案 0 :(得分:0)
你的统计规则应该更像这样:
stat: name (SPACE name)* SPACE? NEWLINE;
从您的小例子中假设每一行代表一个与统计规则匹配的完整条目。