Acerca de...

Mi foto
Ecuador
Mis dos amores quienes me acompañan y me apoyan en todo.....

jueves, 3 de febrero de 2011

Peligran puestos laborales por fraude digital

El malware, una variante del troyano Bredolab, permite al atacante obtener las credenciales de banca online de la persona autorizada para llevar a cabo transacciones financieras en la empresa

miércoles, 2 de febrero de 2011

javaCC

Java Compiler Compiler es un generador de analizadores sintácticos de código abierto para el lenguaje de programación Java. JavaCC es similar a Yacc en que genera un parser para una gramática presentada en notación BNF, con la diferencia de que la salida es en código Java. A diferencia de Yacc, JavaCC genera analizadores descendentes (top-down), lo que lo limita a la clase de gramáticas LL(K) (en particular, la recursión desde izquierda no se puede usar). El constructor de árboles que lo acompaña, JJTree, construye árboles de abajo hacia arriba (bottom-up).

JavaCC está licenciado bajo una licencia BSD.

En 1996, Sun Microsystems liberó un parser llamado Jack. Los desarrolladores responsables de Jack crearon su propia compañía llamada Metamata y cambiaron el nombre Jack a JavaCC. Metamata se convirtió en WebGain. Después de que WebGain finalizara sus operaciones, JavaCC se traslado a su ubicación actual.

ANTLR

¿Qué es y cómo funciona ANTLR?

ANTLR es un programa está escrito en java, por lo que se necesita alguna máquina virtual de java para poder ejecutarlo. Es software libre, lo que quiere decir que al descargarlo de la página oficial (http://www.antlr.org) obtendremos tanto los ficheros compilados *.class como el código fuente en forma de ficheros *.java.

ANTLR es un generador de analizadores. Mucha gente llama a estas herramientas compiladores de compiladores, dado que ayudar a implementar compiladores es su uso más popular. Sin embargo tienen otros usos. ANTLR, por ejemplo, podría servir para implementar el intérprete de un fichero de configuración.

ANTLR es capaz de generar un analizador léxico, sintáctico o semántico en varios lenguajes (java, C++ y C# en su versión 2.7.2) a partir de unos ficheros escritos en un lenguaje propio.

Dicho lenguaje es básicamente una serie de reglas EBNF y un conjunto de construcciones auxiliares.

ANTLR genera analizadores pred-LL(k), y él mismo utiliza un analizador pred-LL(k) para leer los ficheros en los que están escritas las reglas EBNF. ANTLR admite acciones en sus reglas, además de otras prestaciones como paso de parámetros, devolución de valores o herencia de gramáticas.

En el ejemplo siguiente se describe un programa de análisis en ANTLR, que puede reconocer expresiones de la suma en la forma “1+2+3”:

opciones generales de //, por ejemplo la opción de la lengua

objetivo

{

LENGUA = “CSharp”;

}

// que sigue que la clase

SumParser del programa de análisis amplía programa de análisis;

opción

{

k = 1;

}

definición de // de una declaración

de la expresión: NÚMERO ENTERO (NÚMERO ENTERO DE PLUS^) *;

// aquí la clase

SumLexer de Lexer amplía Lexer;

opción

{

k = 1;

}

MÁS : '+';

DÍGITO : (“0”… “9”);

NÚMERO ENTERO: (DÍGITO) +;

El listado siguiente demuestra la llamada de los programas de análisis en un programa:

Lector del lector del texto;

el lector del texto de // (...) con indicaciones llena

SumLexer más lexer = SumLexer nuevo (lector);

SumParser más programa de análisis = SumParser nuevo (más lexer);

parser.expression ();