21.06.2016 Views

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!