})) else: print(json.dumps({"message": "Error opcion AFN no valida"})) #Opciones de Gramatica elif (sys.argv[1] == "Grammar"): fileGrammar = "/home/ricardo/ESCOM/5Semestre/Compiladores/CompiladorGUI/GUI/Engine/files/grammar.txt" if (sys.argv[2] == "PathLL1"): #Creamos un objeto gramatica y guardamos fileObjectGrammar = open(fileGrammar, 'wb') gramObject = Grammar(sys.argv[3]) pickle.dump(sys.argv[3], fileObjectGrammar) fileObjectGrammar.close() #Crear tabla ll1 y mostrarla head, body = gramObject.creatTableLL1() print(json.dumps({"Head": head, "Body": body, "message": True})) #Analizar una cadena con LL1 elif (sys.argv[2] == "StringLL1"): fileObjRead = open(fileGrammar, 'rb') pathStringGrammar = pickle.load(fileObjRead) fileObjRead.close() #Creamos la gramatica gramObj = Grammar(pathStringGrammar) #Crear analizador Lexico pathLex = sys.argv[4] lexAn = LexAnalizer.createLexFile(pathLex, sys.argv[3]) #Crear diccinario dictStr = createDictFile(sys.argv[5]) #Analizar la cadena stack, string, action = gramObj.analizeStr(sys.argv[3], lexAn,