jueves, 10 de febrero de 2011
HP anuncia la tablet TouchPad con webOS
jueves, 3 de febrero de 2011
EEUU bloquea el dominio 'rojadirecta.org'
miércoles, 2 de febrero de 2011
ANTLR y JavaCC
ANTLR es una herramienta que proporciona un marco de trabajo para la construcción de reconocedores, intérpretes, compiladores y traductores de lenguajes a partir de gramáticas enriquecidas con acciones. En resumen proporciona todo lo necesario para el desarrollo de este tipo de sistemas, entre los más importantes:
· Construcción de analizadores sintácticos.
· Mecanismos de construcción y recorrido de árboles de sintaxis abstracta (AST).
· Mecanismos de tratamiento de plantillas.
· Mecanismos de detección y recuperación de errores.
Como ventajas adicionales que diferencian a ANTLR de otras herramientas similares podemos citar la posibilidad de generar el código de salida en diferentes lenguajes como Java, C, C++, C# o Python, y el hecho de disponer de un entorno de desarrollo propio llamado ANTLRWorks que nos permitirá construir de una forma bastante amigable las gramáticas de entrada a la herramienta, proporcionando representaciones gráficas de las expresiones y árboles generados, e incluyendo un intérprete y depurador propio.
El generador JavaCC (Java Compiler Compiler) es una herramienta para generar programas escritos en lenguaje Java; acepta como entrada una especificación de un determinado lenguaje y produce como salida un analizador para ese lenguaje. En la manera más simple de funcionamiento, la especificación proporcionada define las características sintácticas y lexicográficas de un lenguaje y se genera un analizador léxicosintáctico del lenguaje especificado; pero también es posible completar una especificación léxico sintáctica con la inclusión adecuada de código para que el programa generado llegue a ser un analizador completo del lenguaje.
Obtención de un analizador léxico-sintáctico
• Pasos para la generación del analizador
1.- Edición de la especificación (editor de texto plano)
vi | edit |· · · NombreFichero.jj
(el nombre del fichero puede tener cualquier extensión; suele usarse .jj)
2.- Ejecución del generador
javacc NombreFichero.jj
Si el nombre elegido para la especificación es NombreDeLaEspecif (más adelante se indica la manera de dar un nombre a la especificación), como resultado de la generación se obtiene (además de otros ficheros auxiliares) el fichero
NombreDeLaEspecif.java
3.- Compilación del analizador generado
javac NombreDeLaEspecif.java
Como resultado de la compilación se obtiene (además de otras clases auxiliares) el fichero
NombreDeLaEspecif.class
• Ejecución del analizador generado
Si el nombre del fichero donde se encuentra el texto fuente (escrito en el lenguaje para el que se ha generado el analizador) que se pretende analizar es Programa.len
java NombreDeLaEspecif <>
Si se desea que los resultados del análisis, en vez de presentarse por pantalla, queden grabados en un fichero de nombre Salida.dat
java NombreDeLaEspecif <> Salida.dat
Mas información:
http://www.lpsi.eui.upm.es/webcomp/jgperez/java/IntrodJavaCC.pdf
Descargas: