class Dentaku::Evaluator

def match_rule_pattern(tokens)

def match_rule_pattern(tokens)
  matched = false
  Rules.each do |pattern, evaluator|
    pos, match = find_rule_match(pattern, tokens)
    if pos
      tokens = evaluate_step(tokens, pos, match.length, evaluator)
      matched = true
      break
    end
  end
  [matched, tokens]
end