Ethgoin
Migraci贸n completa a Python
d02548d
raw
history blame
925 Bytes
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()