Class: Nydp::Evaluator
- Inherits:
-
Object
- Object
- Nydp::Evaluator
- Defined in:
- lib/nydp/runner.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#ns ⇒ Object
Returns the value of attribute ns.
-
#vm ⇒ Object
Returns the value of attribute vm.
Instance Method Summary collapse
- #compile_and_eval(expr) ⇒ Object
- #evaluate(expr) ⇒ Object
-
#initialize(vm, ns) ⇒ Evaluator
constructor
A new instance of Evaluator.
- #pre_compile(expr) ⇒ Object
- #precompile(expr) ⇒ Object
- #quote(expr) ⇒ Object
Constructor Details
Instance Attribute Details
#ns ⇒ Object
Returns the value of attribute ns.
40 41 42 |
# File 'lib/nydp/runner.rb', line 40 def ns @ns end |
#vm ⇒ Object
Returns the value of attribute vm.
40 41 42 |
# File 'lib/nydp/runner.rb', line 40 def vm @vm end |
Instance Method Details
#compile_and_eval(expr) ⇒ Object
49 50 51 |
# File 'lib/nydp/runner.rb', line 49 def compile_and_eval expr vm.thread Pair.new(Compiler.compile(expr, Nydp.NIL), Nydp.NIL) end |
#evaluate(expr) ⇒ Object
65 66 67 |
# File 'lib/nydp/runner.rb', line 65 def evaluate expr compile_and_eval(pre_compile(expr)) end |
#pre_compile(expr) ⇒ Object
61 62 63 |
# File 'lib/nydp/runner.rb', line 61 def pre_compile expr compile_and_eval(precompile(expr)) end |