Spaces:
Sleeping
Sleeping
third update to App.py
Browse files
app.py
CHANGED
@@ -4,26 +4,26 @@ from lexer import lexer
|
|
4 |
from parser import Parser
|
5 |
from semantico import AnalizadorSemantico
|
6 |
|
7 |
-
def analizar_codigo(
|
8 |
-
|
9 |
-
|
|
|
10 |
tokens = lexer(contenido)
|
11 |
parser = Parser(tokens)
|
12 |
ast = parser.parse()
|
13 |
analizador = AnalizadorSemantico(ast)
|
14 |
resultado = analizador.analizar()
|
15 |
-
errores = "
|
16 |
-
|
17 |
-
return errores, json_resultado
|
18 |
except Exception as e:
|
19 |
return f"Error: {e}", "{}"
|
20 |
|
21 |
gr.Interface(
|
22 |
fn=analizar_codigo,
|
23 |
-
inputs=gr.File(label="Sube
|
24 |
outputs=[
|
25 |
gr.Textbox(label="Errores detectados"),
|
26 |
gr.Code(label="Contenido de analisis.json", language="json")
|
27 |
],
|
28 |
-
title="Analizador Sem谩ntico
|
29 |
-
).launch()
|
|
|
4 |
from parser import Parser
|
5 |
from semantico import AnalizadorSemantico
|
6 |
|
7 |
+
def analizar_codigo(archivo_ruta):
|
8 |
+
try:
|
9 |
+
with open(archivo_ruta, "r", encoding="utf-8") as f:
|
10 |
+
contenido = f.read()
|
11 |
tokens = lexer(contenido)
|
12 |
parser = Parser(tokens)
|
13 |
ast = parser.parse()
|
14 |
analizador = AnalizadorSemantico(ast)
|
15 |
resultado = analizador.analizar()
|
16 |
+
errores = "\\n".join(resultado["errores_semanticos"])
|
17 |
+
return errores, json.dumps(resultado, indent=2)
|
|
|
18 |
except Exception as e:
|
19 |
return f"Error: {e}", "{}"
|
20 |
|
21 |
gr.Interface(
|
22 |
fn=analizar_codigo,
|
23 |
+
inputs=gr.File(label="Sube tu archivo de c贸digo (.txt)"),
|
24 |
outputs=[
|
25 |
gr.Textbox(label="Errores detectados"),
|
26 |
gr.Code(label="Contenido de analisis.json", language="json")
|
27 |
],
|
28 |
+
title="Analizador Sem谩ntico - Lenguaje de Robots"
|
29 |
+
).launch()
|