Я создаю свою первую грамматику с ANTLR и ANTLRWorks 2. Я в основном закончил сама грамматику (она распознает код, написанный на описанном языке, и строит правильные деревья синтаксического анализа), но я ничего не начал за пределами этого.
Меня беспокоит то, что каждое первое появление токена в правиле парсера подчеркивается желтым скрежетом, в котором говорится: "Неявное определение токена в правиле парсера".
Например, в этом правиле 'var'
имеет этот squiggle:
variableDeclaration: 'var' IDENTIFIER ('=' expression)?;
Как это выглядит точно:
Странно то, что сам ANTLR, похоже, не имеет в виду эти правила (при тестировании тестовой установки я не вижу ни одного из этих предупреждений в выводе генератора парсера, просто что-то о некорректной версии Java, установленной на моем машина), так что просто ANTLRWorks жалуется.
О чем беспокоиться или я должен игнорировать эти предупреждения? Должен ли я объявлять все токены явно в правилах lexer? Большинство exaples в официальной библии The Defintive ANTLR Reference, похоже, выполняется точно так же Я пишу код.