SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Teoría de Autómatas y
    Compiladores

      Germania Rodríguez
     grrodriguez@utpl.edu.ec
Análisis Sintáctico
•  Determina la sintaxis, o estructura de un
   programa.
•  L a s i n t a x i s d e u n l e n g u a j e d e
   programación se lo determina mediante
   reglas gramaticales de una gramática libre
   de contexto similar a las ER en el análisis
   léxico con la diferencia que son recursivos.
•  Los algoritmos utilizados para reconocer
   estas estructuras difieren del léxico ya que
   utilizan llamadas recursivas o una pila de
   AS.
Análisis Sintáctico
•  El AS involucra tener que elegir entre
   varios métodos diferentes con sus
   propiedades y capacidades, existen dos
   categorías basados en la manera en que
   construyen el árbol de análisis gramáticas
   o sintáctico: descendente o ascendente.
Análisis Sintáctico – Proceso
             Código fuente
     Analizador léxico o rasterador
                 Tokens
         Analizador Sintáctico
             Árbol sintáctico
         Analizador Semántico
          Árbol con anotaciones
     Optimizador de código fuente
           Código intermedio
         Generador de código
             Código objetivo
     Optimizador de código objetivo
            Código Objetivo
Análisis Sintáctico - Proceso
•  La tarea del AS es determinar la estructura
   sintáctica de un programa a partir de los
   tokens producidos por el AL.
•  En resumen una función que toma como
   entrada la secuencia de tokens y salida el
   AS.

   Secuencia de tokens  árbol sintáctico
Análisis Sintáctico - Proceso
  – Compiladores de una pasada no generan árbol
    sintáctico explícito.
  – Compiladores de múltiples pasadas – las
    pasadas utilizaran el árbol como su entrada.
•  El árbol se define como estructura de datos
   dinámica, nodos, atributos, campos del
   atributo.
•  Manejo de errores, no solo mostrar
   mensaje sino recuperarse (inferir código
   corregido) y continuar el análisis, para
   encontrar tantos errores como sea posible.
Gramática: definiciones
•  Estructuras
•  Derivación directa
•  Gramáticas equivalentes
Gramática
•  Tipos
  – Tipo 3: Regulares de acuerdo al formato de
    producción pueden ser:
     •  Lineales a la derecha:
           A  aB
           Aa
     •  Lineales a la izquierda
           A  Ba
           Aa
  – Tipo 2: Libre de contexto
     •  A  B siempre independiente del contexto
Gramáticas
•  Tipos
  – Tipo 1: Sensibles al contexto

  – Tipo 0: Sin restricciones respecto a su formato
Gramáticas
Si el lenguaje Li generado por la gramática i
 entonces se cumple que
Gramática Libre de Contexto
•  Especificación para la estructura sintáctica
   de un lenguaje de programación, muy similar
   a la estructura léxica.




•  Se define a través de Reglas Gramaticales
   RG
Gramática Libre de Contexto:
      Comparación RG con las ER
•  Utilizan notación semejante en ER:
  – Operaciones ER: =, concatenación, selección
    |, repetición *,
  – Operaciones RG: , concatenación, selección
    |, recursividad.
  – Ejm:
     exp  exp op exp | (exp) | número
     op  + | - | *
  – Las ER son sobre caracteres y las RG son
    sobre tokens.
Derivación
RG
     exp  exp op exp | (exp) | número
     op  + | - | *


EJEMPLO:
   (34-3) * 42
Árbol de Análisis Sintáctico
RG
                   exp
             exp op exp

           (exp)    * número
      número – número
Árbol de Análisis Sintáctico Abstracto
RG
                  *
              -        42

         34        3
Bibliografía
•  Kenneth C. Louden, Construccion de Compiladores
   Principios Y Práctica
•  Universidad Jaume, Open Course Ware –II20 Teoría de
   autómatas y lenguajes formales en: http://e-ujier.uji.es/pls/
  w w w / ! g r i _ w w w . e u j i 2 2 1 0 1 ?
  p_id=7&p_tipo=A&p_curso=II20&p_idioma=ES

Weitere ähnliche Inhalte

