ANTLR:Fragment有错误

时间:2015-07-02 16:10:48

标签: antlr4

enter image description here

enter image description here

错误是:

function enable()
{
    $("#test_model").attr("data-ng-model", "test");
    $("#test_bind").attr("data-ng-bind", "test");

    $("#test_model").addClass("ng-pristine");
    $("#test_model").addClass("ng-untouched");
    $("#test_model").addClass("ng-valid");

    $("#test_bind").addClass("ng-binding");
};

有人可以向我解释为什么我有这个错误以及如何修复它?

您的帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

片段保留给词法分析器规则定义,不能用于解析器规则,在您的情况下不需要它。

片段用于分割复杂词法分析器规则并引入可重用性而不产生专用令牌,例如:

NUMBER : DIGIT+;  
ID : LETTER (LETTER|DIGIT)*;
fragment LETTER : [a-zA-Z];
fragment DIGIT : [0-9];

在这些词法规则中,我不希望LETTERDIGIT作为令牌,但是,我想在其他词法规则中使用和重用它们NUMBER和{ {1}}),所以我标记'它们为DIGIT。它使词法分析器更易读,更易于维护。

您可以在此处阅读更多详细信息:https://theantlrguy.atlassian.net/wiki/display/ANTLR4/Lexer+Rules