Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A fast Gherkin parser in Ragel
Ruby Java Shell
Pull request Compare This branch is even with cucumber:state-transition-table-parser.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ext/gherkin_lexer
features
java
lib
ragel
spec
tasks
.gitignore
LICENSE
README.rdoc
Rakefile
VERSION.yml
cucumber.yml
gherkin.gemspec

README.rdoc

Gherkin

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.

Testing

rake ragel rake spec cucumber

Cleaning generated code

rake clobber

Notes

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.

Ragel links

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

Copyright © 2009 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy. See LICENSE for details.

Something went wrong with that request. Please try again.