Antlr使用字母表评论

时间:2013-04-10 06:19:25

标签: antlr

我想忽略这一行

CHECKSUM="some string".

我试过

CHECK_COMMENT
    : 'CHECKSUM=' (options {greedy=false;}: .)*  {skip();}
    ;

但这不起作用,虽然这适用于特殊字符。

CHECK_COMMENT
    : '========' (options {greedy=false;}: .)*  {skip();}
    ;

如何将其忽略为单行评论?

1 个答案:

答案 0 :(得分:0)

请改为尝试:

CHECK_COMMENT
    : 'CHECKSUM=' ~('\r' | '\n')* {skip();}
    ;

其中~('\r' | '\n')*匹配除了换行符之外的零个或多个字符。

或者,包括换行符:

CHECK_COMMENT
    : 'CHECKSUM=' ~('\r' | '\n')* LINE_BREAK {skip();}
    ;

fragment
LINE_BREAK
    : '\r'? '\n'
    | '\r'
    ;