2023-07-11から1日間の記事一覧

VMトランスレーター / VMトランスレーターを作る / StaticTest.vm

Chapter 7 最後はStaticTest.vm。5ファイル全部合格した。これでVMトランスレーターの半分が出来たことになる。 if __name__ == "__main__": a = VM_Translator("StaticTest.vm") a.code_writer.set_pointer("SP", 256) a.generate_asm() 正解: 実行結果:

VMトランスレーター / VMトランスレーターを作る / PointerTest.vm

Chapter 7 今度はPointerTest.vm。 if __name__ == "__main__": a = VM_Translator("PointerTest.vm") a.code_writer.set_pointer("SP", 256) a.generate_asm() 正解: 実行結果:

VMトランスレーター / VMトランスレーターを作る / BasicTest.vm

Chapter 7 今度はBasicTest.vm。 if __name__ == "__main__": a = VM_Translator("BasicTest.vm") a.code_writer.set_pointer("SP", 256) a.code_writer.set_pointer("LCL", 300) a.code_writer.set_pointer("ARG", 400) a.code_writer.set_pointer("THIS", …

VMトランスレーター / VMトランスレーターを作る / StackTest.vm

Chapter 7 今度はStackTest.vm。 if __name__ == "__main__": a = VM_Translator("StackTest.vm") a.code_writer.set_pointer("SP", 256) a.generate_asm() 正解: 実行結果:

VMトランスレーター / VMトランスレーターを作る / SimpleAdd.vm

Chapter 7 テキストが用意しているテストファイルで動作確認をする。 まずSimpleAdd.vm (7+8=15)を計算する。 from Parser import * from Code_Writer import * # .vmファイルを入力して.asmファイルを出力する。 class VM_Translator: def __init__(self, v…