Desarrollo de análisis léxicos "procesadores del lenguaje"

Job ID: 35612232

Budget: €8 – €30 EUR

El proyecto se compone de 3 partes:
1# Análisis léxico con flex
Crear un analizador léxico para procesar un documento XML
realizando las operaciones necesarias para que al finalizar el
procesado permita mostrar las siguientes estadísticas:
- La línea en la que empieza comentario más largo.
- El nombre de la etiqueta con más espacios de nombres declarados.
- El atributo con nombre más largo, sin tener en cuenta los prefijos
de espacio de nombre.
- El número de elementos vacíos, aquellos que finalizan sin tener etiquetas
anidadas ni texto, aunque pueden tener blancos (tabuladores,
espacios y saltos de línea), comentarios y secciones CDATA.

El contenido de las secciones CDATA se deben ignorar para todas
las estadísticas (salvo para el conteo de los números de línea).


2# Traductor con JavaCC
Se trata de utilizar JavaCC para obtener un compilador que traduzca un
lenguaje de alto nivel a código de máquina de pila abstracta. Básicamente
lo mismo que hace el analizador recursivo descendente en C explicado en clase.

El lenguaje de alto nivel es muy sencillo. No tiene declaración de tipos.
Y el único tipo que permite es el tipo entero. En las condiciones de las
instrucciones if y while el valor 0 se interpreta como falso y cualquier
otro valor como cierto.


3# Traductor con flex y bison
Se trata de utilizar bison para obtener un compilador que traduzca un
lenguaje de alto nivel a código de la máquina de pila abstracta. Es decir,
lo mismo que se ha hecho con JavaCC, pero esta vez usando un generador
de analizadores ascendentes como es bison.

El lenguaje de alto nivel es muy sencillo. No tiene declaración de tipos.
Y el único tipo que permite es el tipo entero. En las condiciones de las
instrucciones if y while el valor 0 se interpreta como falso y cualquier
otro valor como cierto.