TXL Problema de Transformação Cminus. Tópicos Problema TXL o Estrutura de um programa o...

Post on 16-Apr-2015

121 views 0 download

Transcript of TXL Problema de Transformação Cminus. Tópicos Problema TXL o Estrutura de um programa o...

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...