Fast Gherkin lexer based on Ragel.
Gherkin is the language that has evolved out of the Cucumber project. Cucumber currently uses Treetop, which is too slow for larger projects.
This project will not include code to build an AST. Instead, this lexer will have an API that makes it possible to plug in a builder that can build an AST.
rake ragel rake spec cucumber
Cleaning generated code
Ragel supports Ruby, but it's much slower than C. The ruby target will be used for development. The final version will use C for MRI and Java for JRuby.
Note on Patches/Pull Requests
Fork the project.
Run rake ragel:rb to generate all the I18N lexers
Make your feature addition or bug fix.
Add tests for it. This is important so I don't break it in a future version unintentionally.
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but
bump version in a commit by itself I can ignore when I pull)
Send me a pull request. Bonus points for topic branches.
Copyright © 2009 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy. See LICENSE for details.