https://github.com/openlabun/sintaxify
https://proyectosingenieria.uninorte.edu.co/sintaxify
https://github.com/openlabun/sintaxify
compilers formal-grammars html sintaxis-analyzer
Last synced: about 1 year ago
JSON representation
https://proyectosingenieria.uninorte.edu.co/sintaxify
- Host: GitHub
- URL: https://github.com/openlabun/sintaxify
- Owner: openlabun
- Created: 2024-06-12T16:52:12.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-13T03:24:54.000Z (almost 2 years ago)
- Last Synced: 2025-03-11T20:37:20.456Z (about 1 year ago)
- Topics: compilers, formal-grammars, html, sintaxis-analyzer
- Language: JavaScript
- Homepage:
- Size: 66.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sintaxify
## Resumen y Justificación
**Sintaxify** es una aplicación web diseñada para simplificar el análisis sintáctico de gramáticas formales, una tarea fundamental en el estudio de lenguajes formales y compiladores. La herramienta permite a los usuarios ingresar gramáticas, realizar la derivación más a la izquierda, calcular los conjuntos de primeros y siguientes, y construir la tabla M. Con esta información, Sintaxify facilita un análisis sintáctico descendente paso a paso para reconocer cadenas de entrada, proporcionando una plataforma interactiva y práctica para estudiantes y profesionales. Este proyecto es especialmente útil para egresados y estudiantes de ciencias de la computación, ya que les permite profundizar su comprensión y práctica en estos conceptos clave.
Actualmente Sintaxify solo realiza recursividad para las producciones de tipo E->E, por lo que se espera que se realice un seguimiento a futuro para que se apliquen todas las recursividades .
Justificaciones:
1.Facilitación del Aprendizaje:
Sintaxify proporciona una plataforma interactiva donde los estudiantes pueden practicar y visualizar el proceso de análisis sintáctico. Esto hace que conceptos abstractos y complejos sean más accesibles y comprensibles.
2.Herramienta de Referencia:
Para los profesionales, Sintaxify sirve como una herramienta de referencia rápida para la verificación de gramáticas y la construcción de tablas M, ahorrando tiempo y reduciendo errores en la fase de diseño de compiladores y parsers.
3.Refuerzo de Conocimientos:
La posibilidad de realizar análisis sintáctico paso a paso permite a los usuarios consolidar su comprensión de los algoritmos de parsing, cruciales en cursos de teoría de la computación y diseño de compiladores.
4.Preparación Profesional:
Sintaxify ayuda a preparar a los estudiantes para roles técnicos avanzados, ya que el análisis sintáctico es una habilidad fundamental en el desarrollo de lenguajes de programación y herramientas de software relacionadas.
5.Acceso Universal y Colaborativo:
Como una aplicación web, Sintaxify es accesible desde cualquier lugar, facilitando la colaboración entre estudiantes y profesionales. Su naturaleza abierta fomenta el aprendizaje compartido y el intercambio de conocimientos.
## Pasos para Ejecutarla
1. Clonar el Repositorio de GitHub:
* Abre tu terminal.
* Clona el repositorio usando el siguiente comando:
git clone https://github.com/proyectosingenieriauninorte/Sintaxify.git
* Navega al directorio del repositorio clonado:
cd Sintaxify
2. Abrir el Programa:
* Abre el archivo HTML principal en tu navegador, se encuentra en la carpeta principal
* Por ejemplo:
open index.html
* Alternativas si estás en un entorno Linux:
xdg-open index.html
3. Ingresar el Contenido a Modificar:
* En la interfaz de la página web, localiza el campo de entrada para ingresar las producciones gramaticales.
* Ingresa las producciones en el formato adecuado, por ejemplo:
E -> E+T | T
T -> T*F | F
F -> (E) | id
Nota: Hay que tener en cuenta que la calculadora unicamnete realiza derivaciones cuando la recursividad es de tipo E->E
4. Ver el Resultado:
* Presiona el botón "Transformar Gramática" para procesar las producciones gramaticales.
* Observa el resultado mostrado en la página, que puede incluir las producciones transformadas, el cálculo de los conjuntos FIRST y FOLLOW, etc.
5. Ingresar el Contenido Modificado:
* Si el programa te proporciona contenido modificado o producciones transformadas, cópialo de la sección de resultados.
* Ingresa este contenido modificado en el campo de entrada nuevamente para realizar más transformaciones o cálculos adicionales
6. Ver los Resultados en Formato de Tabla:
* Presiona el botón correspondiente para visualizar los resultados en formato de tabla. Este botón puede llamarse "Ver en Tabla" o algo similar.
* Revisa los resultados mostrados en formato de tabla en la página.
Realizado por:
Nathalia de la Rans
Miguel Garcia
Juan Pineda
Esteban Ramírez