rubyx/lib/risc.rb

46 lines
1.1 KiB
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"
2018-05-31 18:01:10 +02:00
require_relative "risc/position/position"
require_relative "risc/platform"
require_relative "risc/parfait_boot"
require_relative "risc/parfait_adapter"
require "parfait"
require_relative "risc/linker"
require_relative "risc/callable_compiler"
require_relative "risc/method_compiler"
require_relative "risc/block_compiler"
require_relative "risc/assembler"
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/register_value"
require_relative "risc/text_writer"
2018-06-29 10:23:26 +02:00
require_relative "risc/builtin"
require_relative "risc/builder"