Calendario

Último mes Junio 2017 Mes siguiente
L M X J V S D
week 22 1 2 3 4
week 23 5 6 7 8 9 10 11
week 24 12 13 14 15 16 17 18
week 25 19 20 21 22 23 24 25
week 26 26 27 28 29 30

Próximos Eventos

Sin eventos

Usuarios Conectados

Tenemos 1 invitado conectado(s)
Español (spanish formal Internacional)English (United Kingdom)
>> Home Software

Software

Ruta: \ Software \

Archivo: Sefalas

zip.png
Subido:
13.11.07
Modificado:
14.11.07
Tamaño:
340 KB
Descargas:
1222
Version
1.1

Como apoyo a la docencia teórica de procesadores de lenguajes, una herramienta que muestrase el transcurso de la fase de análisis léxico y sintáctico sería de bastante utilidad dado que existen multitud de estrategias de análisis sintáctico y, por regla general, puede provocar confusión entre los alumnos.

Para tal propósito, en el curso académico 2003/2004 y dentro del marco de un proyecto fin de carrera, el alumno D. José Francisco Jódar Reyes desarrolló una herramienta de apoyo a la docencia de las técnicas de análisis léxico y análisis sintáctico que él mismo bautizó con el nombre de SEFALAS (Software para la Enseñanza de las Fases de Análisis Léxico y Análisis Sintáctico). Este software, desarrollado en Java, es de libre distribución y puede ser ejecutado en cualquier plataforma que disponga de la máquina virtual de Java. En concreto, las plataformas testeadas fueron Windows y Linux.

Las principales funcionalidades de Sefalas son:

  1. Análisis Léxico: Para esta etapa del proceso de traducción es posible expresar en LEX el conjunto de expresiones regulares que especifican los tokens. A partir de una palabra que pertenezca o no al conjunto de lexemas válidos, se muestra el AFD con y sin anticipación en formato de tabla y es posible analizar palabras y ver la evolución del análisis de léxico. En resumen, es posible realizar las siguientes tareas, Lectura/Escritura de especificaciones en formato LEX, generación automática del AFD con y sin anticipación, mediante tabla de estados, reconocedor de patrones y ejecuciones "paso a paso" de una palabra, mostrando la evolución del análisis en la tabla de estados.
  2. Análisis Sintáctico: Esta etapa cubre la mayor parte de las disposiciones de Sefalas ya que recoge las dos estrategias: análisis descendente y análisis ascendente. La primera de ellas se ilustra mediante el método descendente LL(1). La segunda se ilustra con los métodos de precedencia de operador y precedencia simple y las gramáticas LR en sus diversas modalidades: SLR, LR(1) y LALR. Además, es posible escribir la gramática en formato YACC y Sefalas construirá la tabla de análisis dependiendo de la estrategia seleccionada y, al igual que en el análisis léxico, es posible realizar el análisis de un texto de entrada y ver la evolución del análisis de forma interactiva a través de la tabla de análisis. En resumen, es posible realizar las siguientes tareas: Lectura/Escritura de especificaciones gramaticales en formato YACC/BYACC/BISON, Cálculo de los conjuntos Iniciales y Seguidores, Factorización de la gramática, eliminación de la recursividad a la izquierda, etc. etc.