SlideShare uma empresa Scribd logo
1 de 12
1.5  GENERADORES  DE CODIGO  PARA COMPILADORES (COMPILADOR DE COMPILADORES) MAYRA HERNANDEZ GALINDO NAYELI HERNANDEZ MELLADO ELIZABETH RAMIREZ LUNA DESLY SANCHEZ JUAREZ
INTRODUCCION Aquí se hablará de las herramientas generadoras automáticas de código para un compilador. Estas herramientas trabajan basadas en un conjunto de reglas; estas reglas definen la traducción de las instrucciones del lenguaje intermedio al lenguaje de máquina.
OBJETIVO El compilador recibe una entrada de caracteres, por lo general escrita por el programador.  El compilador realiza los análisis: léxico, sintáctico y semántico, para generar seguidamente el código intermedio. Se hace la optimización del código intermedio. Realiza la generación de código objeto en lenguaje de máquina.
Un compilador o compilador generador es una herramienta que crea un programa de análisis , intérpreteo compilador de algún tipo de descripción formal de un lenguaje y una maquina. La más antigua y aún más común forma de compilador de compilador es un generador de analizadores sintácticos, cuya entrada es una gramática de un lenguaje de programación, y cuya salida se genera el código fuente de un analizador utiliza a menudo como un componente de un compilador .
Un programa de análisis típicos asociados generador de código ejecutable con cada una de las reglas de la gramática que debe ser ejecutado cuando estas normas sean aplicadas por el analizador.  Se refieren a veces como las rutinas de acción semántica ya que definen la semántica de la estructura sintáctica que se analiza por el intérprete.
     Compiladores experimentales toma como entrada una descripción formal de la semántica del lenguaje de programación, por lo general utilizando semántica denotativa
Compilador de compiladores existen en diferentes formas, incluida la de abajo hacia arriba reescribir generadores máquina  utilizado para los árboles de sintaxis baldosas en función de una reescritura de la gramática . ANTLR puede ser utilizado para la comprobación de tipos simultánea, constante propagación, y más durante la fase de análisis.  ANTLR es un software desarrollado en JAVA
El uso de una sola herramienta para todos los niveles tiene varias ventajas       La más importante es la “estandarización”: con ANTLR basta con comprender el  paradigma de análisis una vez para poder implementar todas las fases de análisis. flex está basado en autómatas finitos deterministas y bison en un analizador LALR), además de necesitar de otras herramientas para  realizar el análisis semántico.
CONCLUSIONES Para crear un generador de código se deben hacer muchas de las tareas que realizan los compiladores; algunas de estas tareas son:  La búsqueda de patrones, la escritura de código, el análisis sintáctico, el análisis léxico y la optimización de código.
BIBLIOGRAFIA http://translate.google.com.mx/translate?hl=es&langpair=en|es&u=http://en.wikipedia.org/wiki/Compiler-compiler   http://www.uco.es/users/ma1fegan/pl/practicas/ANTLR/Introduccion-ANTLR.pdf   Libro: Compiladores
CUESTIONARIO ¿Qué es un compilador generador  ? Que es  ANTLR? Para que se utiliza ANTLR? Que análisis realiza el compilador ?

Mais conteúdo relacionado

Mais procurados

Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
Pablo Guerra
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
Verónica Es'Loo
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++
ivanjvic
 
Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajes
Alex Javier
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
AlexandraMolinaSanchez
 

Mais procurados (20)

Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 
Decompilador y metacompilador
Decompilador y metacompiladorDecompilador y metacompilador
Decompilador y metacompilador
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
Lenguajes libre de contexto
Lenguajes libre de contextoLenguajes libre de contexto
Lenguajes libre de contexto
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de software
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Teoría de Autómatas y Lenguajes Formales (I Bimestre)Teoría de Autómatas y Lenguajes Formales (I Bimestre)
Teoría de Autómatas y Lenguajes Formales (I Bimestre)
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
 
Clasificasion de lenguajes
Clasificasion de lenguajesClasificasion de lenguajes
Clasificasion de lenguajes
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Tabla De Transicion
Tabla De TransicionTabla De Transicion
Tabla De Transicion
 

Semelhante a 1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES)

Repuesto de expo_de_programacion
Repuesto de expo_de_programacionRepuesto de expo_de_programacion
Repuesto de expo_de_programacion
nayeli hernandez
 
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
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1
X3025990
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
NancyandRegina317
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
DLACGP
 

Semelhante a 1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES) (20)

Repuesto de expo_de_programacion
Repuesto de expo_de_programacionRepuesto de expo_de_programacion
Repuesto de expo_de_programacion
 
Grupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes iGrupo 1 proceso de lenguajes i
Grupo 1 proceso de lenguajes i
 
