Class: Nydp::Builtin::VmInfo

Inherits:
Object
  • Object
show all
Includes:
Base, Singleton
Defined in:
lib/nydp/builtin/vm_info.rb

Constant Summary collapse

VMINFO_NS =
{ }
CONTEXTS =
Nydp::Symbol.mk :contexts,     VMINFO_NS
INSTRUCTIONS =
Nydp::Symbol.mk :instructions, VMINFO_NS
ARGS =
Nydp::Symbol.mk :args,         VMINFO_NS

Instance Method Summary collapse

Methods included from Base

#builtin_invoke_1, #builtin_invoke_2, #builtin_invoke_3, #builtin_invoke_4, #handle_error, #inspect, #invoke, #invoke_1, #invoke_2, #invoke_3, #invoke_4, #name, #nydp_type, #to_s

Methods included from Helper

#cons, #list, #literal?, #pair?, #sig, #sym, #sym?

Methods included from Converter

#n2r, #r2n

Instance Method Details

#builtin_invoke(vm, args) ⇒ Object



9
10
11
12
13
14
# File 'lib/nydp/builtin/vm_info.rb', line 9

def builtin_invoke vm, args
  context_count     = Nydp::Pair.new CONTEXTS,     vm.contexts.size
  instruction_count = Nydp::Pair.new INSTRUCTIONS, vm.instructions.size
  arg_count         = Nydp::Pair.new ARGS,         vm.args.size
  vm.push_arg Nydp::Pair.from_list [context_count, instruction_count, arg_count]
end