generador de codigo_intermedio

6
Lenguajes de Programación Estructura de compiladores. “Generador de código intermedio ” Expositores: Guillermo, Oscar y Daniel.

Upload: oscar-jose

Post on 19-Jun-2015

277 views

Category:

Education


0 download

DESCRIPTION

Clase de Generador de codigo intermedio

TRANSCRIPT

Page 1: Generador de codigo_intermedio

Lenguajes de Programación

Estructura de compiladores. “Generador de código

intermedio ”

Expositores: Guillermo, Oscar y Daniel.

Page 2: Generador de codigo_intermedio

Etapas de compilación

Page 3: Generador de codigo_intermedio

Generador de Código Intermedio

Ya hemos pasado por las etapas de análisis léxico, sintáctico y semántico, ahora viene la etapa de generador de código intermedio.

El generador de código intermedio transforma la salida del análisis semántico, en una representación cercana a un lenguaje intermedio cercano al código objeto.

Esta representación intermedia debe tener dos propiedades importantes;debe ser fácil de producir y fácil de traducir al programa objeto.

Existen varias formas de representar el código intermedio, mediante árboles sintácticos, notación postfija y código de tres direcciones.

Page 4: Generador de codigo_intermedio

Código de tres direcciones.

El código de tres direcciones consiste en una secuencia de instrucciones, cada una de las cuales tiene como máximo tres operandos

Es un tipo de código que lo podemos representar en su forma general como la siguiente preposición:

x: =y op z

Donde “x”, ”y” y ” z” pueden ser nombres, constantes o variables temporales y” op” representa cualquier tipo de operador.

Por lo general se siguen tres reglas básicas para este método, las cuales son:

Page 5: Generador de codigo_intermedio

Código de tres direcciones.

Primera.- Cada instrucción de tres direcciones contiene por lo menos un operador, además de la asignación, por tanto, cuando se generan estas instrucciones,el traductor tiene que decidir el orden en que deben efectuarse las operaciones.

Segunda.- El traductor debe generar un nombre temporal para guardar los valores calculados por cada instrucción.

Tercera.- Algunas instrucciones de "tres direcciones" tienen menos de tres operandos, por ejemplo, la asignación.

Page 6: Generador de codigo_intermedio

Referencias recomendadas.

http://es.wikipedia.org/wiki/Compilador

http://pisuerga.inf.ubu.es/cgosorio/Docencia/PLFolder/UD5/GenCod.pdf

Compiladores: Principios técnicas y herramientas

http://freelibros.com/2009/06/compiladores-principios-tecnicas-y-herramientas.html