View
128
Download
0
Category
Preview:
Citation preview
TXL
Problema de TransformaçãoCminus
Tópicos
• Problema• TXL
o Estrutura de um programao Definição da gramáticao Regras de transformação
• Possível solução
Problema
Alterar programas declarando variáveis que estejam a ser utilizadas e que não tenham sido declaradas
originalmente
Problema
Alterar programas declarando variáveis que estejam a ser utilizadas e que não tenham sido declaradas
originalmente
TXL
"The Three Phases of TXL", Cordy, James R., 'TXL Programming Language', November 2007
TXL - Estrutura de um programa
TXL - Definição da Gramática
TXL - Definição da Gramática
TXL - Definição da Gramática
TXL - Definição da Gramática
TXL EBNF
[repeat X] X*
[repeat X+] X+
[list X] (X ( , X )* ) ?
[list X+] X ( , X) *
[opt X] X?
TXL - Regras de Transformação
Cada regra de transformação reage a um padrão especificado e realiza a transformação
correspondente
TXL - Regras de Transformação
Dois tipos de regras de transformação...
• Regras • Funções
TXL - Regras de Transformação
Dois tipos de regras de transformação...
• Regras • Funções
Transformam repetidamente enquanto for possível fazer match do padrão
Transformam o primeiro match do padrão
TXL - Regras de Transformação
Funções
Nota: A substituição a fazer deve ter uma estrutura determinada na definição da gramática para o não terminal especificado
TXL - Regras de Transformação
Regras
Voltando ao problema inicial...
O TXL permite a definição de variáveis globais que podem ser alteradas e questionadas!
Voltando ao problema inicial...
Possível solução...
Recommended