Análisis Sintáctico
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Generadores de analizadores sintácticos<br />
ANTLR:<br />
(ANother Tool for Language Recognition; en español "otra herramienta para<br />
reconocimiento de lenguajes") es una herramienta creada principalmente por<br />
Terence Parr, que opera sobre lenguajes, proporcionando un marco para construir<br />
reconocedores (parsers), intérpretes, compiladores y traductores de lenguajes a<br />
partir de las descripciones gramaticales de los mismos (conteniendo acciones<br />
semánticas a realizarse en varios lenguajes de programación).<br />
GNU bison:<br />
Es un programa generador de analizadores sintácticos de propósito general<br />
perteneciente al proyecto GNU disponible para prácticamente todos los sistemas<br />
operativos, se usa normalmente acompañado de flex aunque los analizadores<br />
léxicos se pueden también obtener de otras formas.<br />
Grammatica:<br />
Es un generador de analizadores sintácticos de C# y Java libre. Es similar a otras<br />
herramientas como Yacc o ANTLR. Grammatica soporta el algoritmo LL(k) para<br />
gramáticas con un número ilimitado de tokens de anticipación. Está bastante bien<br />
probado, y ha sido auto compilado desde la versión 0.1. La documentación contiene<br />
una lista completa de características, así como una comparación con otros<br />
generadores de analizadores.<br />
JavaCC:<br />
(Java Compiler Compiler) es un generador de analizadores sintácticos de código<br />
abierto para el lenguaje de programación Java. JavaCC es similar a Yacc en que<br />
genera un parser para una gramática presentada en notación BNF, con la diferencia<br />
de que la salida es en código Java. A diferencia de Yacc, JavaCC genera<br />
analizadores descendentes (top-down), lo que lo limita a la clase de gramáticas LL<br />
(K) (en particular, la recursión desde izquierda no se puede usar). El constructor de<br />
árboles que lo acompaña, JJTree, construye árboles de abajo hacia arriba (bottomup).<br />
Yacc:<br />
Es un programa para generar analizadores sintácticos. Las siglas del nombre<br />
significan Yet Another Compiler-Compiler, es decir, "Otro generador de<br />
compiladores más". Genera un analizador sintáctico (la parte de un compilador que<br />
comprueba que la estructura del código fuente se ajusta a la especificación<br />
sintáctica del lenguaje) basado en una gramática analíticaescrita en una notación<br />
similar a la BNF. Yacc genera el código para el analizador sintáctico en el Lenguaje<br />
de programación C.<br />
46