4ª SESION la misión santificadora del Espíritu Santo en la vida de la Iglesi...
EXPO_ANTLR.pptx
1. Tecnológico Nacional de México Instituto Tecnológico de
Zacatecas
Nombre de la Materia: Lenguaje y Automatas 2
Nombre del Estudiante: Sandra Paulina De Santiago Martínez,
Cristian Sathiel Ramirez Reveles
Nombre de la Carrera: Ingenieria en sistemas computacion
Números de control: 20450255, 20450270
Fecha de entrega: 25 de julio del 2023
2. ANTLR (Otra herramienta para el reconocimiento de
idiomas) es un potente generador de analizadores para leer,
procesar, ejecutar o traducir texto estructurado o archivos
binarios. Es ampliamente utilizado para construir lenguajes,
herramientas y marcos. A partir de una gramática, ANTLR
genera un analizador que puede construir y analizar árboles.
3. ANTLR es un generador de parsers (analizadores) , donde se
admiten solamente gramáticas LL (gramática independiente de
contexto). Actualmente ANTLR genera código Java, C, C++, C#,
Python, Perl, Delphi, Ada95, JavaScript y Objective-C.
ANTLR es capaz de actuar a tres niveles a la vez (cuatro si se
tiene en cuenta la generación de código):
Análisis léxico
Análisis sintáctico
Análisis semántico
4. CARACTERISTICAS
1. El nombre de los tokens es en mayúscula y el
nombre de las variable de la gramática en
minúsculas.
2. Las reglas llevan : y acaban con ;
3. Para incluir clases o paquetes hay que incluirlos
dentro de un campo header @ header { import
java.util.*; }
4. En caso de querer poner atributos a la clase,
a~nadir un campo que se llame members. por
ejemplo @members { int j;}
5. Muestra el diagrama de las reglas gramaticales
6. Permite testear nuestras gramáticas con
ejemplos
1. Podemos ejecutar directamente
nuestros programas
2. Las gramáticas tienen que ser LL
3. La variable inicial no deberia ser incluida
en la parte derecha de ninguna
producción
4. Las acciones se denen en la gramática
por medio de llaves y son simplemente
codigo java
5. Los tokens tienen un atributo llamado
texto y se les puede repetir
6. Para ignorar tokens es necesario utilizar
el metodo {skip();}
5. Ventajas y Desventajas
VENTAJAS:
- Buena integración de los
analizadores léxicos y sinacticos
-El código generado por ANTLR
es más fácil de entender y
depurar que el YACC
-Las especificaciones
gramaticales de ANTLR permiten
la notación BNF y genera árboles
de análisis sintactico.
DESVENTAJAS:
-Genera analizadores menos eficientes
que los generados por YACC.
-Los ficheros de especificación de
ANTLR son muy complejas.
-El proceso de depurado consta de las
siguientes frases:
1) Escribir el código de acciones
2) Compilar el fichero de
especificaciones
3) Compilar y ejecutar el programa
generado
6. CONCLUSÓN
ANTLR es una herramienta que, bien utilizada,
nos ahorrará una gran cantidad de
tiempo en el desarrollo de compiladores. Si
comparamos el número de líneas escrito
en un archivo de gramática y el número de éstas
generadas por ANTLR, se comprueba
que podemos llegar a escribir hasta 30 veces
menos que escribiendo en Java
directamente.