SlideShare una empresa de Scribd logo
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA
Nombre: Carlos Brusil
Escuela: Ingeniería
Materia: Compiladores
Tema: Análisis sintáctico
1.- Las funciones que cumple el analizador sintáctico.
En el modelo del compilador, el analizador sintáctico obtiene una cadena de componentes
léxicos del analizador léxico, y comprueba si la cadena puede ser generada por la
gramática del programa fuente.
Esta iteración se esquematiza como sigue:
Existen 2 tipos generales de analizadores sintácticos para gramáticas:
a) Análisis sintáctico descendente. Construye árboles de análisis sintáctico desde arriba
(raíz) hacia abajo (hojas). El análisis se realiza de lo general a lo particular.
b) Análisis sintáctico ascendente. Construyen árboles de análisis sintáctico comenzando
en las hojas y suben hacia la raíz. El análisis se realiza de lo particular a lo general.
2.- Tipos de errores sintácticos
7.1 Tipos de Errores
¢ Léxicos
¢ Sintácticos
¢ Semánticos
¢ Lógicos
Errores léxicos
Los errores léxicos se detectan cuando el analizador léxico intenta reconocer
componentes léxicos en el código fuente.
Errores sintácticos
Un error de sintaxis se detecta cuando el analizador sintáctico espera un símbolo que no
corresponde al que se acaba de leer. Los analizadores sintácticos LL y LR tienen la
ventaja de que pueden detectar errores sintácticos lo más pronto posible, es decir, se
genera un mensaje de error en cuanto el símbolo analizado no sigue la secuencia de los
símbolos analizados hasta ese momento.
Error semántico
Los errores semánticos corresponden a la semántica del lenguaje de programación, la cual
normalmente no está descrita por la gramática. Los errores semánticos más comunes son
la omisión de declaraciones.
Errores Lógicos
Los comete el programador
Ejemplo: una llamada infinitamente recursiva
Tipos de gramática que acepta un analizador sintáctico.
Árbol sintáctico de una sentencia de lenguaje.
Análisis descendente con retroceso
El método parte del axioma inicial y aplica todas las posibles reglas al no terminal más a
la izquierda.
• Se usa el retroceso para resolver la incertidumbre.
• Sencillo de implementar.
• Muy eficiente.
Ejemplo:
Análisis descendente con recursión. Diagramas de Conway
Análisis descendente de gramáticas LL(1)
Es del tipo LL1 porque empezamos a derivando por la izquierda, y los carácteres son
leidos de izquierda a derecha, el 1 por que se lee 1 solo elemento de entrada.
También se puede considerar como un intento de construir un árbol de análisis
sintáctico para la entrada comenzando desde la raíz y creando los nodos del árbol en
orden previa.
Bueno primeramente para trabajar el análisis sintáctico descendente se debe realizar
primeramente algunas operaciones para que la gramática sea LL1 las cuales son:
– Eliminar Ambiguedad
– Eliminar Recursividad por la Izquierda
– Factorizar
– Primeros y siguientes
 Ambigüedad
Una gramática es ambigua cuando genera más de un árbol de derivación.
Para eliminar la ambigüedad se debe reescribir la gramática.
Ejemplo:
 Recursividad por la Izquierda
Una gramática es recursiva por la izquierda si tiene un no Terminal A tal que existe una
derivación A->Aα para alguna cadena . Es decir por simple observación podemos
identificar.
Para eliminar la recursividad por la izquierda se utiliza la siguiente formula.
Ejemplo:
Gramática Recursiva
Análisis Ascendente con retroceso
Al igual que ocurría con el caso descendente, este tipo de análisis intenta probar todas las
posibles operaciones (reducciones y desplazamientos) mediante un método de fuerza
bruta, hasta llegar al árbol sintáctico, o bien agotar todas las opciones, en cuyo caso la
cadena se rechaza.
En el análisis con retroceso no se permiten las reglas ԑ, puesto que estas se podrán aplicar
de forma indefinida.

Más contenido relacionado

La actualidad más candente

