Escolar Documentos
Profissional Documentos
Cultura Documentos
Definição
Nesta representação há uma boa base para a geração de código eficiente, pois
pode expressar todas as características de linguagens de programação de forma
independente da linguagem, contem representações de variáveis, temporários e
registradores. Exemplo: árvore e grafo de síntese, notações pré-fixada e pós-fixada e
código de três endereços: as quadruplas e as triplas.
Árvores Sintáticas
Uma árvore sintática (ou de sintaxe) mostra a estrutura hierárquica de um
programa fonte.
Notação Pós-Fixa
Os operandos aparecem antes dos operadores, adequada para representar
expressões aritméticas e lógicas. As expressões pós-fixas podem ser obtidas
caminhando-se em pós-ordem, na ordem sintática correspondente.
Notação Pré-Fixa
Na notação pré-fixa os operadores aparecem depois dos operandos.
Instruções de atribuição
São aquelas nas quais o resultado de uma operação é armazenado na variável
especificada à esquerda do operador de atribuição, aqui denotado por :=. Há três formas
para esse tipo de instrução. Na primeira, a variável recebe o resultado de uma operação
binária:
x := y op z
x := op y
Na terceira forma, pode ocorrer uma simples cópia de valores de uma variável para
outra:
x := y
_t1 := c * d
a := b + _t1
x := y - atribui o valor de y a x
Depois de uma profunda análise o grupo chega a concluir que para se gerar o
código, não é necessário ir diretamente para a linguagem assembly do processador-alvo,
pois o analisador sintático gera o mesmo com uma linguagem próxima para uma
máquina abstrata, isso independente de processadores específicos. Depois esse código
produzido traduz para a linguagem assembly desejada que se deseja.