-
-
Notifications
You must be signed in to change notification settings - Fork 30
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
Exponential grow for case insensitive input. #37
Comments
This is pretty terrible, I agree. I was trying to think about better ways to handle this, when I wrote it. Do you have any suggestions please? The problem is that those dialects don't support case insensitive terminals, so we have to expand out every spelling. |
I was thinking: instead of outputting every combination, to rewrite it using a sequence of alternatives: Input:
output (current)
output (proposed;)
Obviously, this is a very naive idea from me. I guess there are reasons this can't be done. I just found out this is implemented by |
Yes, unfortunately that has a different meaning. For a grammar where there could be whitespace between tokens (depending on how lexing is defined), here you're introducing the possibility for space between each letter, and to produce multiple tokens for output. The original grammar there has only one token for the entire string. |
Hi,
Thanks for this tool. This is awesome!
I noticed some generator produce all the possibles combinaisons for case incentive input. It means this generate a list of item growing exponentially relative to the input length.
For instance if you use: (input: abnf)
Then you get your get. (output: "rrta")
I was curious to know if this is something you want to keep or fix later.
If you want to fix it later, would you prefer I try to submit PR?
I tried all the generator online using this tool https://arthursonzogni.com/Diagon/#code_area
exponential output:
non exponential output:
Can't say (reached unimplemented)
The text was updated successfully, but these errors were encountered: