AST no ANTLR

4
AST no ANTLR AST no ANTLR Teoria e Implementação de Linguagens Computacionais - IF688 Allan J. Souza {ajss}@cin.ufpe.br

description

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; - PowerPoint PPT Presentation

Transcript of AST no ANTLR

Page 1: AST no ANTLR

AST no ANTLRAST no ANTLRTeoria e Implementação de Linguagens Computacionais - IF688

Allan J. Souza{ajss}@cin.ufpe.br

Page 2: AST no ANTLR

Construção da AST Construção da AST (ANTLR)(ANTLR)Campo options na gramáticaoptions{output=AST;

ASTLabelType=CommonTree;

}◦Outras opções:

Linguagem do código a ser gerado; Tipo dos tokens gerados; ...

Page 3: AST no ANTLR

Construção da AST Construção da AST (ANTLR)(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

Page 4: AST no ANTLR

EXEMPLOEXEMPLOAula.g