40 likes | 192 Views
AST no ANTLR. Teoria e Implementação de Linguagens Computacionais - IF688. Allan J. Souza { ajss }@ cin.ufpe.br. Construção da AST (ANTLR). Campo options na gramática options{ output=AST; ASTLabelType=CommonTree; } Outras opções: Linguagem do código a ser gerado;
E N D
AST no ANTLR Teoria e Implementação de Linguagens Computacionais - IF688 Allan J. Souza{ajss}@cin.ufpe.br
Construção da AST (ANTLR) • Campo options na gramática options{ output=AST; ASTLabelType=CommonTree; } • Outras opções: • Linguagem do código a ser gerado; • Tipo dos tokens gerados; • ...
Construção da AST (ANTLR) • Construção da árvore • Geração de sub-árvores em cada produção • Operadores sobre as regras • ! – não incluir o nó ou sub-árvore; • ^ – transformar o nó em raiz de uma sub-árvore • Reescrita de regras • Operador -> • Ex: args : arg (‘,’ arg)* -> arg+ • Nós imaginários • Ex: declaration : type ID ';' -> ^(DECL type ID) ; //DECL é imaginário
Aula.g Exemplo