4. XAJ
XAJ é uma extensão da AspectJ.
Permite estender sua sintaxe concreta.
Traz a unidade de compilação SyntaxClass.
Desafio: compilador.
5. Compilador
Um compilador faz tradução de uma
linguagem de programação de alto nível para
uma linguagem de hardware.
É exclusivo para uma linguagem de
programação.
Um compilador pode ser construído utilizando
ferramentas.
O processo de compilação é dividido em
etapas.
6. Análise Léxica
Identifica
padrões da linguagem num
programa.
Um padrão é um símbolo do alfabeto de
uma linguagem.
7. Polyglot
Ferramenta que auxilia o compilador de
XAJ a estender sua sintaxe
Framework
Utiliza
a ferramenta JFlex para gerar seu
analisador léxico.
Não permite estender o alfabeto da
linguagem – reconhecimento de novos
símbolos.
8. Compilador de XAJ
Compila AspectJ
Utiliza
o Polyglot para permitir
extensibilidade sintática
SyntaxClass
Problema: as classes sintáticas podem
trazer novos símbolos. O Polyglot não
reconhece novos símbolos.
9. Objetivo
Fazer
o analisador léxico do Polyglot
reconhecer símbolos novos.
10. Analisador Léxico Extensível
Identificar símbolos diferentes.
Nomeá-los.
Defini-los
para a ferramenta JFlex gerar
analisador que os reconheça.