Exemple #1
0
                }))

        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,