Materia unidad compiladores
Materia unidad compiladoresMateria unidad compiladores
Materia unidad compiladores
 
Compiladores unidad1
Compiladores unidad1Compiladores unidad1
Compiladores unidad1
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Evolucion de los compiladores1
Evolucion de los compiladores1Evolucion de los compiladores1
Evolucion de los compiladores1
 
H:\compiladores
H:\compiladoresH:\compiladores
H:\compiladores
 
C:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladoresC:\documents and settings\clientea\mis documentos\compiladores
C:\documents and settings\clientea\mis documentos\compiladores
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
C:\fakepath\compilador
C:\fakepath\compiladorC:\fakepath\compilador
C:\fakepath\compilador
 
Algoritmos1
Algoritmos1Algoritmos1
Algoritmos1
 
Presentación1
Presentación1Presentación1
Presentación1
 
Presentación1
Presentación1Presentación1
Presentación1
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
Unidad I Conceptos Básicos
Unidad I Conceptos BásicosUnidad I Conceptos Básicos
Unidad I Conceptos Básicos
 
Compilador Funcionamiento
Compilador FuncionamientoCompilador Funcionamiento
Compilador Funcionamiento
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Presentación computación 1_compiladores_e_interpretes
Presentación computación 1_compiladores_e_interpretesPresentación computación 1_compiladores_e_interpretes
Presentación computación 1_compiladores_e_interpretes
 

Último

RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
EduardoJosVargasCama1
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 

1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES)

  • 1. 1.5 GENERADORES DE CODIGO PARA COMPILADORES (COMPILADOR DE COMPILADORES) MAYRA HERNANDEZ GALINDO NAYELI HERNANDEZ MELLADO ELIZABETH RAMIREZ LUNA DESLY SANCHEZ JUAREZ
  • 2. INTRODUCCION Aquí se hablará de las herramientas generadoras automáticas de código para un compilador. Estas herramientas trabajan basadas en un conjunto de reglas; estas reglas definen la traducción de las instrucciones del lenguaje intermedio al lenguaje de máquina.
  • 3. OBJETIVO El compilador recibe una entrada de caracteres, por lo general escrita por el programador. El compilador realiza los análisis: léxico, sintáctico y semántico, para generar seguidamente el código intermedio. Se hace la optimización del código intermedio. Realiza la generación de código objeto en lenguaje de máquina.
  • 4. Un compilador o compilador generador es una herramienta que crea un programa de análisis , intérpreteo compilador de algún tipo de descripción formal de un lenguaje y una maquina. La más antigua y aún más común forma de compilador de compilador es un generador de analizadores sintácticos, cuya entrada es una gramática de un lenguaje de programación, y cuya salida se genera el código fuente de un analizador utiliza a menudo como un componente de un compilador .
  • 5. Un programa de análisis típicos asociados generador de código ejecutable con cada una de las reglas de la gramática que debe ser ejecutado cuando estas normas sean aplicadas por el analizador. Se refieren a veces como las rutinas de acción semántica ya que definen la semántica de la estructura sintáctica que se analiza por el intérprete.
  • 6. Compiladores experimentales toma como entrada una descripción formal de la semántica del lenguaje de programación, por lo general utilizando semántica denotativa
  • 7. Compilador de compiladores existen en diferentes formas, incluida la de abajo hacia arriba reescribir generadores máquina utilizado para los árboles de sintaxis baldosas en función de una reescritura de la gramática . ANTLR puede ser utilizado para la comprobación de tipos simultánea, constante propagación, y más durante la fase de análisis. ANTLR es un software desarrollado en JAVA
  • 8. El uso de una sola herramienta para todos los niveles tiene varias ventajas La más importante es la “estandarización”: con ANTLR basta con comprender el paradigma de análisis una vez para poder implementar todas las fases de análisis. flex está basado en autómatas finitos deterministas y bison en un analizador LALR), además de necesitar de otras herramientas para realizar el análisis semántico.
  • 9.
  • 10. CONCLUSIONES Para crear un generador de código se deben hacer muchas de las tareas que realizan los compiladores; algunas de estas tareas son: La búsqueda de patrones, la escritura de código, el análisis sintáctico, el análisis léxico y la optimización de código.
  • 11. BIBLIOGRAFIA http://translate.google.com.mx/translate?hl=es&langpair=en|es&u=http://en.wikipedia.org/wiki/Compiler-compiler   http://www.uco.es/users/ma1fegan/pl/practicas/ANTLR/Introduccion-ANTLR.pdf   Libro: Compiladores
  • 12. CUESTIONARIO ¿Qué es un compilador generador ? Que es ANTLR? Para que se utiliza ANTLR? Que análisis realiza el compilador ?