import argparse class Parser(): def __init__(self, data): pass def hasMoreCommnads(self): pass def advance(self): pass def commandType(self): pass def symbol(self): pass def dest(self): pass def comp(self): pass def jump(self): pass class Code(): def dest(self, mnemonic): pass def comp(self, mnemonic): pass def jump(self, mnemonic): pass class SymbolTable(): def __init__(self): pass def addEntry(self, symbol, address): pass def contains(self, symbol): pass def GetAddress(self, symbol): pass def main(): ''' The main function for the assembler. Takes a command line argument for the input file and an optional argument for the output file. ''' print("You do not have to use this method to parse arguments.") print("The example from project 5.5 works fine too.") print("You will get an error soon if you are running this.") print("You need to actually modify the code. What function") print("do you want to run first?") print("-------------------------") # Create an argument parser for command line arguments a_parser = argparse.ArgumentParser(description='Assembler for the Hack CPU') a_parser.add_argument('input_file', type=str) a_parser.add_argument('-o', dest='output_file', default='Prog.hack', type=str) args = a_parser.parse_args() parser = Parser(args.input_file) parser.DoYourThingButPleaseRenameThisMethod() #<-- will error here # Call the main function if __name__ == "__main__": main()