Was ist angesagt?

Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajesPedro Contreras Flores
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salidaJorge Garcia
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turingAnel Sosa
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2perlallamas
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteJosé Antonio Sandoval Acosta
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSxinithazangels
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacionLuis Couoh
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 

Was ist angesagt? (20)

Estilos de programación y sus lenguajes
Estilos de programación y sus lenguajesEstilos de programación y sus lenguajes
Estilos de programación y sus lenguajes
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salida
 
Manual de instalacion
Manual de instalacionManual de instalacion
Manual de instalacion
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
Cuadro comparativo hilos
Cuadro comparativo hilosCuadro comparativo hilos
Cuadro comparativo hilos
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Topicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 EventosTopicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 Eventos
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrenteTopicos Avanzados de Programacion - Unidad 4 programacion concurrente
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOS
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 

Ähnlich wie Automatas y compiladores analisis sintactico

Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1Germania Rodriguez
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semanticoInfomania pro
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoRaul Gomez
 
Analisis sintactico actividad 15
Analisis sintactico actividad 15Analisis sintactico actividad 15
Analisis sintactico actividad 15AndresDvila
 
Compiladores analisis lexico
Compiladores analisis lexicoCompiladores analisis lexico
Compiladores analisis lexicoJhampier_Piedra
 
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptxERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptxAngelesAguilar29
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS Infomania pro
 
Analizador Sintactico
Analizador SintacticoAnalizador Sintactico
Analizador SintacticoBayo Chicaiza
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019DanielRosero23
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintácticoSantiago Andrade
 
Taller compiladores Análisis Semántico
Taller compiladores Análisis Semántico Taller compiladores Análisis Semántico
Taller compiladores Análisis Semántico Alex Toapanta
 
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 2Universidad
 
Cap6
Cap6Cap6
Cap6CJAO
 
diaposichap.pptx
diaposichap.pptxdiaposichap.pptx
diaposichap.pptxLuisSimn12
 

Ähnlich wie Automatas y compiladores analisis sintactico (20)

Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador Sintáctico
 
Analisis sintactico actividad 15
Analisis sintactico actividad 15Analisis sintactico actividad 15
Analisis sintactico actividad 15
 
Compiladores analisis lexico
Compiladores analisis lexicoCompiladores analisis lexico
Compiladores analisis lexico
 
Compilador2
Compilador2Compilador2
Compilador2
 
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptxERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
ERRORES LEXICOS Y GENERADORES DE ANALISIS LEXICOS.pptx
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Analizador Sintactico
Analizador SintacticoAnalizador Sintactico
Analizador Sintactico
 
ANALISIS SEMANTICO
ANALISIS SEMANTICO ANALISIS SEMANTICO
ANALISIS SEMANTICO
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019Taller de actividades de compiladores 06 06 2019
Taller de actividades de compiladores 06 06 2019
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
 
Taller compiladores Análisis Semántico
Taller compiladores Análisis Semántico Taller compiladores Análisis Semántico
Taller compiladores Análisis Semántico
 
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
 
Análisis Sintáctico
Análisis SintácticoAnálisis Sintáctico
Análisis Sintáctico
 
Cap6
Cap6Cap6
Cap6
 
diaposichap.pptx
diaposichap.pptxdiaposichap.pptx
diaposichap.pptx
 
Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 

Mehr von Germania Rodriguez

Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...Germania Rodriguez
 
Introducción gestión de proyectos informáticos
Introducción gestión de proyectos informáticosIntroducción gestión de proyectos informáticos
Introducción gestión de proyectos informáticosGermania Rodriguez
 
Tecnologías sociales para OCW
Tecnologías sociales para OCWTecnologías sociales para OCW
Tecnologías sociales para OCWGermania Rodriguez
 
Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial como programa de gestión, método de an...Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial como programa de gestión, método de an...Germania Rodriguez
 
Gestión de ti arquitectura empresarial
Gestión de ti arquitectura empresarialGestión de ti arquitectura empresarial
Gestión de ti arquitectura empresarialGermania Rodriguez
 
Gestión de ti introduccion cobit itil pmi
Gestión de ti introduccion cobit itil pmiGestión de ti introduccion cobit itil pmi
Gestión de ti introduccion cobit itil pmiGermania Rodriguez
 
