class Gobstones::Lang::Program
Attributes
definitions[R]
main_definition[R]
Public Class Methods
new(definitions, main_definition)
click to toggle source
# File lib/gobstones/lang/program.rb, line 12 def initialize(definitions, main_definition) @definitions = definitions @main_definition = main_definition end
Public Instance Methods
equality_attributes()
click to toggle source
# File lib/gobstones/lang/program.rb, line 17 def equality_attributes %i[definitions main_definition] end
evaluate()
click to toggle source
# File lib/gobstones/lang/program.rb, line 21 def evaluate with_execution_context do |context| return_values = main_definition.evaluate(context) Runner::ProgramResult.new(context.head, return_values) end end
Private Instance Methods
create_context()
click to toggle source
# File lib/gobstones/lang/program.rb, line 34 def create_context Runner::ExecutionContext.for_program(self) end
with_execution_context() { |create_context| ... }
click to toggle source
# File lib/gobstones/lang/program.rb, line 30 def with_execution_context yield create_context end