class Grammoire::EvaluationContext
Public Class Methods
new(grammar)
click to toggle source
# File lib/grammoire/evaluation_context.rb, line 5 def initialize(grammar) @grammar = grammar with_data_points({}) end
Public Instance Methods
data(name)
click to toggle source
# File lib/grammoire/evaluation_context.rb, line 14 def data(name) raise GrammarError.new("Data point '#{name}' doesn't exist in the evaluation context.") unless @data.has_key? name return @data[name] end
eval(rule)
click to toggle source
# File lib/grammoire/evaluation_context.rb, line 20 def eval(rule) @grammar.evaluate(rule, @data) end
with_data_points(data)
click to toggle source
# File lib/grammoire/evaluation_context.rb, line 10 def with_data_points(data) @data = data end