compiler/asm/objwriter.rb

26 lines
No EOL
507 B
Ruby

module Assembler
class UnimplementedMethodError < RuntimeError; end
# Abstract base class.
class ObjWriter
def write!(filename)
File.open(filename, 'wb') do |file|
file.print(serialize)
end
end
def fail(name)
raise UnimplementedMethodError, name
end
# These methods must be defined for most uses of the library.
%w[header segment section text data bss symtab serialize].each do |name|
define_method(name) { fail(name) }
end
end
end