RESUMEN UNIDAD 2
Generacin de cdigo intermedio
Transforma la salida del anlisis semntico en una representacin cercana a un
lenguaje intermedio cercano el cdigo objeto. Debe ser fcil de producir y fcil de
traducir a cdigo objeto.
Usos del cdigo Intermedio
Mltiples Lenguajes y compiladores
Optimizacin
Modelos de generacin de cdigo o Mquinas abstractas.
Compiladores Transportables
Interpretacin Bsica- Depuracin
Notaciones
Sirven de base para expresar sentencias bien definidas. El uso ms extendido de
las notaciones sirve para expresar operaciones aritmticas.
Las operaciones aritmticas se pueden expresar de tres formas distintas: infija,
prefija y postfija.
Prefija
La notacin prefija pone el operador primero que los dos operandos
Se evala de izquierda a derecha hasta encontrar el primer operador seguido
inmediatamente de un par de operandos.
Infija
Es la ms comprensible ya que ponen el operador entre los dos operando. Es la
notacin comn de frmulas aritmticas y lgicas.
Postfija
Pone el operador al final de los dos operando, la operacin postfija no es
exactamente lo inverso a la operacin prefija equivalente y el orden es el primer
operando, segundo operando, operador.
RICARDO COLUNGA DELGADO
13380991
NO. CTRL
Representacin De Cdigo Intermedio
Notacin Polaca
Los operadores van despus de los operandos
S=A+B*C
----> SABC*+=
Cdigo P
El cdigo P hace referencia a mquinas para generar cdigo objeto.
Triplos
En la historia de los compiladores han sido utilizadas una amplia variedad de
representaciones intermedias como lo es la siguiente clase de representacin de
cdigo intermedio de un rbol de 3 direcciones,2 para los operandos y una para la
ubicacin del resultado.
Cudruplos
Es una estructura tipo registro con cuatros campos que se llaman: op, arg1, arg2 y
resultado. OP tiene un cdigo intermedio.
Donde operando1, operando2 y resultado pueden ser constantes, identificadores y
variables temporales definidos por el compilador mientras que operador
representa una operacin arbitraria.
*Esquema De Generacin.
Los esquemas de generacin son las estrategias o acciones que debern
realizarse y tomarse en cuenta en el momento de generar cdigo intermedio.
Variables y Constantes
Las variables y constantes deben separarse de tal manera que queden las
expresiones una por una de manera simple, por ejemplo int a,b,c; se descompone
a int a; int b; intc; respectivamente.
Expresiones
En esta funcin recibe una cadena que representa una lnea de cdigo intermedio
y toma las medidas oportunas para que ese cdigo se utilice. Estas medidas
pueden ser escribir la lnea en un fichero adecuado.
Expresiones Aritmticas
Son aquella donde los operadores que intervienen en ella son numricos, el
resultado es un nmero y los operadores son aritmticos. Los operadores
aritmticos ms comnmente utilizados son: +, -, * , / y %.
RICARDO COLUNGA DELGADO
13380991
NO. CTRL
Instrucciones de Asignacin
La sintaxis general de la instruccin de asignacin es:
nombre_de_la_variable = valor
El valor a la derecha del signo igual puede ser una constante, otra variable o una
expresin que combine constantes y variables, pero siempre la variable y su valor
deben ser del mismo tipo de dato.
Ejemplos:
edad% = 5
area! = 12.3
nombre$= Pedro
Instrucciones de Control
Esta forma de programacin slo permite resolver problemas sencillos.
Para resolver problemas ms complejos, nos puede interesar que dependiendo de
los valores de los datos, se ejecuten unas instrucciones u otras.
Las instrucciones condicionales nos van a permitir representar ste tipo de
comportamiento.
Sentencias IF y SWITCH.
Funciones
Las funciones pueden reducir a en lnea, lo que se hace que expandir el cdigo
original de la funcin.
Las funciones se descomponen simplificando los parmetros de manera individual
al igual que el valor de retorno.
RICARDO COLUNGA DELGADO
13380991
NO. CTRL