TourneyJS: Analizador Léxico para Gestión de Torneos Deportivos
Desarrollar una herramienta de análisis léxico en JavaScript que permita interpretar archivos de texto que describan un torneo deportivo basado en equipos, jugadores y resultados de partidos. La aplicación deberá realizar un análisis léxico del archivo de entrada, extraer los tokens correspondientes y generar dos tipos de salida.
- Un reporte HTML con las tablas de posiciones finales, estadísticas individuales y de equipos, ordenadas según el sistema de puntuación del torneo.
- Diagrama de brackets de eliminación en formato gráfico, genereados con Graphviz, representando visualmente la estructura del torneo y el avance de los equipos.
El sistema contará con una interfaz web que permitirá a los usuarios cargar archivos, visualizar el análisis léxico, generar las salidas y exportarlas.
El archivo de entrada sigue una estructura jerárquica donde los elementos principales son:
-
TORNEO: Sección donde se define la información general del torneo de eliminación.
-
EQUIPOS: Sección donde se definen todos los equipos participantes y sus jugadores.
-
ELIMINACIÓN: Sección donde se definen los partidos del torneo de eliminación directa organizados por fases.
Reglas de Sintaxis del Lenguaje

Cuando se detectan errores en la sintaxis del archivo de entrada, estos deben reportarse en una tabla HTML.

Cada error léxico debe contener la siguiente información:
- Número del error: Identificador del error en la lista.
- Descripción: Breve explicación del error
- Línea y columna: Ubicación exacta del error en el archivo de entrada.
Cuando el código de entrada es válido, el analizador debe extraer y mostrar los tokens reconocidos en una tabla HTML. Estos tokens representan los elementos válidos del lenguaje.
El sistema debe generar automáticamente cuatro reportes principales que aprovechen toda la información procesada, estos reportes deben realizarse en uno o varios reportes individuales, a discreción del estudiante, en formato HTML
Muestra el avance de todos los equipos a través de las fases del torneo, incluyendo resultados y próximos enfrentramientos.
Análisis detallado del desempeño de cada equipo en el torneo.
- J: Partidos Jugados
- G: Partidos Ganados
- P: Partidos Perdidos
- GF: Goles a Favor
- GC: Goles en Contra
Ranking de los jugadores que más goles han anotado en el torneo
Resumen completo con datos estadísticos del torneo.