Analizador léxico
Analizador léxico Analizador léxico
Analizador léxico
Jorge Molano
 
Analizador sintactico
Analizador sintacticoAnalizador sintactico
Analizador sintactico
PUCESI
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
Areli Gómez
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
FARIDROJAS
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
FARIDROJAS
 

La actualidad más candente (20)

Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Analizador léxico
Analizador léxico Analizador léxico
Analizador léxico
 
Compiladores analisis lexico
Compiladores analisis lexicoCompiladores analisis lexico
Compiladores analisis lexico
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Analizador sintactico
Analizador sintacticoAnalizador sintactico
Analizador sintactico
 
Análisis lexicográfico
Análisis lexicográficoAnálisis lexicográfico
Análisis lexicográfico
 
Ps2 u5
Ps2 u5Ps2 u5
Ps2 u5
 
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
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Análisis Sintáctico
Análisis SintácticoAnálisis Sintáctico
Análisis Sintáctico
 
Clase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini devClase8 2-explicacion analizador lexico-sintactico mini dev
Clase8 2-explicacion analizador lexico-sintactico mini dev
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
Analisis Semantico
Analisis Semantico Analisis Semantico
Analisis Semantico
 
Analizador LÉxico
Analizador LÉxicoAnalizador LÉxico
Analizador LÉxico
 
Clase15
Clase15Clase15
Clase15
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 
Compiladores, Analisis Lexico
Compiladores, Analisis LexicoCompiladores, Analisis Lexico
Compiladores, Analisis Lexico
 
AnáLisis LéXico
AnáLisis LéXicoAnáLisis LéXico
AnáLisis LéXico
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 

Destacado

AnáLisis SintáCtico Oraciones Hechas
AnáLisis SintáCtico  Oraciones HechasAnáLisis SintáCtico  Oraciones Hechas
AnáLisis SintáCtico Oraciones Hechas
guestacabf91e
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
jonathangrief
 
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
maryr_
 
Los complementos del sintagma verbal
Los complementos del sintagma verbalLos complementos del sintagma verbal
Los complementos del sintagma verbal
Silvia Docampo
 
Oraciones+compuestas
Oraciones+compuestasOraciones+compuestas
Oraciones+compuestas
Portizeli
 

Destacado (20)

Arbol analisis sintactico
Arbol analisis sintacticoArbol analisis sintactico
Arbol analisis sintactico
 
FORMAS NORMALES DE GREIBACH
FORMAS NORMALES DE GREIBACHFORMAS NORMALES DE GREIBACH
FORMAS NORMALES DE GREIBACH
 
Sintaxis
SintaxisSintaxis
Sintaxis
 
Gramatica En Esquemas
Gramatica En EsquemasGramatica En Esquemas
Gramatica En Esquemas
 
AnáLisis SintáCtico Oraciones Hechas
AnáLisis SintáCtico  Oraciones HechasAnáLisis SintáCtico  Oraciones Hechas
AnáLisis SintáCtico Oraciones Hechas
 
Analizador sintactico
Analizador sintacticoAnalizador sintactico
Analizador sintactico
 
Coordinadas 3
Coordinadas 3Coordinadas 3
Coordinadas 3
 
Compiladores diapositivas
Compiladores diapositivasCompiladores diapositivas
Compiladores diapositivas
 
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
 
Compiladores teoria e implementacion
Compiladores teoria e implementacionCompiladores teoria e implementacion
Compiladores teoria e implementacion
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Historia De Los Numeros
Historia De Los NumerosHistoria De Los Numeros
Historia De Los Numeros
 
Etapas de compilacion
Etapas de compilacionEtapas de compilacion
Etapas de compilacion
 
Compiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico ConceptosCompiladores, Analisis Lexico Conceptos
Compiladores, Analisis Lexico Conceptos
 
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
 
Los complementos del sintagma verbal
Los complementos del sintagma verbalLos complementos del sintagma verbal
Los complementos del sintagma verbal
 
