Professional Documents
Culture Documents
0
INDICE
INTRODUCCION. .................................................................................................................................. 2
2.1 Notaciones. ................................................................................................................................... 3
2.1.1 Notacin Prefija. ......................................................................................................................... 3
2.1.2 Notacin infija. ........................................................................................................................... 3
2.1.3 Notacin postfija. ....................................................................................................................... 3
2.2 Representaciones de cdigo Intermedio. ..................................................................................... 4
2.2.1 Notacin Polaca.......................................................................................................................... 4
2.2.2 Cdigo P...................................................................................................................................... 4
2.2.3 Triplos ......................................................................................................................................... 4
2.3 Esquema de generacin ................................................................................................................ 6
2.3.1 Variables y constantes................................................................................................................ 6
2.3.2 Expresiones. ............................................................................................................................... 6
2.3.3 Instrucciones de asignacin. ...................................................................................................... 6
2.3.4 Instrucciones de control ............................................................................................................. 7
2.3.5 Funciones ................................................................................................................................... 7
Conclusin ........................................................................................................................................... 8
BIBLIOGRAFIA. ..................................................................................................................................... 8
1
INTRODUCCION.
2
2.1 Notaciones.
Las notaciones son las formas en que una expresin matemtica se puede escribir y estas se dividen
en tres distintos tipos los cuales pueden ser infijo, postfijo y prefijo.
3
2.2 Representaciones de cdigo
Intermedio.
A continuacin analizaremos algunas de las maneras ms bsicas de representar el cdigo
intermedio.
2.2.2 Cdigo P
EL cdigo p fue en un inicio un cdigo ensamblador cuyo objetivo principal era producido por varios
compiladores Pascal alrededor de los aos 70 y 80. Este Cdigo fue inicialmente diseado para
cdigo real para una mquina de pila hipottica asumiendo la idea que era lograr que los
compiladores de pascal pudieran transportarse de manera sencilla requiriendo solo que se
regresara a escribir el cdigo de intrprete de la maquina P para una plataforma, el cdigo P tambin
demostr ser de gran utilidad como cdigo intermedio y ha sido utilizado en varias extensiones y
modificaciones de el mismo en distintos compiladores de cdigo nativo, en su mayora de lenguaje
de similitud a pascal.
2.2.3 Triplos
Las proposiciones que cuenta con 3 direcciones se parecen demasiado a el ensamblador el cual es
un lenguaje de tipo intermedio ms fcil de diferir por parte de la mquina. El inconveniente que
pudiere presentarse al usar cudruplos es que se tienen que insertar algunos valores de carcter
temporal en la tabla de smbolos. Con una estructura de tres campos esto no es as, los valores
temporales quedan omitido.
La estructura de un triplo puede presentarse as:
(Operador, Operando 1, Operando 2).
Y el resultado de esta cuenta se ver asociado con el nmero de la tripleta que se est trabajando.
4
2.2.4 Cudruplos.
Las cudruplas o cudruplos son formas que asignan mayor facilidad a la aplicacin de muchas
optimizaciones, pero se debe de tener un algoritmo para poder llevar a cabo la reutilizacin de las
variables temporales y poder reutilizar los registros del procesador para hacer el proceso ms gil.
La estructura que toma un registro de cuatro campos es la siguiente
(Operador, Operando 1, Operando 2, Resultado)
AL tomar esta estructura el operador 1, operador 2 y el resultado pueden tomarse en forma de
constantes, identificadores o variable temporal definidas por el compilador.
5
2.3 Esquema de generacin
Los esquemas de generacin son las estrategias o acciones que se debern realizarse y tomarse en
cuenta en el momento de generar cdigo intermedio.
Los esquemas de generacin dependen de cada lenguaje. Tomaremos algunos esquemas de
generacin del lenguaje C.
2.3.2 Expresiones.
Esta funcin recibe una cadena que significa una lnea de cdigo intermedio y toma las medidas
oportunas para que este cdigo pueda ser utilizado. Estas medidas pueden tomar la escritura de
una lnea dentro de un fichero respectivo, para poder almacenar la instruccin en una lista que mas
adelante podr pasarse a otros mdulos que llegramos a necesitar en nuestro compilador de
cdigo.
v = 42
En esta expresin podemos ver que la variable V est tomando el valor de 42 que est justo a la
derecha del operador de igualdad.
6
2.3.4 Instrucciones de control
Las instrucciones de control son aquellas que nos permiten variar o alterar la secuencia normal de
ejecucin de un programa. Prcticamente la totalidad de lenguajes de programacin de alto nivel
soportan tres tipos de 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.
2.3.5 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.
Las funciones pueden reducir a en lnea. Lo que se hace es expandir el cdigo original de la funcin.
Las funciones se descomponen simplificando los parmetros de manera individual al igual que el
valor de retorno.
Ejemplo:
cuadrado(); //Declaramos la funcin
// regresar el cuadrado de un nmero
double cuadrado(double n)
{
return n*n;
}
7
Conclusin
Para que un compilador lleve a cabo completamente su funcin de transformar el cdigo fuente a
cdigo maquina debe de cumplir y asimilar estas reglas de cdigo intermedio para que de esta
manera ensamble un cdigo correcto que pueda ser fcil de interpretar por parte del procesador y
asi realizar la instruccin que se le est indicando a este.
BIBLIOGRAFIA.
Aho, A. V. (1986). Compiladores. Principios, Tecnicas y Herramientas. Mexico: Pearson.
Aho, A. V. (2008). Compiladores. Principios, Tecnicas y Herramientas, Segunda Edicion. Mexico:
Pearson.