SlideShare una empresa de Scribd logo
ESCUELA DE INGENIERIA- SISTEMAS
COMPILADORES
PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR
SEDE IBARRA
Nombre: Jhampier Piedra
ACTIVIDAD DIRIGIDA:
Para mejorar y optimizar recursos pedagógicos vamos a investigar los siguientes temas:
El analizador sintáctico.( Ojo no más de 6 páginas)
 El papel del analizador sintáctico
 Análisis sintáctico ascendente y descendente
 Análisis semántico y tratamiento de errores
 Árboles Sintácticos
El papel del analizador sintáctico es:
 Comprobar que la secuencia de componentes léxicos cumple las reglas de la
gramática.
 convierte el texto de entrada en otras estructuras (comúnmente árboles).
Análisis sintáctico ascendente y descendente
La tarea esencial de un analizador es determinar si una determinada entrada puede ser
derivada desde el símbolo inicial, usando las reglas de una gramática formal, y como
hacer esto, existen esencialmente dos formas:
Analizador sintáctico descendente (Top-Down-Parser):
Un analizador puede empezar con el símbolo inicial e intentar transformarlo en la
entrada, intuitivamente esto sería ir dividiendo la entrada progresivamente en partes
cada vez más pequeñas, de esta forma funcionan los analizadores LL, un ejemplo es
el javaCC.
Analizador sintáctico ascendente (Bottom-Up-Parser):
Un analizador puede empezar con la entrada e intentar llegar hasta el símbolo inicial,
intuitivamente el analizador intenta encontrar los símbolos más pequeños y
progresivamente construir la jerarquía de símbolos hasta el inicial, los analizadores LR
funcionan así y un ejemplo es el Yacc.
Análisis semántico y tratamiento de errores.
La fase de análisis semántico revisa el programa fuente para tratar de encontrar errores
semánticos y reúne la información sobre los tipos para la fase posterior de generación
ESCUELA DE INGENIERIA- SISTEMAS
COMPILADORES
de código. En ella se utiliza la estructura jerárquica determinada por la fase de análisis
sintáctico para identificador los operadores y operandos de expresiones y proposiciones.
Clasificación
Dinámica: Aspectos que solo pueden ser conocidos en tiempos de ejecución.
Estática: Aspectos que solo pueden ser controlados en tiempo de compilación.
Verificación de Tipos: el compilador verifica si cada operador tiene operandos
permitidos por la especificación del lenguaje fuente.
TRATAMIENTO DE ERRORES
Los errores encontrados en las distintas fases de análisis se envían a un módulo
denominado manejo de errores. En el caso más sencillo puede ser un subprograma al
que se le invoca enviándole el código de error, y que se encarga de escribir un mensaje
con el error correspondiente, y el número de línea donde se ha producido, así como de
cortar el proceso de traducción.
TIPOS DE ERRORES
Tipos de errores que suelen ocurrir (dependiendo de la fase):
Léxicos: No concuerda con ninguna ER.
 Ejemplo: escribir mal una palabra clave
Sintácticos: La estructura que se ha seguido no es correcta.
 Ejemplo: expresión con paréntesis no emparejados
Semánticos: La estructura está bien pero hay errores de significado
 Ejemplo: operador y operandos incompatibles.
Lógicos: Los comete el programador
 Ejemplo: una llamada infinitamente recursiva
Árboles Sintácticos
Es una clase especial de árbol, se le denomina Árbol Sintáctico es una forma
condensada de un árbol de análisis sintáctico, útil para representar instrucciones de
lenguajes. Un árbol sintáctico permite demostrar que una secuencia de caracteres es
una determinada categoría sintáctica. Llevan su nombre en base a la función que
cumple, donde cada nodo representa una operación y los hijos de un nodo son los
argumentos de la operación.
ESCUELA DE INGENIERIA- SISTEMAS
COMPILADORES
Un árbol sintáctico puede cumplir tres funciones diferentes:
 Comprobar el orden en que llegan los tokens (componente léxico es una cadena
de caracteres)
 Construir una representación del programa fuente.
 Si es sintácticamente correcto generar el error
 Un Árbol Sintáctico bien realizado se caracteriza por ser una representación
