SlideShare una empresa de Scribd logo
1 de 6
Lenguajes de Programación  Estructura de compiladores.  “ Generador de código intermedio ” Expositores:  Guillermo, Oscar y Daniel.
Etapas de compilación
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.
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:
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.
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Introducción A Compiladores
Introducción A Compiladores Introducción A Compiladores
Introducción A Compiladores
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Introducción al lenguaje c++
Introducción al lenguaje c++Introducción al lenguaje c++
Introducción al lenguaje c++
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Estructura
EstructuraEstructura
Estructura
 
Estructura basica de_c_
Estructura basica de_c_Estructura basica de_c_
Estructura basica de_c_
 
Estructura basica para c++
Estructura basica para c++Estructura basica para c++
Estructura basica para c++
 
Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++
 
Tipos de datos entrada y salida
Tipos de datos entrada y salidaTipos de datos entrada y salida
Tipos de datos entrada y salida
 
Estructura Básica para C++
Estructura Básica para C++Estructura Básica para C++
Estructura Básica para C++
 
Int. programacion
Int. programacionInt. programacion
Int. programacion
 
Lenguaje c 12
Lenguaje c 12Lenguaje c 12
Lenguaje c 12
 
Sintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensambladorSintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensamblador
 
Lenguaje de programacion en c
Lenguaje de programacion en cLenguaje de programacion en c
Lenguaje de programacion en c
 
Quiz semana2 programacion c++
Quiz semana2 programacion c++Quiz semana2 programacion c++
Quiz semana2 programacion c++
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Metodologia1
Metodologia1Metodologia1
Metodologia1
 

Similar a C:\fakepath\generador de codigo_intermedio

Cap4
Cap4Cap4
Cap4CJAO
 
compiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladorescompiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladoresBEVERLYIGUARDIA
 
Compiladores Ex..ppt
Compiladores Ex..pptCompiladores Ex..ppt
Compiladores Ex..pptMarko Zapata
 
Informacion sobre los compiladores y sus funciones
Informacion sobre los compiladores y sus funcionesInformacion sobre los compiladores y sus funciones
Informacion sobre los compiladores y sus funcionesFrancescoReinaga1
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a CompiladoresLeopoldo Capa
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iRossana Sosa
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1udalrico
 
Compiladores
CompiladoresCompiladores
Compiladoresjose haar
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2perlallamas
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Nilson Payares
 

Similar a C:\fakepath\generador de codigo_intermedio (20)

Cap4
Cap4Cap4
Cap4
 
compiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladorescompiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladores
 
Compiladores Ex..ppt
Compiladores Ex..pptCompiladores Ex..ppt
Compiladores Ex..ppt
 
Compilador
CompiladorCompilador
Compilador
 
Informacion sobre los compiladores y sus funciones
Informacion sobre los compiladores y sus funcionesInformacion sobre los compiladores y sus funciones
Informacion sobre los compiladores y sus funciones
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a Compiladores
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Compilador
CompiladorCompilador
Compilador
 
Compiladores conceptos
Compiladores conceptosCompiladores conceptos
Compiladores conceptos
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Analizador Lexico
Analizador LexicoAnalizador Lexico
Analizador Lexico
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Lenguaje
LenguajeLenguaje
Lenguaje
 
Compiladores
CompiladoresCompiladores
Compiladores
 

Más de Oscar Jose

Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedioOscar Jose
 
Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedioOscar Jose
 

Más de Oscar Jose (10)

Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
 
Palindromos
PalindromosPalindromos
Palindromos
 
Palindromos
PalindromosPalindromos
Palindromos
 
Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedio
 
Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedio
 

C:\fakepath\generador de codigo_intermedio

  • 1. Lenguajes de Programación Estructura de compiladores. “ Generador de código intermedio ” Expositores: Guillermo, Oscar y Daniel.
  • 3. 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.
  • 4. 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:
  • 5. 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.
  • 6. 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