我的语法不正确';t按照antlr中的要求工作
我用antlr写了一篇语法如下:我的语法不正确';t按照antlr中的要求工作,antlr,Antlr,我用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>name
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>
name1
名称1名称2
名称1
我没有得到所需的输出。到目前为止,生成的树只显示第一个值。我是antlr的新手,任何帮助都将不胜感激。您的统计规则应该更像这样:
stat: name (SPACE name)* SPACE? NEWLINE;
假设在您的小示例中,每一行代表一个与统计规则匹配的完整条目。您的统计规则应该更像这样:
stat: name (SPACE name)* SPACE? NEWLINE;
假设在您的小示例中,每一行代表一个与stat规则匹配的完整条目