abstracta que va desde las sub-categorías hasta la categoría general, por constar
de operadores en nodos no terminales y operandos en nodos terminales.

Más contenido relacionado

La actualidad más candente

Analisis lexico
Analisis lexicoAnalisis lexico
Analisis lexico
Wilman Kdnita
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
Infomania pro
 
Compiladores
CompiladoresCompiladores
Compiladoresdrakul09
 
Análisis Sintáctico Ascendente - Descendente
Análisis Sintáctico Ascendente - DescendenteAnálisis Sintáctico Ascendente - Descendente
Análisis Sintáctico Ascendente - Descendente
Guiru Xd
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
Infomania pro
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
nelson_lino
 
Analisis semantico 06 06-2019 galarraga
Analisis semantico  06 06-2019 galarragaAnalisis semantico  06 06-2019 galarraga
Analisis semantico 06 06-2019 galarraga
Fabricio Galárraga
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
ROQUE Caldas Dominguez
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomezalejitaacg
 
Lenguajes De ProgramacióN
Lenguajes De ProgramacióNLenguajes De ProgramacióN
Lenguajes De ProgramacióNEduFigueroa
 
TALLER ANALISIS LEXICO
TALLER ANALISIS LEXICOTALLER ANALISIS LEXICO
TALLER ANALISIS LEXICO
JOSSELINEMARIBEL
 
Curso de desarrollo de software
Curso de desarrollo de softwareCurso de desarrollo de software
Curso de desarrollo de softwarevekys
 
Investigacion sobre asd y asa
Investigacion sobre asd y asaInvestigacion sobre asd y asa
Investigacion sobre asd y asaJimmy Jaramillo
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De ProgramacionAndres Gomez
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimia
IEO Santo Tomás
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
LuisMolina269
 
Programacion
ProgramacionProgramacion
ProgramacionDemary95
 

La actualidad más candente (19)

Analisis lexico
Analisis lexicoAnalisis lexico
Analisis lexico
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
ANALIZADOR SINTACTICO: INTRODUCION, CONCEPTOS, CARACTERISTICAS
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Análisis Sintáctico Ascendente - Descendente
Análisis Sintáctico Ascendente - DescendenteAnálisis Sintáctico Ascendente - Descendente
Análisis Sintáctico Ascendente - Descendente
 
Unidad4 analisis-semantico
Unidad4 analisis-semanticoUnidad4 analisis-semantico
Unidad4 analisis-semantico
 
Elementos basicos de un programa
Elementos basicos de un programaElementos basicos de un programa
Elementos basicos de un programa
 
Analisis semantico 06 06-2019 galarraga
Analisis semantico  06 06-2019 galarragaAnalisis semantico  06 06-2019 galarraga
Analisis semantico 06 06-2019 galarraga
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
 
Alejandra gomez
Alejandra gomezAlejandra gomez
Alejandra gomez
 
Lenguajes De ProgramacióN
Lenguajes De ProgramacióNLenguajes De ProgramacióN
Lenguajes De ProgramacióN
 
TALLER ANALISIS LEXICO
TALLER ANALISIS LEXICOTALLER ANALISIS LEXICO
TALLER ANALISIS LEXICO
 
Curso de desarrollo de software
Curso de desarrollo de softwareCurso de desarrollo de software
Curso de desarrollo de software
 
Investigacion sobre asd y asa
Investigacion sobre asd y asaInvestigacion sobre asd y asa
Investigacion sobre asd y asa
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimia
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Programacion
ProgramacionProgramacion
Programacion
 

Destacado

Tp spd nº1 2015
Tp spd nº1 2015Tp spd nº1 2015
Tp spd nº1 2015
Chris Miguez
 
EVOLUCIÓN DE LA TECNOLOGÍA DEL COMPUTADOR
EVOLUCIÓN DE LA TECNOLOGÍA DEL COMPUTADOREVOLUCIÓN DE LA TECNOLOGÍA DEL COMPUTADOR
EVOLUCIÓN DE LA TECNOLOGÍA DEL COMPUTADORGaby Gabi
 
