Spaces:
Running
Running
import gradio as gr | |
import json | |
from lexer import lexer | |
from parser import Parser | |
from semantico import AnalizadorSemantico | |
def analizar_codigo(archivo): | |
try: | |
contenido = archivo.read().decode("utf-8") | |
tokens = lexer(contenido) | |
parser = Parser(tokens) | |
ast = parser.parse() | |
analizador = AnalizadorSemantico(ast) | |
resultado = analizador.analizar() | |
errores = "\n".join(resultado["errores_semanticos"]) | |
json_resultado = json.dumps(resultado, indent=2) | |
return errores, json_resultado | |
except Exception as e: | |
return f"Error: {e}", "{}" | |
gr.Interface( | |
fn=analizar_codigo, | |
inputs=gr.File(label="Sube un archivo de c贸digo"), | |
outputs=[ | |
gr.Textbox(label="Errores detectados"), | |
gr.Code(label="Contenido de analisis.json", language="json") | |
], | |
title="Analizador Sem谩ntico en Python - Lenguaje de Robots" | |
).launch() |