def test_salida_precedence_4(self): warnings.filterwarnings("ignore") assembly_file = os.path.splitext("valid/precedence_4.c")[0] + ".s" with open("valid/precedence_4.c", 'r') as infile: archivo = infile.read().replace('\n', '').strip().replace(" ", "") tokens = lexer.lexing(archivo, []) arbol_prueba = parser.parsing(tokens, "valid/precedence_4.c") generar(arbol_prueba, assembly_file) os.system("gcc -m32 {} -o {}".format(assembly_file, "precedence")) os.system("gcc -w valid/precedence_4.c") prueba = os.popen("./precedence_4;echo $?").read() verdadero = os.popen("./a.out;echo $?").read() print(prueba, verdadero) self.assertEqual(prueba, verdadero)
# source_file = sys.argv[1] assembly_file = os.path.splitext(args.source_file)[0] + ".s" with open(args.source_file, 'r') as infile, open(assembly_file, 'w') as outfile: source = infile.read().replace('\n', '').strip().replace(" ", "") new_tokens = [] vacio = [] lexado = lexer.lexing(source, new_tokens) if args.ltokens: print("Tokens lexados: ") print(lexado) arbol = parser.parsing(new_tokens, args.source_file) if args.tree: arbol.printTree() generar(arbol, assembly_file) if args.assembly: print("Código Ensamblador") print(open(assembly_file).read()) if args.name: os.system("gcc {} -o {}".format(assembly_file, args.name)) else: os.system("gcc {} -o {}".format( assembly_file, args.source_file.split("/")[-1][:-2])) # -O optimizador # -t Impirmir Arbol AST # -a asm # -h ayuda # -l lista de tokens