Please enable JavaScript.
Coggle requires JavaScript to display documents.
Generadores de analizadores sintácticos - Coggle Diagram
Generadores de analizadores sintácticos
¿Qué es?
Es un programa informático que analiza una cadena de símbolos de acuerdo a las gramática formal. Dentro de un compilador su función es transformar una entrada en un arbolo de derivación.
Tipos
Descendentes
En éste analizador las entradas son de izquierda a derecha, y construcciones de derivaciones por la izquierda de una sentencia o enunciado.
ANTLR:
Tipo: LL(K) Lenguaje: Java y C++.
JAVA CC:
Tipo: LL(K) Lenguaje: Java.
LLGen:
Tipo: LL(K) Descenso Recursivo.
COCO/R:
Tipo: LL(K) Lenguaje: C, C++, C# Y Java
Ascendente
Consiste en construir el árbol sintáctico desde abajo hacia arriba, esto es, desde los tokens hacia el axioma inicial, lo cual disminuye el número de reglas mal aplicadas con respecto al caso descendente
YACC:
Tipo: LALR(1) Lenguaje: C.
BISON:
Tipo: LALR(1) Lenguaje: C.
AYACC:
Tipo: LALR(1) Lenguaje: Ada.
BYACC
Tipo: LALR(1) Lenguaje: C.
PCYACC:
Tipo: LALR(1) Lenguaje: C, C++, Java
LEMON:
Tipo: LALR(1).
CUP:
Tipo: LALR(1) Lenguaje: Java.
Funcionamientos
Recibir los componentes léxicos y producir como salida una representación del árbol sintáctico que reconoce la entrada de acuerdo a la gramática especificada
Interactuar con la Tabla de Símbolos. Una estructura que mantiene todos los símbolos presentes en la entrada.
Chequear que los tipos de datos están asignados correctamente para evitarla pérdida de información o los errores semánticos.
Generar un Código Intermedio, ya sea para una máquina virtual o real, que permita la ejecución o interpretación de la entrada.
Informar de los errores encontrados en la entrada.
Características
Determina la estructura sintáctica de
un programa a partir de los tokens producidos por el analizador léxico
Construye el árbol sintáctico que representa esta estructura.
Comprueba que la sintaxis de la instrucción es correcta.
El análisis sintáctico considera como símbolos terminales las unidades sintácticas retornadas por el analizador léxico
La estructura sintáctica a reconocer es especificada mediante una gramática libre de contexto.
uso del análisis sintáctico
Es utilizado usualmente para el análisis de compiladores.
Utilizado para transforma una entrada en un árbol sintáctico de derivación.
Utilizados y empleados en programas generadores de analizadores sintácticos a partir de una especificación de la sintaxis del lenguaje en forma Backus-Naur