Presentación Open Day Oportunidad UTPL
Presentación Open Day Oportunidad UTPLPresentación Open Day Oportunidad UTPL
Presentación Open Day Oportunidad UTPLGermania Rodriguez
 
Presentación ddi 2012 proyecto cepra
Presentación ddi 2012 proyecto cepraPresentación ddi 2012 proyecto cepra
Presentación ddi 2012 proyecto cepraGermania Rodriguez
 
Automatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoAutomatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoGermania Rodriguez
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoGermania Rodriguez
 
Automatas y compiladores clase4
Automatas y compiladores clase4Automatas y compiladores clase4
Automatas y compiladores clase4Germania Rodriguez
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3Germania Rodriguez
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2Germania Rodriguez
 
Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase3Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase3Germania Rodriguez
 
Arquitectura aplicaciones clase2
Arquitectura aplicaciones clase2Arquitectura aplicaciones clase2
Arquitectura aplicaciones clase2Germania Rodriguez
 
Sociedad de información evolucion ti
Sociedad de información evolucion tiSociedad de información evolucion ti
Sociedad de información evolucion tiGermania Rodriguez
 
IntroduccióN Sociedad De InformacióN
IntroduccióN Sociedad De InformacióNIntroduccióN Sociedad De InformacióN
IntroduccióN Sociedad De InformacióNGermania Rodriguez
 

Mehr von Germania Rodriguez (20)

Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
Marco de referencia para evaluar calidad de sitios OCW mediante atributos cis...
 
Gestión de proyectos PMBok
Gestión de proyectos PMBokGestión de proyectos PMBok
Gestión de proyectos PMBok
 
Introducción gestión de proyectos informáticos
Introducción gestión de proyectos informáticosIntroducción gestión de proyectos informáticos
Introducción gestión de proyectos informáticos
 
Tecnologías sociales para OCW
Tecnologías sociales para OCWTecnologías sociales para OCW
Tecnologías sociales para OCW
 
Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial como programa de gestión, método de an...Gestión de ti arquitectura empresarial como programa de gestión, método de an...
Gestión de ti arquitectura empresarial como programa de gestión, método de an...
 
Gestión de ti arquitectura empresarial
Gestión de ti arquitectura empresarialGestión de ti arquitectura empresarial
Gestión de ti arquitectura empresarial
 
Gestión de ti introduccion cobit itil pmi
Gestión de ti introduccion cobit itil pmiGestión de ti introduccion cobit itil pmi
Gestión de ti introduccion cobit itil pmi
 
Presentación Open Day Oportunidad UTPL
Presentación Open Day Oportunidad UTPLPresentación Open Day Oportunidad UTPL
Presentación Open Day Oportunidad UTPL
 
Presentación ddi 2012 proyecto cepra
Presentación ddi 2012 proyecto cepraPresentación ddi 2012 proyecto cepra
Presentación ddi 2012 proyecto cepra
 
Automatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxicoAutomatas y compiladores tablas de transición análisis léxico
Automatas y compiladores tablas de transición análisis léxico
 
Arquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseñoArquitectura aplicaciones Patrones de diseño
Arquitectura aplicaciones Patrones de diseño
 
Automatas y compiladores clase4
Automatas y compiladores clase4Automatas y compiladores clase4
Automatas y compiladores clase4
 
Automatas y compiladores clase3
Automatas y compiladores clase3Automatas y compiladores clase3
Automatas y compiladores clase3
 
Automatas y compiladores clase2
Automatas y compiladores clase2Automatas y compiladores clase2
Automatas y compiladores clase2
 
Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase3Arquitectura aplicaciones clase3
Arquitectura aplicaciones clase3
 
Arquitectura aplicaciones clase2
Arquitectura aplicaciones clase2Arquitectura aplicaciones clase2
Arquitectura aplicaciones clase2
 
Si nueva economia junio 2010
Si nueva economia junio 2010Si nueva economia junio 2010
Si nueva economia junio 2010
 
Sociedad de información evolucion ti
Sociedad de información evolucion tiSociedad de información evolucion ti
Sociedad de información evolucion ti
 
