SlideShare una empresa de Scribd logo
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

Introducción A Compiladores
Introducción A Compiladores Introducción A Compiladores
Introducción A Compiladores
Nestor Traña
 
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++
Rosbelia Balza
 
Introducción al lenguaje c++
Introducción al lenguaje c++Introducción al lenguaje c++
Introducción al lenguaje c++
Krisna M. B. Ready S.
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
yaya
 
Estructura
EstructuraEstructura
Estructura
Efren Pacheco
 
Estructura basica de_c_
Estructura basica de_c_Estructura basica de_c_
Estructura basica de_c_
LaishaXime
 
Estructura basica para c++
Estructura basica para c++Estructura basica para c++
Estructura basica para c++
claravianeybadillodelangel
 
Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++Santaella u5 Lenguaje C++
Santaella u5 Lenguaje C++
José Ricardo Tillero Giménez
 
Tipos de datos entrada y salida
Tipos de datos entrada y salidaTipos de datos entrada y salida
Tipos de datos entrada y salida
Brahyan Marquez
 
Estructura Básica para C++
Estructura Básica para C++Estructura Básica para C++
Estructura Básica para C++
pilgrim15
 
Int. programacion
Int. programacionInt. programacion
Int. programacion
Walter Wilfredo
 
Lenguaje c 12
Lenguaje c 12Lenguaje c 12
Lenguaje c 12
AlejandraValentinaCo
 
Sintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensambladorSintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensamblador
naye torres
 
Lenguaje de programacion en c
Lenguaje de programacion en cLenguaje de programacion en c
Lenguaje de programacion en c
Nelly Gonzalez
 
Quiz semana2 programacion c++
Quiz semana2 programacion c++Quiz semana2 programacion c++
Quiz semana2 programacion c++
Lisett Zavaleta Sarmiento
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
Daniela Rojas
 
Metodologia1
Metodologia1Metodologia1
Metodologia1
Rodrigo Monjarás
 

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
Cap4
CJAO
 
compiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladorescompiladores.pptx presentación de compiladores
compiladores.pptx presentación de compiladores
BEVERLYIGUARDIA
 
Compiladores Ex..ppt
Compiladores Ex..pptCompiladores Ex..ppt
Compiladores Ex..ppt
Marko Zapata
 
Compilador
CompiladorCompilador
Compilador
FARIDROJAS
 
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
FrancescoReinaga1
 
Introducción a Compiladores
Introducción a  CompiladoresIntroducción a  Compiladores
Introducción a Compiladores
Leopoldo Capa
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
Rossana Sosa
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1
udalrico
 
Unidad1 2 Lenguajes y automatas
Unidad1 2  Lenguajes y automatasUnidad1 2  Lenguajes y automatas
Unidad1 2 Lenguajes y automatas
Sergio Lara Guevara
 
Compiladores
CompiladoresCompiladores
Compiladores
Calzada Meza
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Compilador
CompiladorCompilador
Compilador
Andy Custodio
 
Compiladores conceptos
Compiladores conceptosCompiladores conceptos
Compiladores conceptos
yan marco Vasquez Huayca
 
Compiladores
CompiladoresCompiladores
Compiladores
jose haar
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
MARCO POLO SILVA SEGOVIA
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
perlallamas
 
Analizador Lexico
Analizador LexicoAnalizador Lexico
Analizador Lexico
AMANDA DURAN
 
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
Nilson Payares
 
Lenguaje
LenguajeLenguaje
Lenguaje
Fernando Solis
 
Compiladores
CompiladoresCompiladores
Compiladores
Chocolatisima Cruperz
 

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

Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
Oscar Jose
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
Oscar Jose
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
Oscar Jose
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
Oscar Jose
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
Oscar Jose
 
Bfs en grafos
Bfs en grafosBfs en grafos
Bfs en grafos
Oscar Jose
 
Palindromos
PalindromosPalindromos
Palindromos
Oscar Jose
 
Palindromos
PalindromosPalindromos
Palindromos
Oscar Jose
 
Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedio
Oscar Jose
 
Generador de codigo_intermedio
Generador de codigo_intermedioGenerador de codigo_intermedio
Generador de codigo_intermedio
Oscar 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