Remove expensive !stabOperatorPrefix #943
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #580
Fixes #909 (probably)
Changelog
Enhancements
{EOL}|.->{ANY}inElixir.flexEOLtoWHITE_SPACEtoken, as GrammarKit is smarter about reparsing when onlyWHITE_SPACEchanges in size.fndo->after,catch,else, andrescue)(Bug Fixes
Remove
!stabOperationPrefixbeforeexpression, sincestabOperationPrefixitself starts withexpressionand instead put a negative look-ahead,!(infixComma | stabInfixOperator)afterexpression. This now works when it previously didn't becauseCOMMAwas added toexpressionRecoverUntil, which means bothCOMMAandSTAB_OPERATORare now in both not eaten byexpression's error recovery.This drops Fn1 through Fn8 to ~176ms instead of the previous time of the last optimization of 13 seconds for Fn8. It started at 26 seconds and now it appears that the time no longer grows with the number of
fn. It also eliminates the pause when hitting entering inside thefnnesting.Data and Chart