HERRAMIENTAS para Analizador Sintactico
HERRAMIENTAS para Analizador Sintactico
HERRAMIENTAS para Analizador Sintactico
HERRAMIENTAS PARA
DESARROLLAR UN
ANALIZADOR
SINTÁCTICO
Autómatas y compiladores
INTEGRANTES:
Infante Chancafe, Ingrid
Terán Mejía, Lesly
2019
UNIVERSIDAD NACIONAL DE TRUJILLO
Contenido
INTRODUCCION ............................................................................................................................2
1. HERRAMIENTAS TRADICIONALES .........................................................................................3
a) Bison.................................................................................................................................3
b) Lex ....................................................................................................................................3
c) Flex ...................................................................................................................................3
d) Yacc ..................................................................................................................................3
2. HERRAMIENTAS DE NUEVA GENERACION ............................................................................4
a) ANTLR (ANother Tool for Language Recognition – otra herramienta para
reconocimiento de lenguajes) ..................................................................................................4
b) JavaCC (Java Compiler Compiler) ......................................................................................4
3. OTRAS HERRAMIENTAS ........................................................................................................4
a) BYACC/JAVA .....................................................................................................................4
b) COCO/JAVA ......................................................................................................................4
c) JELL ...................................................................................................................................4
d) JACCIE ...............................................................................................................................5
4. KIT PARA LA CONSTRUCCION DE COMPILADORES ...............................................................5
a) COKTAIL ............................................................................................................................5
b) ELI .....................................................................................................................................5
c) PCCT .................................................................................................................................5
AUTOMATAS Y COMPILADORES
UNIVERSIDAD NACIONAL DE TRUJILLO
INTRODUCCION
El uso y perfeccionamiento de los compiladores ha traído consigo el desarrollo
de herramientas que aportan a la realización de los mismos, estas se han ido
especializando en las diferentes fases del proceso de compilación, brindándole
a los desarrolladores una serie de facilidades a la hora de diseñar e implementar
un compilador. En el mundo existen diversas herramientas de apoyo de este tipo,
desarrolladas en diferentes lenguajes de programación, las cuales responden a
los intereses de los múltiples sistemas operativos. Entre las herramientas más
utilizadas se pueden encontrar el Flex, Yacc, Lex, Bison entre otras.
Bison
HERRAMIENTAS Lex/Yacc
TRADICIONALES
Flex
Yacc
BYACC/JAVA
COCO/JAVA
OTRAS HERRAMIENTAS
JACCIE
JELL
COKTAIL
KITS PARA LA
CONSTRUCCIÓN DE ELI
COMPILADORES
PCCT
AUTOMATAS Y COMPILADORES
UNIVERSIDAD NACIONAL DE TRUJILLO
1. HERRAMIENTAS TRADICIONALES
a) Bison
b) Lex
Es un generador de analizador léxico, que sirve para generar los token para la
siguiente fase. La principal característica de Lex es que va a permitir asociar
acciones descritas en C, a la localización de las Expresiones Regulares que se
hayan definido. Para ello Lex se apoya en una plantilla que recibe como
parámetro, y que se debe diseñar con cuidado. Internamente Lex va a actuar
como un autómata que localizará las expresiones regulares que se le describan,
y una vez reconocida la cadena representada por dicha expresión regular,
ejecutará el código asociado a esa regla.
c) Flex
d) Yacc
AUTOMATAS Y COMPILADORES
UNIVERSIDAD NACIONAL DE TRUJILLO
Es una herramienta creada principalmente por Terence Parr, que opera sobre
lenguajes, proporcionando un marco para construir reconocedores (parsers),
intérpretes, compiladores y traductores de lenguajes a partir de las descripciones
gramaticales de los mismos (conteniendo acciones semánticas a realizarse en
varios lenguajes de programación). ANTLR genera un programa que determina
si una sentencia o palabra pertenece a dicho lenguaje (reconocedor), utilizando
algoritmos LL(*) de parsing. Si a dicha gramática, se le añaden acciones escritas
en un lenguaje de programación, el reconocedor se transforma en un traductor
o interprete. Además, proporciona facilidades para la creación de árboles
sintácticos y estructura para recorrerlos. ANTLR es un proyecto bajo licencia
BSD, viniendo con todo el código fuente disponible, y preparado para su
instalación bajo plataformas Linux, Windows y Mac OS X.
Actualmente ANTLR genera código Java, C, C++, C#, Python, Perl, Delphi,
Ada95, JavaScript y Objective-C.
3. OTRAS HERRAMIENTAS
a) BYACC/JAVA
Es una extensión de YACC para generar código JAVA en vez de C/C++, que
genera ficheros de especificaciones igual que YACC y sus salidas son código y
declaraciones de lenguaje escritos en JAVA.
b) COCO/JAVA
c) JELL
AUTOMATAS Y COMPILADORES
UNIVERSIDAD NACIONAL DE TRUJILLO
d) JACCIE
b) ELI
c) PCCT
AUTOMATAS Y COMPILADORES
UNIVERSIDAD NACIONAL DE TRUJILLO
BIBLIOGRAFIA
https://www.ecured.cu/Herramientas_para_la_construcci%C3%B3n_de_compiladores
http://bloggcompliladores7mo1.blogspot.com/2010/11/unidad-4_20.html
https://sites.google.com/site/teoriadelenguajesycompiladores/herramientas
AUTOMATAS Y COMPILADORES