rubyx/lib/mom/instruction.rb

32 lines
662 B
Ruby
Raw Normal View History

module Mom
# Base class for MOM instructions
class Instruction
include Common::List
2017-09-06 11:11:30 +02:00
# implement flatten as noop to avoid condition
def flatten( options = {} )
return self
end
end
# A label with a name
class Label < Instruction
2017-08-30 16:21:13 +02:00
attr_reader :name
def initialize(name)
@name = name
end
end
end
require_relative "simple_call"
2017-09-14 15:07:02 +02:00
require_relative "dynamic_call"
2017-08-30 16:21:13 +02:00
require_relative "truth_check"
2017-09-14 15:07:02 +02:00
require_relative "not_same_check"
2017-08-30 16:21:13 +02:00
require_relative "jump"
require_relative "slot_load"
require_relative "return_sequence"
require_relative "message_setup"
require_relative "argument_transfer"
require_relative "statement"