The ‘pillar of cloud’ and extraterrestrial mentions of the kj bible
The ‘pillar of cloud’ and extraterrestrial mentions of the kj bibleThe ‘pillar of cloud’ and extraterrestrial mentions of the kj bible
The ‘pillar of cloud’ and extraterrestrial mentions of the kj bible
Martin Semugeshi
 
Contextual research A2 Level
Contextual research A2 LevelContextual research A2 Level
Contextual research A2 Level
Suzie Stangroom
 
Os quadros profeticos do fim 02
Os quadros profeticos do fim 02Os quadros profeticos do fim 02
Os quadros profeticos do fim 02
Estudos Bíblicos
 
Ivory coast / Case Analysis Presentation (Emerson College)
Ivory coast / Case Analysis Presentation (Emerson College)Ivory coast / Case Analysis Presentation (Emerson College)
Ivory coast / Case Analysis Presentation (Emerson College)
Yann Tong
 
Open Revolution or Shades of Grey?: Open Resources on the Front Lines of Educ...
Open Revolution or Shades of Grey?: Open Resources on the Front Lines of Educ...Open Revolution or Shades of Grey?: Open Resources on the Front Lines of Educ...
Open Revolution or Shades of Grey?: Open Resources on the Front Lines of Educ...
Robyn Hall
 
Bf skinner and albert bandura
Bf skinner and albert banduraBf skinner and albert bandura
Bf skinner and albert bandura
bessybasura1231
 
Gestion empresarial (señalizacion de seguridad y salud)
Gestion empresarial (señalizacion de seguridad y salud)Gestion empresarial (señalizacion de seguridad y salud)
Gestion empresarial (señalizacion de seguridad y salud)
Leidy Fernández
 
Ramas de la filosofía
Ramas de la filosofíaRamas de la filosofía
Ramas de la filosofíanadivarrr
 
Parte en francés
Parte en francésParte en francés
Parte en francésMarga Bio
 

Destacado (15)

Anc difonos
Anc difonosAnc difonos
Anc difonos
 
Presentation1
Presentation1Presentation1
Presentation1
 
Game sense
Game senseGame sense
Game sense
 
Tp spd nº1 2015
Tp spd nº1 2015Tp spd nº1 2015
Tp spd nº1 2015
 
EVOLUCIÓN DE LA TECNOLOGÍA DEL COMPUTADOR
EVOLUCIÓN DE LA TECNOLOGÍA DEL COMPUTADOREVOLUCIÓN DE LA TECNOLOGÍA DEL COMPUTADOR
EVOLUCIÓN DE LA TECNOLOGÍA DEL COMPUTADOR
 
The ‘pillar of cloud’ and extraterrestrial mentions of the kj bible
The ‘pillar of cloud’ and extraterrestrial mentions of the kj bibleThe ‘pillar of cloud’ and extraterrestrial mentions of the kj bible
The ‘pillar of cloud’ and extraterrestrial mentions of the kj bible
 
Contextual research A2 Level
Contextual research A2 LevelContextual research A2 Level
Contextual research A2 Level
 
Os quadros profeticos do fim 02
Os quadros profeticos do fim 02Os quadros profeticos do fim 02
Os quadros profeticos do fim 02
 
Ivory coast / Case Analysis Presentation (Emerson College)
Ivory coast / Case Analysis Presentation (Emerson College)Ivory coast / Case Analysis Presentation (Emerson College)
Ivory coast / Case Analysis Presentation (Emerson College)
 
Open Revolution or Shades of Grey?: Open Resources on the Front Lines of Educ...
Open Revolution or Shades of Grey?: Open Resources on the Front Lines of Educ...Open Revolution or Shades of Grey?: Open Resources on the Front Lines of Educ...
Open Revolution or Shades of Grey?: Open Resources on the Front Lines of Educ...
 
Bf skinner and albert bandura
Bf skinner and albert banduraBf skinner and albert bandura
Bf skinner and albert bandura
 
Gestion empresarial (señalizacion de seguridad y salud)
Gestion empresarial (señalizacion de seguridad y salud)Gestion empresarial (señalizacion de seguridad y salud)
Gestion empresarial (señalizacion de seguridad y salud)
 
