Spaces:
Running
Running
title: Analisis-Lenguaje Robot | |
emoji: 🦀 | |
colorFrom: yellow | |
colorTo: red | |
sdk: gradio | |
sdk_version: 5.28.0 | |
app_file: app.py | |
pinned: false | |
license: cc | |
# Universidad Autónoma de Tamaulipas | |
# Proyecto - Analizador en Hugginface | |
INTEGRANTES | |
- Gutiérrez Garcés Edwin | |
- Ruiz Yañez Aaron Alfonso | |
- Garcés Hernández Jesús Eduardo | |
- Moreno Reyes Luis Daniel | |
# Analizador Semántico - Lenguaje de Robots | |
Este proyecto realiza un análisis **léxico**, **sintáctico** y **semántico** para un lenguaje de programación diseñado para robots, originalmente programado en java; completamente migrado a **Python** y ejecutable en Hugging Face Spaces mediante una interfaz Gradio. | |
## Funcionalidades | |
- Lexer que reconoce más de 50 instrucciones del lenguaje del robot | |
- Parser recursivo que genera un árbol de sintaxis abstracta (AST) | |
- Análisis semántico: | |
- Validación de uso de variables | |
- Detección de tipos incompatibles en operaciones | |
- Errores en condiciones de control (`IF`, `WHILE`) | |
- Exportación de resultados a `analisis.json` | |
## Formato de entrada | |
El archivo de entrada debe seguir la gramática del lenguaje de robot. Ejemplo: | |
```robot | |
x = 5; | |
y = z + 3.5; | |
IF y THEN { | |
a = y - 1; | |
} | |
``` | |
## ¿Cómo usar este Space? | |
1. Sube un archivo `.txt` con tu código en el lenguaje de robot. | |
2. El sistema mostrará los **errores semánticos detectados**. | |
3. Se generará y visualizará un archivo `analisis.json` con detalles. | |
## Estructura del Proyecto | |
- `lexer.py` – analiza y clasifica los tokens | |
- `parser.py` – genera el AST | |
- `semantico.py` – realiza el análisis semántico | |
- `main.py` – ejecución desde línea de comandos | |
- `app.py` – interfaz Gradio para este Space | |
- `requirements.txt` – dependencias mínimas | |
--- | |
Desarrollado por [Ethgoin](https://huggingface.co/Ethgoin) | |
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference | |