def __funcion_analizar(): g.errores_lexicos.clear() g.errores_sintacticos.clear() tablaSimbolos = TS.Entorno(None) entrada = my_editor.text.get('1.0', END) arbol = g.parse(entrada) if len(g.errores_lexicos) == 0: if len(g.errores_sintacticos) == 0: # raiz = graficando.analizador(entrada) data=principal.interpretar_sentencias(arbol,tablaSimbolos) tablaSimbolos.mostrar() imprimir_consola(data) # GraficarAST(raiz) else: imprimir_consola('Se detectaron algunos errores sintácticos') append_consola('') append_consola('No. \t Lexema \t Tipo \t\t Fila \t Columna \t Descripción ') i = 0 while i < len(g.errores_sintacticos): append_consola( str(i) + ' \t ' + str(g.errores_sintacticos[i].lexema) + ' \t ' + str(g.errores_sintacticos[i].tipo) + ' \t ' + str(g.errores_sintacticos[i].fila) + ' \t ' + str(g.errores_sintacticos[i].columna) + ' \t ' + str(g.errores_sintacticos[i].descripcion) + ' ') i += 1 else: imprimir_consola('Se detectaron algunos errores léxicos') append_consola('') append_consola('No. \t Lexema \t Tipo \t\t Fila \t Columna \t Descripción ') i = 0 while i < len(g.errores_lexicos): append_consola( str(i) + ' \t ' + str(g.errores_lexicos[i].lexema) + ' \t ' + str(g.errores_lexicos[i].tipo) + ' \t ' + str(g.errores_lexicos[i].fila) + ' \t ' + str(g.errores_lexicos[i].columna) + ' \t ' + str(g.errores_lexicos[i].descripcion) + ' ') i += 1
import tkinter as tk import gramaticaASC as g from tkinter import filedialog as FileDialog from tkinter import colorchooser as ColorChooser from tkinter import messagebox as MessageBox import Graficar as graficando import principal as principal import os from tkinter import filedialog from tkinter import StringVar from tkinter.constants import END, INSERT import TablaSimbolos as TS tablaSimbolos = TS.Entorno(None) from tkinter import messagebox import pickle from graphviz import Digraph pathFile = '' #################################### CLASE TextLineNumbers #################################### class TextLineNumbers(tk.Canvas): def __init__(self, *args, **kwargs): tk.Canvas.__init__(self, *args, **kwargs) self.textwidget = None def attach(self, text_widget): self.textwidget = text_widget