ANTLR4片段不起作用

时间:2015-06-04 20:18:47

标签: java antlr abstract-syntax-tree antlr4 parse-tree

我有以下代码(或类似的,无论如何):

fragment COMMA : ',' ;
fragment OP : '(' ;
fragment CP : ')' ;

expression
    : ID
    | call
    ;

call
    : ID OP expression (COMMA expression)* CP
    ;

但是当我尝试一个示例表达式时,例如:foo(bar, baz),我得到一个错误,更具体地说是token recognition error at: '('。当我使它们成为正常规则而不是片段时,可以将逗号和括号添加到解析树中。我想使用COMMA和括号来匹配规则,但我不想在解析树中使用它们。无论如何,为什么片段不起作用?

0 个答案:

没有答案