Советы по использованию файлов, созданных в ANTLR v3, в Flash Builder 4.5.1 - PullRequest
2 голосов
/ 23 июня 2011

В соответствии с этими инструкциями я пытаюсь использовать сгенерированные ANTLR файлы * .as в текущем проекте Flash Builder 4.5.1.

Поэтому я добавил эту среду выполнения ActionScript ANTLR в свой проект - без проблем.

Я скомпилировал спецификации лексера / парсера, используя ANTLRWorks без проблем.

Я добавил опцию языка в исходный файл * .g, чтобы ANTLR генерировал источники ActionScript:

options {
    backtrack = true; 
    memoize = true;
    k=2;
    output = AST;
    language=ActionScript;        // Added this
    ASTLabelType = CommonTree;
}

К сожалению, сгенерированный ANTLR / ANTLRworks код Actionscript содержит ошибки:

Операторы Catch читаются так catch (RecognitionException re), но должны выглядеть так: catch ( re:RecognitionException ).

Кроме того, Flash Builder жалуется на использование массива здесь:

public override function get tokenNames():Array { return PhpParser.tokenNames; }

Может ли кто-нибудь подтвердить эти проблемы и, возможно, дать подсказки, как их решить?

UPDATE-1

Беглый взгляд на источники ANTLR v3.3 показал этот код шаблона [строка 142 @ ActionScript.stg]:

catch ( re:RecognitionException )

Таким образом, текущая ветка 3.3, кажется, знает правильный синтаксис.

К сожалению, текущая версия ANTLRworks 1.4.2 - которая включает ветку 3.3 - не работает.

1 Ответ

1 голос
/ 23 июня 2011

Теренс Парр, руководитель проекта ANTLR, только что подтвердил, что ANTLRworks нуждается в новой компиляции. Спасибо за большую поддержку!

...