IntroduccióN Sociedad De InformacióN
IntroduccióN Sociedad De InformacióNIntroduccióN Sociedad De InformacióN
IntroduccióN Sociedad De InformacióN
 
Fotos Naturaleza Grrodriguez
Fotos Naturaleza GrrodriguezFotos Naturaleza Grrodriguez
Fotos Naturaleza Grrodriguez
 

Automatas y compiladores analisis sintactico

  • 1. Teoría de Autómatas y Compiladores Germania Rodríguez grrodriguez@utpl.edu.ec
  • 2. Análisis Sintáctico •  Determina la sintaxis, o estructura de un programa. •  L a s i n t a x i s d e u n l e n g u a j e d e programación se lo determina mediante reglas gramaticales de una gramática libre de contexto similar a las ER en el análisis léxico con la diferencia que son recursivos. •  Los algoritmos utilizados para reconocer estas estructuras difieren del léxico ya que utilizan llamadas recursivas o una pila de AS.
  • 3. Análisis Sintáctico •  El AS involucra tener que elegir entre varios métodos diferentes con sus propiedades y capacidades, existen dos categorías basados en la manera en que construyen el árbol de análisis gramáticas o sintáctico: descendente o ascendente.
  • 4. Análisis Sintáctico – Proceso Código fuente Analizador léxico o rasterador Tokens Analizador Sintáctico Árbol sintáctico Analizador Semántico Árbol con anotaciones Optimizador de código fuente Código intermedio Generador de código Código objetivo Optimizador de código objetivo Código Objetivo
  • 5. Análisis Sintáctico - Proceso •  La tarea del AS es determinar la estructura sintáctica de un programa a partir de los tokens producidos por el AL. •  En resumen una función que toma como entrada la secuencia de tokens y salida el AS. Secuencia de tokens  árbol sintáctico
  • 6. Análisis Sintáctico - Proceso – Compiladores de una pasada no generan árbol sintáctico explícito. – Compiladores de múltiples pasadas – las pasadas utilizaran el árbol como su entrada. •  El árbol se define como estructura de datos dinámica, nodos, atributos, campos del atributo. •  Manejo de errores, no solo mostrar mensaje sino recuperarse (inferir código corregido) y continuar el análisis, para encontrar tantos errores como sea posible.
  • 7. Gramática: definiciones •  Estructuras •  Derivación directa •  Gramáticas equivalentes
  • 8. Gramática •  Tipos – Tipo 3: Regulares de acuerdo al formato de producción pueden ser: •  Lineales a la derecha: A  aB Aa •  Lineales a la izquierda A  Ba Aa – Tipo 2: Libre de contexto •  A  B siempre independiente del contexto
  • 9. Gramáticas •  Tipos – Tipo 1: Sensibles al contexto – Tipo 0: Sin restricciones respecto a su formato
  • 10. Gramáticas Si el lenguaje Li generado por la gramática i entonces se cumple que
  • 11. Gramática Libre de Contexto •  Especificación para la estructura sintáctica de un lenguaje de programación, muy similar a la estructura léxica. •  Se define a través de Reglas Gramaticales RG
  • 12. Gramática Libre de Contexto: Comparación RG con las ER •  Utilizan notación semejante en ER: – Operaciones ER: =, concatenación, selección |, repetición *, – Operaciones RG: , concatenación, selección |, recursividad. – Ejm: exp  exp op exp | (exp) | número op  + | - | * – Las ER son sobre caracteres y las RG son sobre tokens.
  • 13. Derivación RG exp  exp op exp | (exp) | número op  + | - | * EJEMPLO: (34-3) * 42
  • 14. Árbol de Análisis Sintáctico RG exp exp op exp (exp) * número número – número
  • 15. Árbol de Análisis Sintáctico Abstracto RG * - 42 34 3
  • 16. Bibliografía •  Kenneth C. Louden, Construccion de Compiladores Principios Y Práctica •  Universidad Jaume, Open Course Ware –II20 Teoría de autómatas y lenguajes formales en: http://e-ujier.uji.es/pls/ w w w / ! g r i _ w w w . e u j i 2 2 1 0 1 ? p_id=7&p_tipo=A&p_curso=II20&p_idioma=ES