compiladores
Las características de lasexpresiones infijas son:
Los operadores empleados pueden ser: +,-,*, /, div y mod.
Los operandos pueden ser números enteros e identificadores. Para construir el esquema de traducción se debe realizar:Definir la gramática independiente del contexto para las expresiones infijas señaladas previamente.
Incluir para cada regla gramatical las acciones semánticas que permiten lograr la traducción denotación infija a postfija.
Eliminar la recursividad por la izquierda de la gramática que incluye las acciones semánticas.
Escribir el esquema de traducción orientado a la sintaxis después de eliminarla recursividad por la izquierda para la traducción de infija a postfija.
inicial lista eof
lista expr;lista
| c
expr expr+term {print(‘+’)}
|expr+termino {print(‘-’)}|termino
termino termino*factor{print(‘*’)}
|termino / factor{print(‘/’)}
|termino div factor{print(div)}
|termino mod factor{print(mod)}|factor
factor (expr)
| id{print(id.lexema)}
| num{print(num.valor)}
Inicio lista eof
lista expr; lista
|E
expr termino masterminos
masterminos +termino{print(‘+’)}masterminos
|-termino {print(‘-’)}masterminos
|E
termino factor masfactores
masfactores*factor{print(‘*’)}masfactores
|/factor{print(‘/’)}masfactores
|div factor{print(div)}masfactores
|mod factor{print(mod)}masfactores
|E
factor (expr)
|id{print(id.lexema)}
|num{print(num.valor)}
2. Construir el árbolsintáctico para la gramática anterior, empleando una entrada que corresponde a la siguiente expresión:
cuenta + incremente * factor
inicio
lista EOF
expr ; lista
E
Termino...
Regístrate para leer el documento completo.