J'ai une AST sortie pour du code Lua par mon fichier de grammaire, qui fait actuellement l'analyse et le lexique pour moi. Je veux ajouter une grammaire d'arbre à ceci, mais puisque j'emploie C# je ne suis pas sûr comment le faire. Quel est le processus de base pour générer le code grammatical de l'arborescence lorsque vous avez déjà un analyseur et un lexer écrits?ANTLR - Ecrire une grammaire d'arbre pour un AST
MISE À JOUR: Je le fichier de grammaire suivante:
tree grammar LuaGrammar;
options {
backtrack=true;
language=CSharp2;
//output=AST;
tokenVocab=Lua;
filter=true;
ASTLabelType=CommonTree;
}
@lexer::namespace{/*my namespace*/}
@parser::namespace{/*my namespace*/}
dummyRule
: ^('=' x=. y=.) {};
placé dans le même répertoire que mon fichier de grammaire principale, qui génère bien. Cependant, lorsque vous essayez de compiler ce que je reçois les erreurs suivantes:
[02:54:06] error(143): C:\Users\RCIX\Desktop\AguaLua\Project\trunk\AguaLua\AguaLua\ANTLR Data\LuaGrammar.g:12:18: unknown or invalid action scope for tree grammar: lexer
[02:54:06] error(143): C:\Users\RCIX\Desktop\AguaLua\Project\trunk\AguaLua\AguaLua\ANTLR Data\LuaGrammar.g:13:19: unknown or invalid action scope for tree grammar: parser
Suis-je sur la bonne voie ou totalement hors?
quelle version de Antlr vous utilisez – chollida
? Version 3.() ( – RCIX