3
在ANTLR中构建AST时遇到问题(我正在使用ANTLR 3.2,ANTLRWorks 1.4)。ANTLR中AST的可选重写规则
这是我的语法:
classDeclaration
:
(
'class' n=IDENTIFIER ('extends' e=IDENTIFIER)?
'{'
…
'}'
)
-> ^(CLASSDECLARATION ^(NAME $n) ^(EXTENDS $e)
;
与类的可选部分出现问题 - ('extends' e=IDENTIFIER)?
。
所以语法工作好与此类声明:
class Test1 extends AbstractTest1 {
…
}
当我排除extends
部分出现故障,具体如下:
class Test2 {
…
}
ANTLR这个片段之前只是停止并给出了此异常控制台: javax.swing.text.BadLocationException: Position not represented by view
我该如何指向ANTLR来处理重写规则^(EXTENDS $e)
作为可选项?