Sha256: d3524dd4333dd2839b92fb7ef062373e1ddbe19380ac6a9d0e64ad6c1ac65839
Contents?: true
Size: 984 Bytes
Versions: 1
Compression:
Stored size: 984 Bytes
Contents
require_relative 'hack_assembler/version' require_relative 'hack_assembler/parser_error' require_relative 'hack_assembler/a_instruction' require_relative 'hack_assembler/computation_translator' require_relative 'hack_assembler/destination_translator' require_relative 'hack_assembler/jump_translator' require_relative 'hack_assembler/c_instruction' require_relative 'hack_assembler/assembler' require_relative 'hack_assembler/symbol_table' module HackAssembler def self.translate_file(input_file, output_file) source_file = File.open(input_file) source_code = source_file.read symbol_table = SymbolTable.new label_less_code = Assembler.scan_and_remove_labels(source_code, symbol_table) processed_source = Assembler.process_symbols(label_less_code, symbol_table) machine_code = Assembler.translate(processed_source) File.open(output_file, 'w') { |file| file.write(machine_code); file.close } source_file.close end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hack_assembler-0.2.0 | lib/hack_assembler.rb |