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()