Ethgoin commited on
Commit
0af5ad8
verified
1 Parent(s): db92aa2

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +20 -4
main.py CHANGED
@@ -25,10 +25,12 @@ def sugerencia_nlp_error(error_msg):
25
  if response.status_code == 200:
26
  return response.json()[0]["generated_text"].strip()
27
  return f"(sin sugerencia: {response.status_code})"
28
- except:
 
29
  return "(sugerencia no disponible por error de conexi贸n)"
30
 
31
  def main():
 
32
  with open("entrada.txt", "r", encoding="utf-8") as f:
33
  codigo = f.read()
34
 
@@ -39,19 +41,25 @@ def main():
39
  ast = []
40
 
41
  try:
 
42
  tokens = lexer(codigo)
43
  parser = Parser(tokens)
44
  try:
 
45
  ast = parser.parse()
 
46
  except SyntaxError as e:
 
47
  errores_parser.append(str(e))
48
  ast = []
49
  except Exception as e:
50
- errores_parser.append(f"Error en el lexer o parser: {str(e)}")
 
51
  ast = []
52
 
53
  if ast:
54
  try:
 
55
  semantico = AnalizadorSemantico(ast)
56
  resultado = semantico.analizar()
57
  errores_semanticos = [
@@ -59,23 +67,29 @@ def main():
59
  for err in resultado["errores_semanticos"]
60
  ]
61
  variables = resultado["variables_declaradas"]
 
62
 
 
63
  generador = GeneradorIntermedio()
64
  intermedio = generador.generar(ast)
65
  with open("codigo_intermedio.txt", "w", encoding="utf-8") as f:
66
  for linea in intermedio:
67
  f.write(linea + "\n")
68
  except Exception as e:
 
69
  errores_semanticos.append({"mensaje": str(e), "sugerencia": "(no procesado)"})
70
 
71
  try:
 
72
  comentarios_ext = [
73
  {"comentario": c, "sugerencia": s}
74
  for c, s in procesar_comentarios(codigo)
75
  ]
76
- except:
 
77
  comentarios_ext = []
78
 
 
79
  analisis = {
80
  "variables_declaradas": variables,
81
  "errores_parser": errores_parser,
@@ -86,10 +100,12 @@ def main():
86
  with open("analisis.json", "w", encoding="utf-8") as f:
87
  json.dump(analisis, f, indent=2)
88
 
89
- # Protecci贸n final
 
90
  if __name__ == "__main__":
91
  try:
92
  main()
93
  except Exception as e:
 
94
  with open("analisis.json", "w", encoding="utf-8") as f:
95
  json.dump({"error_fatal": str(e)}, f, indent=2)
 
25
  if response.status_code == 200:
26
  return response.json()[0]["generated_text"].strip()
27
  return f"(sin sugerencia: {response.status_code})"
28
+ except Exception as e:
29
+ print("Error al obtener sugerencia NLP:", e)
30
  return "(sugerencia no disponible por error de conexi贸n)"
31
 
32
  def main():
33
+ print("Inicio del an谩lisis")
34
  with open("entrada.txt", "r", encoding="utf-8") as f:
35
  codigo = f.read()
36
 
 
41
  ast = []
42
 
43
  try:
44
+ print("Lexical analysis...")
45
  tokens = lexer(codigo)
46
  parser = Parser(tokens)
47
  try:
48
+ print("Syntactic analysis...")
49
  ast = parser.parse()
50
+ print("Parser completado con 茅xito")
51
  except SyntaxError as e:
52
+ print("Error capturado en parser:", e)
53
  errores_parser.append(str(e))
54
  ast = []
55
  except Exception as e:
56
+ print("Error en lexer o parser:", e)
57
+ errores_parser.append(f"Error cr铆tico: {str(e)}")
58
  ast = []
59
 
60
  if ast:
61
  try:
62
+ print("An谩lisis sem谩ntico...")
63
  semantico = AnalizadorSemantico(ast)
64
  resultado = semantico.analizar()
65
  errores_semanticos = [
 
67
  for err in resultado["errores_semanticos"]
68
  ]
69
  variables = resultado["variables_declaradas"]
70
+ print("Sem谩ntico completado")
71
 
72
+ print("Generando c贸digo intermedio...")
73
  generador = GeneradorIntermedio()
74
  intermedio = generador.generar(ast)
75
  with open("codigo_intermedio.txt", "w", encoding="utf-8") as f:
76
  for linea in intermedio:
77
  f.write(linea + "\n")
78
  except Exception as e:
79
+ print("Error en sem谩ntico:", e)
80
  errores_semanticos.append({"mensaje": str(e), "sugerencia": "(no procesado)"})
81
 
82
  try:
83
+ print("Procesando comentarios...")
84
  comentarios_ext = [
85
  {"comentario": c, "sugerencia": s}
86
  for c, s in procesar_comentarios(codigo)
87
  ]
88
+ except Exception as e:
89
+ print("Error procesando comentarios:", e)
90
  comentarios_ext = []
91
 
92
+ print("Escribiendo analisis.json...")
93
  analisis = {
94
  "variables_declaradas": variables,
95
  "errores_parser": errores_parser,
 
100
  with open("analisis.json", "w", encoding="utf-8") as f:
101
  json.dump(analisis, f, indent=2)
102
 
103
+ print("An谩lisis completado.")
104
+
105
  if __name__ == "__main__":
106
  try:
107
  main()
108
  except Exception as e:
109
+ print("Error fatal en ejecuci贸n principal:", e)
110
  with open("analisis.json", "w", encoding="utf-8") as f:
111
  json.dump({"error_fatal": str(e)}, f, indent=2)