Decoración especial
Decoración especialDecoración especial
Decoración especial
 
Ramas de la filosofía
Ramas de la filosofíaRamas de la filosofía
Ramas de la filosofía
 
Parte en francés
Parte en francésParte en francés
Parte en francés
 

Similar a Compiladores analisis lexico

Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
JOSSELINEMARIBEL
 
Analizador sintáctico
Analizador sintácticoAnalizador sintáctico
Analizador sintáctico
Eduardo Chavez Vasquez
 
Analisis sintactico actividad 15
Analisis sintactico actividad 15Analisis sintactico actividad 15
Analisis sintactico actividad 15
AndresDvila
 
ANALISIS SEMANTICO
ANALISIS SEMANTICO ANALISIS SEMANTICO
ANALISIS SEMANTICO
MAURICIOANDRES39
 
Análisis lexicográfico
Análisis lexicográficoAnálisis lexicográfico
Análisis lexicográfico
Eraclio Castillo Vidal
 
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
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
Anthony Benalcazar
 
Compiladores
CompiladoresCompiladores
Compiladores
Chocolatisima Cruperz
 
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
DanielRosero23
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador Sintáctico
Raul Gomez
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
Santiago Andrade
 
investigacion 4.4 y 4.5.pdf
investigacion 4.4 y 4.5.pdfinvestigacion 4.4 y 4.5.pdf
investigacion 4.4 y 4.5.pdf
juanluisSanchez19
 
Gramaticas
GramaticasGramaticas
Gramaticas
Jose Ibadango
 
investigacion.pdf
investigacion.pdfinvestigacion.pdf
investigacion.pdf
UlicesPerez1
 
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptxActividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
YahirSnchezDjMix
 
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_
 
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
 

Similar a Compiladores analisis lexico (20)

Análisis Sintáctico
Análisis SintácticoAnálisis Sintáctico
Análisis Sintáctico
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 
Analizador sintáctico
Analizador sintácticoAnalizador sintáctico
Analizador sintáctico
 
Analisis sintactico actividad 15
Analisis sintactico actividad 15Analisis sintactico actividad 15
Analisis sintactico actividad 15
 
ANALISIS SEMANTICO
ANALISIS SEMANTICO ANALISIS SEMANTICO
ANALISIS SEMANTICO
 
Análisis lexicográfico
Análisis lexicográficoAnálisis lexicográfico
Análisis lexicográfico
 
Taller compiladores Análisis Semántico
Taller compiladores Análisis Semántico Taller compiladores Análisis Semántico
Taller compiladores Análisis Semántico
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
 
Compiladores
CompiladoresCompiladores
Compiladores
 
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
 
Analizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador SintácticoAnalizador Léxico, Analizador Sintáctico
Analizador Léxico, Analizador Sintáctico
 
Taller análisis sintáctico
Taller análisis sintácticoTaller análisis sintáctico
Taller análisis sintáctico
 
investigacion 4.4 y 4.5.pdf
investigacion 4.4 y 4.5.pdfinvestigacion 4.4 y 4.5.pdf
investigacion 4.4 y 4.5.pdf
 
Gramaticas
GramaticasGramaticas
Gramaticas
 
investigacion.pdf
investigacion.pdfinvestigacion.pdf
investigacion.pdf
 
Compilador2
Compilador2Compilador2
Compilador2
 
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptxActividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
Actividad 4.4 y 4.5 Lenguajes y Autómatas Edinson Yahir Sánchez Velázquez.pptx
 
Analizador sintactico
Analizador sintacticoAnalizador sintactico
Analizador sintactico
 
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
 
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
 

Más de Jhampier_Piedra

Tarea Mapas Conceptuales
Tarea Mapas ConceptualesTarea Mapas Conceptuales
Tarea Mapas Conceptuales
Jhampier_Piedra
 
Po3 y po4 cobit ingenieria de software
Po3 y po4 cobit ingenieria de softwarePo3 y po4 cobit ingenieria de software
Po3 y po4 cobit ingenieria de software
Jhampier_Piedra
 
