ANTLR-语法错误(100)

ANTLR- syntax error(100)

我是 ANTLR 的入门者,我尝试学习一些示例,但我无法修复此错误。

grammar Antlr;
options{
        language = Java;
        }
@header {
        package null;
        }
@lexer::header {
        package null;
        }
rule: IDENT+;
IDENT : 'a'..'z'+;
WS : ' '+ ($channel = HIDDEN );

错误信息是:

error(100): /ANTLR/src/java/com/antlr/XL.g:15:12: syntax error: antlr: unexpected token: $ |---> WS : ' '+ ($channel = HIDDEN;);

error(10): internal error: /ANTLR/src/java/com/antlr/XL.g : java.lang.NullPointerException org.antlr.grammar.v2.ANTLRParser.ebnf(ANTLRParser.java:2742)

应该是:

WS : ' '+ {$channel = HIDDEN;};

而不是:

WS : ' '+ ($channel = HIDDEN );