Los Complementos Verbales
Los Complementos VerbalesLos Complementos Verbales
Los Complementos Verbales
 
Oraciones+compuestas
Oraciones+compuestasOraciones+compuestas
Oraciones+compuestas
 
Sintaxis. La Oración
Sintaxis. La OraciónSintaxis. La Oración
Sintaxis. La Oración
 
Oraciones compuestas
Oraciones compuestasOraciones compuestas
Oraciones compuestas
 

Similar a Analisis sintactico (10)

Investigacion sobre asd y asa
Investigacion sobre asd y asaInvestigacion sobre asd y asa
Investigacion sobre asd y asa
 
Analisis lexico
Analisis lexicoAnalisis lexico
Analisis lexico
 
Análisis Sintáctico Ascendente - Descendente
Análisis Sintáctico Ascendente - DescendenteAnálisis Sintáctico Ascendente - Descendente
Análisis Sintáctico Ascendente - Descendente
 
T37 isc zaraos vazquez jorge alejandro
T37 isc zaraos vazquez jorge alejandroT37 isc zaraos vazquez jorge alejandro
T37 isc zaraos vazquez jorge alejandro
 
Analisis lexico
Analisis lexicoAnalisis lexico
Analisis lexico
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador Sintáctico
 
Cap6
Cap6Cap6
Cap6
 
1_1Analisis_Sintactico_-_Introduccion.pdf
1_1Analisis_Sintactico_-_Introduccion.pdf1_1Analisis_Sintactico_-_Introduccion.pdf
1_1Analisis_Sintactico_-_Introduccion.pdf
 
Capitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazarCapitulo 3 paul carrera,dego balcazar
Capitulo 3 paul carrera,dego balcazar
 
Analizador sintáctico
Analizador sintácticoAnalizador sintáctico
Analizador sintáctico
 

Más de Carlos Brusil (16)

Compiladores
CompiladoresCompiladores
Compiladores
 
Autocad
AutocadAutocad
Autocad
 
Flex bison
Flex bisonFlex bison
Flex bison
 
Flex ybison
Flex ybisonFlex ybison
Flex ybison
 
Python
PythonPython
Python
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Dreamweave
DreamweaveDreamweave
Dreamweave
 
Emulador emu 8086
Emulador emu 8086Emulador emu 8086
Emulador emu 8086
 
Emulador emu 8086
Emulador emu 8086Emulador emu 8086
Emulador emu 8086
 
Decompilador
DecompiladorDecompilador
Decompilador
 
Procesadores
ProcesadoresProcesadores
Procesadores
 
Procesadores
ProcesadoresProcesadores
Procesadores
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Cati
CatiCati
Cati
 

Último

Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 

Último (20)

Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 
3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico
 
Proceso de gestión de obras - Aquí tu Remodelación
Proceso de gestión de obras - Aquí tu RemodelaciónProceso de gestión de obras - Aquí tu Remodelación
Proceso de gestión de obras - Aquí tu Remodelación
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Escrito-Contestacion-Demanda-Filiacion.pdf
Escrito-Contestacion-Demanda-Filiacion.pdfEscrito-Contestacion-Demanda-Filiacion.pdf
Escrito-Contestacion-Demanda-Filiacion.pdf
 
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
 
6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico
 
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOSTRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
 
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
Tarrajeo, tipos de tarrajeos, empastados, solaqueos y otros revestimientos.
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
Presentación Pedagoía medieval para exposición en clases
Presentación Pedagoía medieval para exposición en clasesPresentación Pedagoía medieval para exposición en clases
Presentación Pedagoía medieval para exposición en clases
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Sesión de clase: Luz desde el santuario.pdf
Sesión de clase: Luz desde el santuario.pdfSesión de clase: Luz desde el santuario.pdf
Sesión de clase: Luz desde el santuario.pdf
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
5.Deicticos Uno_Enfermería_EspanolAcademico
5.Deicticos Uno_Enfermería_EspanolAcademico5.Deicticos Uno_Enfermería_EspanolAcademico
5.Deicticos Uno_Enfermería_EspanolAcademico
 
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
Análisis de la situación actual .La Matriz de Perfil Competitivo (MPC)
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 

