Comments (5)
This would definitely speed things up, but wasn't the Ragel lexer able to do this at some point? I don't remember the exact reason for writing a hand-written parser (we've talked about it before and I have forgotten). Wasn't it to open up for slightly different grammars like JBehave? Since I don't care so much about JBehave anymore I don't think we need more than one grammar.
Would it be possible to ditch the transition table based parser altogether and have Ragel do all the validation work?
from gherkin2.
We were doing that in Ragel, but abandoned it for increased testability and flexibility. Introducing that seam for testing made a big difference in ease of development. I think all the talk of speeding things up is a waste of time right now because a) Gherkin doesn't even work with Cucumber yet, despite it being 40x faster than Treetop, and b) we haven't measured anything. The only truly slow part of Gherkin seems to be the C extension on 1.9, which for some reason is much slower than the C extension on 1.8.x, though still faster than Treetop.
from gherkin2.
Also, I forgot that we are using the flexibility for the steps parser.
from gherkin2.
Thanks for the recap Mike. Let's revisit this after Cucumber integration.
from gherkin2.
Closing this, since it doesn't seem to have significant impact on performance.
from gherkin2.
Related Issues (20)
- JS JSONFormatter - No way to attach an embedding without base64 encoding HOT 2
- Unable to compile
- Support i18n in snippet generation HOT 4
- cannot load such file -- 2.1/gherkin_lexer_en HOT 10
- [Java] Ugly formatting for CJK data containing full-width characters
- [Suggestion] Delete merged branches from the repo
- [Ruby] Backslashes in tables HOT 1
- SyntaxError in output HOT 1
- Background.feature is nil (in Cucumber 2.0) HOT 1
- Couldn't load 2.1/gherkin_lexer_en HOT 3
- Scenerios should be randomized across feature files, not just within a feature file HOT 2
- NPE in JSONFormatter in scenario print in a @Before HOT 1
- Getting Lexing Error HOT 5
- Cucumber generating empty JSON file upon multiple feature failures. HOT 1
- cucumber for java: number format exception when using tag with semicolon in name HOT 5
- allow tagging individual outline examples HOT 1
- Request for new release HOT 3
- Pretty formatter cannot handle comments in feature correctly
- Source files without license headers HOT 4
- NullPointerException when 'type' property is missing HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gherkin2.