Class: Nydp::Invocation::Invocation_SYM_LEX_LEX_LEX
- Defined in:
- lib/nydp/function_invocation.rb
Instance Method Summary collapse
- #execute(vm) ⇒ Object
-
#initialize(expr, src) ⇒ Invocation_SYM_LEX_LEX_LEX
constructor
A new instance of Invocation_SYM_LEX_LEX_LEX.
Methods inherited from Base
#handle, #inspect, #lexical_reach, #source, #to_s
Methods included from Helper
#cons, #list, #literal?, #pair?, #sig, #sym, #sym?
Methods included from Converter
Constructor Details
#initialize(expr, src) ⇒ Invocation_SYM_LEX_LEX_LEX
Returns a new instance of Invocation_SYM_LEX_LEX_LEX.
233 234 235 236 237 238 239 |
# File 'lib/nydp/function_invocation.rb', line 233 def initialize expr, src super expr, src @sym = expr.car @lex_0 = expr.cdr.car @lex_1 = expr.cdr.cdr.car @lex_2 = expr.cdr.cdr.cdr.car end |
Instance Method Details
#execute(vm) ⇒ Object
241 242 243 244 245 246 247 248 249 |
# File 'lib/nydp/function_invocation.rb', line 241 def execute vm # Invocation.sig self.class.name a0 = @lex_0.value(vm.current_context) a1 = @lex_1.value(vm.current_context) a2 = @lex_2.value(vm.current_context) @sym.value.invoke_4 vm, a0, a1, a2 rescue StandardError => e handle e, @sym.value, :invoke_4, a0, a1, a2 end |