Packrat parser combinator library for Ruby