SlideShare a Scribd company logo
1 of 33
[object Object],[object Object],[object Object],[object Object]
Se puede definir un lenguaje de programación describiendo el aspecto de sus programas (la sintaxis del lenguaje) y el significado de sus programas (la semántica del lenguaje).
Para especificar la sintaxis de un lenguaje se presenta una notación muy usada llamada gramáticas independientes del contexto o BNF (Forma de Backus – Naur). Con las notaciones disponibles hoy, es mucho más difícil describir la semántica de un lenguaje que su sintaxis. Para especificar la semántica de un lenguaje se usarán descripciones informales y ejemplos ilustrativos.
Una gramática independiente del contexto se puede usar para guiar la traducción de programas y además sirve para especificar la sintaxis de un lenguaje.  Una técnica de compilación orientada a la gramática, conocida como  traducción dirigida por la sintaxis , es muy útil para organizar la etapa inicial de un compilador
.En este compilador el analizador léxico convierte la cadena de caracteres de entrada en una cadena de componentes léxicos que se convierte en la entrada para la siguiente fase. ANALIZADOR LEXICO TRADUCTOR DIRIGIDO POR LA SINTAXIS Cadena de caracteres Cadena de componentes léxicos Representación intermedia
El “traductor dirigido por la sintaxis, es una combinación de un analizador sintáctico y un generador e código intermedio. Una razón para empezar con expresiones formadas por dígitos y operadores consiste en hacer que el analizador léxico sea en un principio muy fácil. Cada carácter de entrada forma un conjunto léxico único
Gramática independiente del contexto (para abreviar, gramática) para especificar la sintaxis de un lenguaje. Una gramática describe de forma natural la estructura jerárquica de muchas construcciones de los lenguajes de programación. Por ejemplo  if  –  else  en C tiene la forma  if  (expresión) proposición  else proposición
Empleando la variable  expr  para denotar una expresión, y la variable prop, para una proposición Se expresa: prop     if  (expr) prop  else  prop Donde es posible leer la flecha como “puede tener la forma”, dicha regla se denomina producción.
En una producción, los elementos léxicos, como la palabra clave  if  y los paréntesis, se llaman componentes léxicos. Las  variables  expr  y  prop  representan secuencias de componentes léxicos y se llaman no terminales.
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
Ejemplos:  Se utilizan expresiones formadas por dígitos y signos  más  y  menos,   sea el caso, 9-5+2, 3-1,, y 7. Como un signo  más  o  menos  debe aparecer entre dos dígitos, se dice de dichas expresiones que son “listas de dígitos separados por signos  más  o  menos”.  De acuerdo con las convenciones, los componentes léxicos de la gramática son los símbolos +  -  0  1  2  3  4  5  6  7  8  9
Los no terminales son los nombres en  cursva lista  y  dígito,  siendo  lista   el no terminal inicial, porque sus producciones se dieron primero Se dice que una producción es  para  un no terminal si el no terminal aparece en el lado izquierdo de la producción. Una cadena de componentes léxicos es una secuencia de cero o más componentes léxicos. La cadena que contiene cero componentes léxicos, que se escribe  є ,  recibe el nombre de cadena vacía.
Indica gráficamente cómo del símbolo inicial de una gramática deriva una cadena de lenguaje. Si el no terminal A tiene una producción A    XYZ, entonces un árbol de análisis sintáctico puede tener un nodo interior etiquetado con A y tres hijos etiquetados con X, Y y Z, de izquierda a derecha: A X Y Z
[object Object],[object Object],[object Object],[object Object],[object Object]
Ejemplo:  En la figura la raíz está etiquetada con  lista,  que es el símbolo inicial de la gramática del ejemplo inicial. Los hijos de la raíz están etiquetados, de izquierda a derecha,  lista +,   y dígito.  Obsérvese que  Lista     lista + dígito  Es una producción en la gramática del ejemplo 1. el mismo patrón – se repite en el hijo izquierdo de la raíz, y cada uno de los tres nodos, etiquetados con  dígito  tiene un hijo que está etiquetado con un dígito.
Se ha de tener cuidado al considerar la estructura de una cadena según una gramática. Aunque es evidente que cada árbol de análisis sintáctico deriva exactamente la cadena que se lee en sus hojas, una gramática puede tener más de un árbol de análisis sintáctico que genere una cadena dada de componentes léxicos.  Para demostrar que una gramática es ambigua, lo único que se requiere es encontrar una cadena de componentes léxicos que tenga más de un árbol de análisis sintáctico.
Como una cadena que cuenta con más de un árbol de análisis sintáctico suele tener más de un significado, para aplicaciones de compilación es necesario diseñar gramáticas no ambiguas o utilizar gramáticas ambiguas con reglas adicionales para resolver las ambigüedades. Supóngase que no se hizo la distinción entre dígitos y listas según el ejemplo 1, se podía haber escrito la gramática:  Cadena    cadena + cadena   cadena – cadena    0   1   2   3   4   5   6   7   8   9
Precedencia y asociatividad de operadores La precedencia de operadores especifica cómo se agrupan las expresiones_ Por ejemplo, en la expresión 1 + 5 * 3, la respuesta es 16 y no 18 porque el operador de multiplicación ("*") tiene una mayor precedencia que el de adición ("+")_ La siguiente tabla lista la precedencia de operadores, indicándose primero los de menor precedencia_
Precedencia de Operadores
Precedencia de Operadores
OBJETIVO : La traducción de un lenguaje guiada por la gramática context free que lo define. IDEA BASICA :    Asociar información con las construcciones del lenguaje asociando  atributos  con los símbolos de la gramática.    Los valores de los atributos son calculados por medio de  reglas semánticas  asociadas con las producciones de la gramática. Existen dos mecanismos usados en la construcción de compildores para especificar la semántica y traducción de las construcciones del lenguaje usando gramáticas de atributos.  Traduccion dirigida por sintaxis
[object Object],[object Object]
ESTRUCTURA DE UN COMPILADOR USANDO DDS
GRAFOS DE DEPENDENCIAS ,[object Object],[object Object],[object Object],[object Object]
FORMA DE UNA DDS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],(Definición dirigida por la sintaxis
NOTACION ,[object Object],[object Object],[object Object]
EJEMPLO DE DDS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
 
 
 
 

More Related Content

What's hot

Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
Universidad
 
El papel del analizador sintáctico
El papel del analizador sintácticoEl papel del analizador sintáctico
El papel del analizador sintáctico
Hector Espinosa
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
guest5fa3fc
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
Carlos Chevez
 

What's hot (20)

Compiladores, Analisis Lexico
Compiladores, Analisis LexicoCompiladores, Analisis Lexico
Compiladores, Analisis Lexico
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
 
Apuntes compiladores
Apuntes compiladoresApuntes compiladores
Apuntes compiladores
 
Compiladores, Analisis Lexico, Tabla de Transiciones
Compiladores, Analisis Lexico, Tabla de TransicionesCompiladores, Analisis Lexico, Tabla de Transiciones
Compiladores, Analisis Lexico, Tabla de Transiciones
 
GRAMATICAS AMBIGUAS
GRAMATICAS AMBIGUASGRAMATICAS AMBIGUAS
GRAMATICAS AMBIGUAS
 
Ud2 el modelo relacional
Ud2  el modelo relacionalUd2  el modelo relacional
Ud2 el modelo relacional
 
Compilador Exp
Compilador ExpCompilador Exp
Compilador Exp
 
El papel del analizador sintáctico
El papel del analizador sintácticoEl papel del analizador sintáctico
El papel del analizador sintáctico
 
Incorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos CompiladoresIncorporacion De Una Tabla De Simbolos Compiladores
Incorporacion De Una Tabla De Simbolos Compiladores
 
Maria reyes
Maria reyesMaria reyes
Maria reyes
 
Expresiones regulares edward
Expresiones regulares edwardExpresiones regulares edward
Expresiones regulares edward
 
TABLA DE SIMBOLOS
TABLA DE SIMBOLOSTABLA DE SIMBOLOS
TABLA DE SIMBOLOS
 
sintaxis de los lenguajes de programación
sintaxis de los lenguajes de programaciónsintaxis de los lenguajes de programación
sintaxis de los lenguajes de programación
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
LENGUAJES LIBRES DE CONTEXTO Y GRAMATICA LIBRES DE CONTEXTO
 
CONSTANTES
CONSTANTES CONSTANTES
CONSTANTES
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 

Viewers also liked (12)

Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador Sintáctico
 
Tds
TdsTds
Tds
 
Opiniones acerca del rol del intérprete
Opiniones acerca del rol del intérpreteOpiniones acerca del rol del intérprete
Opiniones acerca del rol del intérprete
 
Cuadro sinóptico sistema de información integral
Cuadro sinóptico sistema de información integralCuadro sinóptico sistema de información integral
Cuadro sinóptico sistema de información integral
 
Automatas y compiladores analisis sintactico
Automatas y compiladores analisis sintacticoAutomatas y compiladores analisis sintactico
Automatas y compiladores analisis sintactico
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Interprete vs compilador
Interprete vs compiladorInterprete vs compilador
Interprete vs compilador
 
Automatas finitos
Automatas finitosAutomatas finitos
Automatas finitos
 
Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico Actividad 2 Analizador léxico, sintáctico y semántico
Actividad 2 Analizador léxico, sintáctico y semántico
 
Sistemas De Información Gerencial
Sistemas De Información GerencialSistemas De Información Gerencial
Sistemas De Información Gerencial
 
DiseñO De Compilador
DiseñO De CompiladorDiseñO De Compilador
DiseñO De Compilador
 
Analizador léxico
Analizador léxico Analizador léxico
Analizador léxico
 

Similar to Compiladores1

Analisis lexico 1
Analisis lexico 1Analisis lexico 1
Analisis lexico 1
perlallamas
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
FARIDROJAS
 
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos CompiladoresCompiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
jose haar
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gio
Robert Wolf
 
Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares fin
mariellitaocj
 

Similar to Compiladores1 (20)

Compilador2
Compilador2Compilador2
Compilador2
 
Lenguajes formales y teoría de autómatas I.pdf
Lenguajes formales y teoría de autómatas I.pdfLenguajes formales y teoría de autómatas I.pdf
Lenguajes formales y teoría de autómatas I.pdf
 
Analisis sintactico
Analisis sintacticoAnalisis sintactico
Analisis sintactico
 
Análisis Sintáctico
Análisis SintácticoAnálisis Sintáctico
Análisis Sintáctico
 
Analisis lexico 1
Analisis lexico 1Analisis lexico 1
Analisis lexico 1
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
 
Clase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexicoClase6 conceptos del analisis lexico
Clase6 conceptos del analisis lexico
 
Gramatica libre de contexto
Gramatica libre de contextoGramatica libre de contexto
Gramatica libre de contexto
 
Gramática y autómatas
Gramática y autómatasGramática y autómatas
Gramática y autómatas
 
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos CompiladoresCompiladores - Incorporacion de una Tabla de Simbolos Compiladores
Compiladores - Incorporacion de una Tabla de Simbolos Compiladores
 
Taller analisis semantico
Taller analisis semanticoTaller analisis semantico
Taller analisis semantico
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gio
 
Expresiones regulares fin
Expresiones regulares finExpresiones regulares fin
Expresiones regulares fin
 
Analizador Sintactico
Analizador SintacticoAnalizador Sintactico
Analizador Sintactico
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
 
Compiladores analizadores gramática y algo mas
Compiladores analizadores gramática y algo masCompiladores analizadores gramática y algo mas
Compiladores analizadores gramática y algo mas
 
Curso prog sist
Curso prog sistCurso prog sist
Curso prog sist
 
Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 

More from FARIDROJAS (9)

Evauacion desempeño 1278 ppt
Evauacion desempeño 1278 pptEvauacion desempeño 1278 ppt
Evauacion desempeño 1278 ppt
 
Homenaje A Belen Falla2
Homenaje A Belen Falla2Homenaje A Belen Falla2
Homenaje A Belen Falla2
 
Conceptos BáSicos Io
Conceptos BáSicos IoConceptos BáSicos Io
Conceptos BáSicos Io
 
Ondas Maestros 2006
Ondas Maestros 2006Ondas Maestros 2006
Ondas Maestros 2006
 
Anteproyectosesionoctubre18
Anteproyectosesionoctubre18Anteproyectosesionoctubre18
Anteproyectosesionoctubre18
 
Compilador
CompiladorCompilador
Compilador
 
Aguirre Jimenez
Aguirre JimenezAguirre Jimenez
Aguirre Jimenez
 
ANTEPROYECTO
ANTEPROYECTOANTEPROYECTO
ANTEPROYECTO
 
Validacion Y Verificacion
Validacion Y VerificacionValidacion Y Verificacion
Validacion Y Verificacion
 

Recently uploaded

Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
zulyvero07
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 

Recently uploaded (20)

La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 

Compiladores1

  • 1.
  • 2. Se puede definir un lenguaje de programación describiendo el aspecto de sus programas (la sintaxis del lenguaje) y el significado de sus programas (la semántica del lenguaje).
  • 3. Para especificar la sintaxis de un lenguaje se presenta una notación muy usada llamada gramáticas independientes del contexto o BNF (Forma de Backus – Naur). Con las notaciones disponibles hoy, es mucho más difícil describir la semántica de un lenguaje que su sintaxis. Para especificar la semántica de un lenguaje se usarán descripciones informales y ejemplos ilustrativos.
  • 4. Una gramática independiente del contexto se puede usar para guiar la traducción de programas y además sirve para especificar la sintaxis de un lenguaje. Una técnica de compilación orientada a la gramática, conocida como traducción dirigida por la sintaxis , es muy útil para organizar la etapa inicial de un compilador
  • 5. .En este compilador el analizador léxico convierte la cadena de caracteres de entrada en una cadena de componentes léxicos que se convierte en la entrada para la siguiente fase. ANALIZADOR LEXICO TRADUCTOR DIRIGIDO POR LA SINTAXIS Cadena de caracteres Cadena de componentes léxicos Representación intermedia
  • 6. El “traductor dirigido por la sintaxis, es una combinación de un analizador sintáctico y un generador e código intermedio. Una razón para empezar con expresiones formadas por dígitos y operadores consiste en hacer que el analizador léxico sea en un principio muy fácil. Cada carácter de entrada forma un conjunto léxico único
  • 7. Gramática independiente del contexto (para abreviar, gramática) para especificar la sintaxis de un lenguaje. Una gramática describe de forma natural la estructura jerárquica de muchas construcciones de los lenguajes de programación. Por ejemplo if – else en C tiene la forma if (expresión) proposición else proposición
  • 8. Empleando la variable expr para denotar una expresión, y la variable prop, para una proposición Se expresa: prop  if (expr) prop else prop Donde es posible leer la flecha como “puede tener la forma”, dicha regla se denomina producción.
  • 9. En una producción, los elementos léxicos, como la palabra clave if y los paréntesis, se llaman componentes léxicos. Las variables expr y prop representan secuencias de componentes léxicos y se llaman no terminales.
  • 10.
  • 11.
  • 12. Ejemplos: Se utilizan expresiones formadas por dígitos y signos más y menos, sea el caso, 9-5+2, 3-1,, y 7. Como un signo más o menos debe aparecer entre dos dígitos, se dice de dichas expresiones que son “listas de dígitos separados por signos más o menos”. De acuerdo con las convenciones, los componentes léxicos de la gramática son los símbolos + - 0 1 2 3 4 5 6 7 8 9
  • 13. Los no terminales son los nombres en cursva lista y dígito, siendo lista el no terminal inicial, porque sus producciones se dieron primero Se dice que una producción es para un no terminal si el no terminal aparece en el lado izquierdo de la producción. Una cadena de componentes léxicos es una secuencia de cero o más componentes léxicos. La cadena que contiene cero componentes léxicos, que se escribe є , recibe el nombre de cadena vacía.
  • 14. Indica gráficamente cómo del símbolo inicial de una gramática deriva una cadena de lenguaje. Si el no terminal A tiene una producción A  XYZ, entonces un árbol de análisis sintáctico puede tener un nodo interior etiquetado con A y tres hijos etiquetados con X, Y y Z, de izquierda a derecha: A X Y Z
  • 15.
  • 16. Ejemplo: En la figura la raíz está etiquetada con lista, que es el símbolo inicial de la gramática del ejemplo inicial. Los hijos de la raíz están etiquetados, de izquierda a derecha, lista +, y dígito. Obsérvese que Lista  lista + dígito Es una producción en la gramática del ejemplo 1. el mismo patrón – se repite en el hijo izquierdo de la raíz, y cada uno de los tres nodos, etiquetados con dígito tiene un hijo que está etiquetado con un dígito.
  • 17. Se ha de tener cuidado al considerar la estructura de una cadena según una gramática. Aunque es evidente que cada árbol de análisis sintáctico deriva exactamente la cadena que se lee en sus hojas, una gramática puede tener más de un árbol de análisis sintáctico que genere una cadena dada de componentes léxicos. Para demostrar que una gramática es ambigua, lo único que se requiere es encontrar una cadena de componentes léxicos que tenga más de un árbol de análisis sintáctico.
  • 18. Como una cadena que cuenta con más de un árbol de análisis sintáctico suele tener más de un significado, para aplicaciones de compilación es necesario diseñar gramáticas no ambiguas o utilizar gramáticas ambiguas con reglas adicionales para resolver las ambigüedades. Supóngase que no se hizo la distinción entre dígitos y listas según el ejemplo 1, se podía haber escrito la gramática: Cadena  cadena + cadena  cadena – cadena   0  1  2  3  4  5  6  7  8  9
  • 19. Precedencia y asociatividad de operadores La precedencia de operadores especifica cómo se agrupan las expresiones_ Por ejemplo, en la expresión 1 + 5 * 3, la respuesta es 16 y no 18 porque el operador de multiplicación ("*") tiene una mayor precedencia que el de adición ("+")_ La siguiente tabla lista la precedencia de operadores, indicándose primero los de menor precedencia_
  • 22. OBJETIVO : La traducción de un lenguaje guiada por la gramática context free que lo define. IDEA BASICA :  Asociar información con las construcciones del lenguaje asociando atributos con los símbolos de la gramática.  Los valores de los atributos son calculados por medio de reglas semánticas asociadas con las producciones de la gramática. Existen dos mecanismos usados en la construcción de compildores para especificar la semántica y traducción de las construcciones del lenguaje usando gramáticas de atributos. Traduccion dirigida por sintaxis
  • 23.
  • 24. ESTRUCTURA DE UN COMPILADOR USANDO DDS
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.  
  • 30.  
  • 31.  
  • 32.  
  • 33.