K
Kaspar Schiess
parslet is a Parsing Expression Grammar based[1] parser generator
library. Uff. Now that is out of our system, here goes what it really
does: It makes writing parsers pleasant for the rest of us. No code
generation, clear access to data, unit testable.
* http://kschiess.github.com/parslet/index.html
* https://github.com/kschiess/parslet
Installation:
gem install parslet
Changes:
* For deep grammars, this release is several orders of magnitude
faster. Really! Benchmark at [2].
* Export to citrus and treetop dialects.
* You can apply visitors to the grammar now.
* Bug fixes and code cleanup.
Synopsis:
require 'parslet'
class Mini < Parslet:arser
ruleinteger) { match('[0-9]').repeat(1) }
rootinteger)
end
Mini.new.parse("132432") # => 132432
Please, ladies and gents, amuse yourselves!
[1] http://en.wikipedia.org/wiki/Parsing_expression_grammar
[2] http://blog.absurd.li/2011/02/02/parslet_and_its_friends.html
library. Uff. Now that is out of our system, here goes what it really
does: It makes writing parsers pleasant for the rest of us. No code
generation, clear access to data, unit testable.
* http://kschiess.github.com/parslet/index.html
* https://github.com/kschiess/parslet
Installation:
gem install parslet
Changes:
* For deep grammars, this release is several orders of magnitude
faster. Really! Benchmark at [2].
* Export to citrus and treetop dialects.
* You can apply visitors to the grammar now.
* Bug fixes and code cleanup.
Synopsis:
require 'parslet'
class Mini < Parslet:arser
ruleinteger) { match('[0-9]').repeat(1) }
rootinteger)
end
Mini.new.parse("132432") # => 132432
Please, ladies and gents, amuse yourselves!
[1] http://en.wikipedia.org/wiki/Parsing_expression_grammar
[2] http://blog.absurd.li/2011/02/02/parslet_and_its_friends.html