Indicadores
IndicadoresIndicadores
Indicadores
Jhampier_Piedra
 
Estado de-flujo-de-efectivo
Estado de-flujo-de-efectivoEstado de-flujo-de-efectivo
Estado de-flujo-de-efectivoJhampier_Piedra
 
Estado de-cambios-en-el-patrimonio
Estado de-cambios-en-el-patrimonioEstado de-cambios-en-el-patrimonio
Estado de-cambios-en-el-patrimonioJhampier_Piedra
 
Balance general finanzas
Balance general  finanzasBalance general  finanzas
Balance general finanzas
Jhampier_Piedra
 
Empresa Sin Nombre S.A.
Empresa Sin Nombre S.A.Empresa Sin Nombre S.A.
Empresa Sin Nombre S.A.
Jhampier_Piedra
 
Sin nombre s. a.
Sin nombre s. a.Sin nombre s. a.
Sin nombre s. a.
Jhampier_Piedra
 
Estudio de mercado finanzas
Estudio de mercado finanzasEstudio de mercado finanzas
Estudio de mercado finanzasJhampier_Piedra
 
Python
PythonPython
Analisis sintactico jhampier_piedra
Analisis sintactico jhampier_piedraAnalisis sintactico jhampier_piedra
Analisis sintactico jhampier_piedra
Jhampier_Piedra
 
Fortran
FortranFortran
Compilacion en "DOS" un programa realizado en NetBeans 7.1
Compilacion en "DOS" un programa realizado en NetBeans 7.1Compilacion en "DOS" un programa realizado en NetBeans 7.1
Compilacion en "DOS" un programa realizado en NetBeans 7.1
Jhampier_Piedra
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionJhampier_Piedra
 
Manual de instalación del programa vb decompiler lite
Manual de instalación del programa vb decompiler liteManual de instalación del programa vb decompiler lite
Manual de instalación del programa vb decompiler lite
Jhampier_Piedra
 

Más de Jhampier_Piedra (15)

Tarea Mapas Conceptuales
Tarea Mapas ConceptualesTarea Mapas Conceptuales
Tarea Mapas Conceptuales
 
Po3 y po4 cobit ingenieria de software
Po3 y po4 cobit ingenieria de softwarePo3 y po4 cobit ingenieria de software
Po3 y po4 cobit ingenieria de software
 
Indicadores
IndicadoresIndicadores
Indicadores
 
Estado de-flujo-de-efectivo
Estado de-flujo-de-efectivoEstado de-flujo-de-efectivo
Estado de-flujo-de-efectivo
 
Estado de-cambios-en-el-patrimonio
Estado de-cambios-en-el-patrimonioEstado de-cambios-en-el-patrimonio
Estado de-cambios-en-el-patrimonio
 
Balance general finanzas
Balance general  finanzasBalance general  finanzas
Balance general finanzas
 
Empresa Sin Nombre S.A.
Empresa Sin Nombre S.A.Empresa Sin Nombre S.A.
Empresa Sin Nombre S.A.
 
Sin nombre s. a.
Sin nombre s. a.Sin nombre s. a.
Sin nombre s. a.
 
Estudio de mercado finanzas
Estudio de mercado finanzasEstudio de mercado finanzas
Estudio de mercado finanzas
 
Python
PythonPython
Python
 
Analisis sintactico jhampier_piedra
Analisis sintactico jhampier_piedraAnalisis sintactico jhampier_piedra
Analisis sintactico jhampier_piedra
 
Fortran
FortranFortran
Fortran
 
Compilacion en "DOS" un programa realizado en NetBeans 7.1
Compilacion en "DOS" un programa realizado en NetBeans 7.1Compilacion en "DOS" un programa realizado en NetBeans 7.1
Compilacion en "DOS" un programa realizado en NetBeans 7.1
 
Clasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacionClasificacion de los lenguajes de programacion
Clasificacion de los lenguajes de programacion
 
Manual de instalación del programa vb decompiler lite
Manual de instalación del programa vb decompiler liteManual de instalación del programa vb decompiler lite
Manual de instalación del programa vb decompiler lite
 

