Class: Voodoo::ARMELFGenerator

Inherits:
ARMGasGenerator show all
Defined in:
lib/voodoo/generators/arm_elf_generator.rb

Overview

Generator that produces ELF objects for arm

Instance Method Summary collapse

Methods inherited from ARMGasGenerator

#add_constant, #arg_offset, #arg_reference, #arg_register, #auto_bytes, #auto_bytes_register, #auto_words, #begin_block, #begin_function, #byte, #call, #comment, #common_if, #create_frame, #destroy_frame, #emit_align, #emit_constants, #emit_function_prologue, #emit_label_size, #emit_label_type, #emit_load_word, #emit_store_word, #end_block, #end_function, #end_if, #eval_binop, #eval_expr, #export, #get_byte, #get_word, #goto, #grow_frame, #ifelse, #ifeq, #ifge, #ifgt, #ifle, #iflt, #ifne, #import, #let, #load_at, #load_value, #load_value_into_register, #local_offset, #offset_reference, #register_local?, #ret, #set, #set_byte, #set_word, #string, #tail_call, #value_ref, #word

Methods inherited from CommonCodeGenerator

#add, #add_function, #align, #assymetric_binop?, #at_expr?, #binop?, #block, #count_locals, #default_alignment, #each_statement, #emit, #emit_label, #emit_voodoo, #export, #features, #function, #gensym, #global?, #has_feature?, #import, #in_section, #integer?, #label, #local_register, #number_of_register_arguments, #number_of_stack_arguments, #real_section_name, #register?, #register_arg?, #registers_for_locals, #restore_frame, #restore_locals, #restore_registers_from_frame, #save_frame, #save_frame_and_locals, #save_locals, #save_registers_to_frame, #saved_frame_size, #section, #section=, #section_alias, #stack_align, #substitute_number, #substitution?, #symbol?, #symmetric_binop?, #with_temporaries, #with_temporary

Constructor Details

#initialize(params = {}) ⇒ ARMELFGenerator

Returns a new instance of ARMELFGenerator.



9
10
11
12
13
# File 'lib/voodoo/generators/arm_elf_generator.rb', line 9

def initialize params = {}
  @asmgenerator = ARMGasGenerator.new params
  super(@asmgenerator)
  @elfgenerator = GasELFGenerator.new @asmgenerator
end

Instance Method Details

#output_file_name(input_name) ⇒ Object



15
16
17
# File 'lib/voodoo/generators/arm_elf_generator.rb', line 15

def output_file_name input_name
  @elfgenerator.output_file_name input_name
end

#output_file_suffixObject



19
20
21
# File 'lib/voodoo/generators/arm_elf_generator.rb', line 19

def output_file_suffix
  @elfgenerator.output_file_suffix
end

#write(io) ⇒ Object



23
24
25
# File 'lib/voodoo/generators/arm_elf_generator.rb', line 23

def write io
  @elfgenerator.write io
end