Module: HackAssembler

Defined in:
lib/hack_assembler.rb,
lib/hack_assembler/version.rb,
lib/hack_assembler/assembler.rb,
lib/hack_assembler/parser_error.rb,
lib/hack_assembler/a_instruction.rb,
lib/hack_assembler/c_instruction.rb,
lib/hack_assembler/jump_translator.rb,
lib/hack_assembler/computation_translator.rb,
lib/hack_assembler/destination_translator.rb

Defined Under Namespace

Modules: AInstruction, Assembler, CInstruction, ComputationTranslator, DestinationTranslator, JumpTranslator Classes: ParserError

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.translate_file(input_file, output_file) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/hack_assembler.rb', line 11

def self.translate_file(input_file, output_file)
  source_file = File.open(input_file)
  source_code = source_file.read

  machine_code = Assembler.translate(source_code)

  File.open(output_file, 'w') { |file| file.write(machine_code); file.close }

  source_file.close
end