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