Spaces:
Running
Running
File size: 925 Bytes
d02548d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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() |