jueves, 30 de enero de 2020

1.2 Acciones semánticas de un analizador sintáctico

Definición de un analizador sintáctico: es la fase del analizador que se encarga de chequear el texto de entrada en base a una gramática dada. Y en caso de que el programa de entrada sea válido, suministra el árbol sintáctico que lo reconoce.

En teoría, se supone que la salida del analizador sintáctico es alguna representación del árbol sintáctico que reconoce la secuencia de Token suministrada por el analizador léxico.

En la práctica, el analizador sintáctico también hace:


  • Acceder a la tabla de símbolos (para hacer parte del trabajo del analizador
  • semántico).
  • Chequeo de tipos (del analizador semántico).
  • Generar código intermedio.
  • Generar errores cuando se producen.
  • En definitiva, realiza casi todas las operaciones de la compilación. Este método de trabajo da lugar a los métodos de compilación dirigidos por sintaxis.

Manejo de errores sintácticos

Resultado de imagen para manejo de errores"
Los errores sintácticos son dados por una expresión aritmética o paréntesis no equilibrados. El manejo de errores de sintaxis es el más complicado desde el punto de vista de la creación de compiladores. Nos interesa que cuando el compilador encuentre un error, se recupere y siga buscando errores. Por lo tanto el manejador de errores de un analizador sintáctico tiene como objetivos:

  • Indicar los errores de forma clara y precisa. Aclarar el tipo de error y su localización.
  • Recuperarse del error, para poder seguir examinando la entrada.
  • No ralentizar significativamente la compilación

Tipo de gramática que acepta un analizador sintáctico

Nosotros nos centraremos en el análisis sintáctico para lenguajes basados en gramáticas formales, ya que de otra forma se hace muy difícil la comprensión del compilador, y se pueden corregir, quizás más fácilmente, errores de muy difícil localización, como es la ambigüedad en el reconocimiento de ciertas sentencias.
La gramática que acepta el analizador sintáctico es una gramática de contexto libre:

Gramática: G (N, T, P, S)

          N = No terminales.
          T = Terminales.
          P = Reglas de Producción.
          S = Axioma Inicial.

Investigado por: Jonathan Arturo Ramos Hernández
Fernández-Tostado Canorea, T. (2009). Estudio tecnológico y diseño arquitectónico de un sistema de gestión de esquemas semánticos basados en ontologías (Bachelor's thesis).

No hay comentarios.:

Publicar un comentario