module Predicator

Constants

VERSION

Public Class Methods

compile(source) click to toggle source
# File lib/predicator.rb, line 10
def self.compile source
  ast = parse source
  ast.to_instructions
end
evaluate(source, context={}) click to toggle source
# File lib/predicator.rb, line 15
def self.evaluate source, context={}
  instructions = compile source
  evaluate_instructions instructions, context
end
evaluate_instructions(instructions, context={}) click to toggle source
# File lib/predicator.rb, line 20
def self.evaluate_instructions instructions, context={}
  evaluator = Evaluator.new instructions, context
  evaluator.result
end
parse(source) click to toggle source
# File lib/predicator.rb, line 6
def self.parse source
  Predicator::Parser.new.parse source
end