Sha256: 95af7376e8e2efd3c2cc83dba15c1cd0f79b0893463f1d17c01ee0291e4d9889
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
require "date" require "predicator/generated_parser" require "predicator/lexer" require "predicator/variable" require "predicator/predicates/relation" require "predicator/predicates/equal" require "predicator/predicates/not_equal" require "predicator/predicates/greater_than" require "predicator/predicates/less_than" require "predicator/predicates/greater_than_or_equal" require "predicator/predicates/less_than_or_equal" require "predicator/predicates/between" require "predicator/predicates/true" require "predicator/predicates/false" require "predicator/predicates/and" require "predicator/predicates/or" require "predicator/predicates/not" module Predicator class ParseError < StandardError; end class Parser < GeneratedParser def next_token @lexer.next_token end def parse string @lexer = Lexer.new string do_parse end def on_error type, val, values super rescue Racc::ParseError => e trace = values.each_with_index.map{|l, i| "#{' ' * i}#{l}"} raise ParseError, "\nparse error on value #{val.inspect}\n#{trace.join("\n")}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
predicator-0.3.0 | lib/predicator/parser.rb |