Coder Social home page Coder Social logo

skip parser option? about gherkin2 HOT 5 CLOSED

cucumber-attic avatar cucumber-attic commented on June 25, 2024
skip parser option?

from gherkin2.

Comments (5)

aslakhellesoy avatar aslakhellesoy commented on June 25, 2024

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.

msassak avatar msassak commented on June 25, 2024

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.

msassak avatar msassak commented on June 25, 2024

Also, I forgot that we are using the flexibility for the steps parser.

from gherkin2.

aslakhellesoy avatar aslakhellesoy commented on June 25, 2024

Thanks for the recap Mike. Let's revisit this after Cucumber integration.

from gherkin2.

aslakhellesoy avatar aslakhellesoy commented on June 25, 2024

Closing this, since it doesn't seem to have significant impact on performance.

from gherkin2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.