Module: HackAssembler::ComputationTranslator
- Defined in:
- lib/hack_assembler/computation_translator.rb
Class Method Summary collapse
Class Method Details
.translate(computation) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/hack_assembler/computation_translator.rb', line 3 def self.translate(computation) a_or_m_register = '0' if computation.include? 'M' a_or_m_register = '1' end generic_computation = computation.gsub(/X/, '$').gsub(/(A|M)/, 'X') operation_bytecode = @@translation_table[generic_computation] raise ParserError if operation_bytecode.nil? bytecode = a_or_m_register + operation_bytecode bytecode end |