rubyx/lib/risc.rb

42 lines
925 B
Ruby
Raw Normal View History

2016-12-09 12:20:48 +01:00
class String
2018-04-16 20:24:27 +02:00
def camelise
self.split("_").collect{|str| str.capitalize_first }.join
end
def capitalize_first
self[0].capitalize + self[1..-1]
end
end
2018-04-17 19:26:15 +02:00
class Class
def short_name
self.name.split("::").last
end
end
2016-12-09 12:20:48 +01:00
2018-03-26 13:15:48 +02:00
# The RiscMachine, is an abstract machine with registers. Think of it as an arm machine with
# normal instruction names. It is not however an abstraction of existing hardware, but only
# of that subset that we need.
# See risc/Readme
module Risc
end
2018-03-13 12:27:24 +01:00
require_relative "risc/padding"
require_relative "risc/position"
require_relative "risc/platform"
2015-10-22 17:16:29 +02:00
require "parfait"
2018-03-13 12:27:24 +01:00
require_relative "risc/machine"
require_relative "risc/method_compiler"
2015-10-22 17:16:29 +02:00
class Fixnum
def fits_u8?
self >= 0 and self <= 255
end
end
2016-12-09 12:20:48 +01:00
2018-03-13 12:27:24 +01:00
require_relative "risc/instruction"
require_relative "risc/risc_value"
require_relative "risc/text_writer"
2018-03-13 12:27:24 +01:00
require_relative "risc/builtin/space"
require_relative "risc/builder"