Compiladores analisis lexico

  • 1. ESCUELA DE INGENIERIA- SISTEMAS COMPILADORES PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE IBARRA Nombre: Jhampier Piedra ACTIVIDAD DIRIGIDA: Para mejorar y optimizar recursos pedagógicos vamos a investigar los siguientes temas: El analizador sintáctico.( Ojo no más de 6 páginas)  El papel del analizador sintáctico  Análisis sintáctico ascendente y descendente  Análisis semántico y tratamiento de errores  Árboles Sintácticos El papel del analizador sintáctico es:  Comprobar que la secuencia de componentes léxicos cumple las reglas de la gramática.  convierte el texto de entrada en otras estructuras (comúnmente árboles). Análisis sintáctico ascendente y descendente La tarea esencial de un analizador es determinar si una determinada entrada puede ser derivada desde el símbolo inicial, usando las reglas de una gramática formal, y como hacer esto, existen esencialmente dos formas: Analizador sintáctico descendente (Top-Down-Parser): Un analizador puede empezar con el símbolo inicial e intentar transformarlo en la entrada, intuitivamente esto sería ir dividiendo la entrada progresivamente en partes cada vez más pequeñas, de esta forma funcionan los analizadores LL, un ejemplo es el javaCC. Analizador sintáctico ascendente (Bottom-Up-Parser): Un analizador puede empezar con la entrada e intentar llegar hasta el símbolo inicial, intuitivamente el analizador intenta encontrar los símbolos más pequeños y progresivamente construir la jerarquía de símbolos hasta el inicial, los analizadores LR funcionan así y un ejemplo es el Yacc. Análisis semántico y tratamiento de errores. La fase de análisis semántico revisa el programa fuente para tratar de encontrar errores semánticos y reúne la información sobre los tipos para la fase posterior de generación
  • 2. ESCUELA DE INGENIERIA- SISTEMAS COMPILADORES de código. En ella se utiliza la estructura jerárquica determinada por la fase de análisis sintáctico para identificador los operadores y operandos de expresiones y proposiciones. Clasificación Dinámica: Aspectos que solo pueden ser conocidos en tiempos de ejecución. Estática: Aspectos que solo pueden ser controlados en tiempo de compilación. Verificación de Tipos: el compilador verifica si cada operador tiene operandos permitidos por la especificación del lenguaje fuente. TRATAMIENTO DE ERRORES Los errores encontrados en las distintas fases de análisis se envían a un módulo denominado manejo de errores. En el caso más sencillo puede ser un subprograma al que se le invoca enviándole el código de error, y que se encarga de escribir un mensaje con el error correspondiente, y el número de línea donde se ha producido, así como de cortar el proceso de traducción. TIPOS DE ERRORES Tipos de errores que suelen ocurrir (dependiendo de la fase): Léxicos: No concuerda con ninguna ER.  Ejemplo: escribir mal una palabra clave Sintácticos: La estructura que se ha seguido no es correcta.  Ejemplo: expresión con paréntesis no emparejados Semánticos: La estructura está bien pero hay errores de significado  Ejemplo: operador y operandos incompatibles. Lógicos: Los comete el programador  Ejemplo: una llamada infinitamente recursiva Árboles Sintácticos Es una clase especial de árbol, se le denomina Árbol Sintáctico es una forma condensada de un árbol de análisis sintáctico, útil para representar instrucciones de lenguajes. Un árbol sintáctico permite demostrar que una secuencia de caracteres es una determinada categoría sintáctica. Llevan su nombre en base a la función que cumple, donde cada nodo representa una operación y los hijos de un nodo son los argumentos de la operación.
  • 3. ESCUELA DE INGENIERIA- SISTEMAS COMPILADORES Un árbol sintáctico puede cumplir tres funciones diferentes:  Comprobar el orden en que llegan los tokens (componente léxico es una cadena de caracteres)  Construir una representación del programa fuente.  Si es sintácticamente correcto generar el error  Un Árbol Sintáctico bien realizado se caracteriza por ser una representación abstracta que va desde las sub-categorías hasta la categoría general, por constar de operadores en nodos no terminales y operandos en nodos terminales.