class Nydp::Builtin::RubyWrap @@builtins = { } def self.builtins @@builtins end class Coder < Struct.new(:name, :size, :code, :helpers) def msize ; size + 1 ; end def arg_mapper_novm case size when 0 ; "" when 1 ; "a0=nil" when 2 ; "a0=nil, a1=nil" when 3 ; "a0=nil, a1=nil, a2=nil" when 4 ; "a0=nil, a1=nil, a2=nil, a3=nil" when 5 ; "a0=nil, a1=nil, a2=nil, a3=nil, a4=nil" else ; raise "maximum 5 arguments!" end end def to_ruby generic_code = code. gsub(/a0/, "args.car"). gsub(/a1/, "args.cdr.car"). gsub(/a2/, "args.cdr.cdr.car"). gsub(/a3/, "args.cdr.cdr.cdr.car"). gsub(/a4/, "args.cdr.cdr.cdr.cdr.car") <