Class: Crisp::Nodes::Base
- Inherits:
-
Treetop::Runtime::SyntaxNode
- Object
- Treetop::Runtime::SyntaxNode
- Crisp::Nodes::Base
- Defined in:
- lib/crisp/nodes/base.rb
Overview
The base node
Direct Known Subclasses
Instance Method Summary collapse
-
#eval(env) ⇒ Object
this is only an abstract method.
-
#resolve(env) ⇒ Object
this is only an abstract method.
-
#resolve_and_eval(env) ⇒ Object
resolves the node and evals it it is a crisp operation node.
Instance Method Details
#eval(env) ⇒ Object
this is only an abstract method
6 7 8 |
# File 'lib/crisp/nodes/base.rb', line 6 def eval(env) raise "abstract method!" end |
#resolve(env) ⇒ Object
this is only an abstract method
11 12 13 |
# File 'lib/crisp/nodes/base.rb', line 11 def resolve(env) raise "abstract method!" end |
#resolve_and_eval(env) ⇒ Object
resolves the node and evals it it is a crisp operation node
16 17 18 19 |
# File 'lib/crisp/nodes/base.rb', line 16 def resolve_and_eval(env) res = self.resolve(env) res.class.name == "Crisp::Nodes::Operation" ? res.eval(env) : res end |