Exemple #1
0
def main():
    file_text = read_file()

    lexer = Lexer()
    assembler = Assembler()

    tokens = lexer.tokenize_instructions(file_text)

    print("look at my coins")
    map(lambda t: t.__str__(), tokens)

    bin_instructions = assembler.assemble_instructions(tokens)

    print("look at my binaries")
    print("\n".join(bin_instructions))

    write_file("\n".join(bin_instructions))
Exemple #2
0
def test():
    lexer = Lexer()
    assembler = Assembler()
    
    bin_instructions = assembler.assemble_instructions(lexer.tokenize_instructions(asm_source_code))

    print("look at my binaries")
    print(bin_instructions)

    if len(bin_instructions) != len(correct_instructions):
        print(f'have bin instruction len {len(bin_instructions)}, want {len(correct_instructions)}')
        exit()

    for i in range(len(bin_instructions)):
        bin_inst = bin_instructions[i] 
        correct_bin_inst = correct_instructions[i].replace(' ', '')
        if bin_inst != correct_bin_inst:
            print(f'have bin instruction {bin_inst}, want {correct_bin_inst}')
            exit()
    print("good binaries, thank you")