1
我的教授给了我们一个关于ANTLR的任务,ANTLR version2语法语法?
但我发现给定的语法文件不适用于当前的ANTLR版本。
实际上,它是ANTLR v2中包含的一个示例代码,其中有很少的文档可以找到,并且已经停止得到任何IDE工具(如Eclipse或ANTLRWorks)的支持。
因此,我花了很长时间才发现该语法文件来自古代。
我需要修改给定的语法文件,以查找其他分支立即封闭的whlie循环,但无法理解语法的某些部分。
有人请教我什么'=>'在这个例子中的含义?
program
: (declaration)* EOF
;
declaration
: (variable) => variable
| function
;
declarator
: id:ID
| STAR id2:ID
;
variable
: type declarator SEMI
;
function
: type id:ID LPAREN
(formalParameter (COMMA formalParameter)*)?
RPAREN
block
;
statement
: (declaration) => declaration
| expr SEMI
| if_statement
| while_statement
| block
;
谢谢您的回答,特别是文档链接! – Lyle 2013-04-28 06:31:40