Analisis sintactico

  • 1. PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE IBARRA Nombre: Carlos Brusil Escuela: Ingeniería Materia: Compiladores Tema: Análisis sintáctico 1.- Las funciones que cumple el analizador sintáctico. En el modelo del compilador, el analizador sintáctico obtiene una cadena de componentes léxicos del analizador léxico, y comprueba si la cadena puede ser generada por la gramática del programa fuente. Esta iteración se esquematiza como sigue: Existen 2 tipos generales de analizadores sintácticos para gramáticas: a) Análisis sintáctico descendente. Construye árboles de análisis sintáctico desde arriba (raíz) hacia abajo (hojas). El análisis se realiza de lo general a lo particular. b) Análisis sintáctico ascendente. Construyen árboles de análisis sintáctico comenzando en las hojas y suben hacia la raíz. El análisis se realiza de lo particular a lo general. 2.- Tipos de errores sintácticos 7.1 Tipos de Errores ¢ Léxicos ¢ Sintácticos ¢ Semánticos ¢ Lógicos Errores léxicos Los errores léxicos se detectan cuando el analizador léxico intenta reconocer componentes léxicos en el código fuente. Errores sintácticos Un error de sintaxis se detecta cuando el analizador sintáctico espera un símbolo que no corresponde al que se acaba de leer. Los analizadores sintácticos LL y LR tienen la ventaja de que pueden detectar errores sintácticos lo más pronto posible, es decir, se genera un mensaje de error en cuanto el símbolo analizado no sigue la secuencia de los símbolos analizados hasta ese momento. Error semántico Los errores semánticos corresponden a la semántica del lenguaje de programación, la cual normalmente no está descrita por la gramática. Los errores semánticos más comunes son la omisión de declaraciones.
  • 2. Errores Lógicos Los comete el programador Ejemplo: una llamada infinitamente recursiva Tipos de gramática que acepta un analizador sintáctico. Árbol sintáctico de una sentencia de lenguaje.
  • 3. Análisis descendente con retroceso El método parte del axioma inicial y aplica todas las posibles reglas al no terminal más a la izquierda. • Se usa el retroceso para resolver la incertidumbre. • Sencillo de implementar. • Muy eficiente. Ejemplo: Análisis descendente con recursión. Diagramas de Conway
  • 4. Análisis descendente de gramáticas LL(1) Es del tipo LL1 porque empezamos a derivando por la izquierda, y los carácteres son leidos de izquierda a derecha, el 1 por que se lee 1 solo elemento de entrada.
  • 5. También se puede considerar como un intento de construir un árbol de análisis sintáctico para la entrada comenzando desde la raíz y creando los nodos del árbol en orden previa. Bueno primeramente para trabajar el análisis sintáctico descendente se debe realizar primeramente algunas operaciones para que la gramática sea LL1 las cuales son: – Eliminar Ambiguedad – Eliminar Recursividad por la Izquierda – Factorizar – Primeros y siguientes  Ambigüedad Una gramática es ambigua cuando genera más de un árbol de derivación. Para eliminar la ambigüedad se debe reescribir la gramática. Ejemplo:  Recursividad por la Izquierda Una gramática es recursiva por la izquierda si tiene un no Terminal A tal que existe una derivación A->Aα para alguna cadena . Es decir por simple observación podemos identificar. Para eliminar la recursividad por la izquierda se utiliza la siguiente formula.
  • 6. Ejemplo: Gramática Recursiva Análisis Ascendente con retroceso Al igual que ocurría con el caso descendente, este tipo de análisis intenta probar todas las posibles operaciones (reducciones y desplazamientos) mediante un método de fuerza bruta, hasta llegar al árbol sintáctico, o bien agotar todas las opciones, en cuyo caso la cadena se rechaza. En el análisis con retroceso no se permiten las reglas ԑ, puesto que estas se podrán aplicar de forma indefinida.