-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: E notation BigDecimal parser #9581
base: master
Are you sure you want to change the base?
RFC: E notation BigDecimal parser #9581
Conversation
Out of curiosity, what are perf gains? |
@Sija things are slower at the moment:
On current master:
this:
|
Apologies for the long delay on this... I will review if still relevant and fix up PR if needed (else close) |
Are there cases that this new parser can handle and the original parser can't? |
@lbguilherme The original motivation was the current implementation seems somewhat ad-hoc and contained a number of parse bugs (see #9547) mainly around invalid notation. I fixed all the issues I could find in #9577 but thought maybe a refactored parser would be better. This one was created from a stricter grammar for E notation so potentially could lead to a more robust parser of the notation. I see however that since this was created, #10641 has been discussed, so maybe these changes are not relevant anymore in the bigger picture of a rewrite of |
Related to : #9580
This implements a first pass at this (not stack based parser, to avoid needing a stack, just a translation of the parse table into logic)
PR which is still a work in progress and would benefit from your inputs should we wish to progress with this
created with the productions below (syntax below works in http://hackingoff.com/compilers/ll-1-parser-generator)