parser: Make parser more tolerant to trailing else and then after if#6550
Draft
parser: Make parser more tolerant to trailing else and then after if#6550
else and then after if#6550Conversation
… `if` Originally, I added a comment and simplified code for setting the `else if` indentation limit in `ifexpr()`. Found that the last tests in `tests/else_indentation_reference` where disabled because the parster gets stuck before this, so made the parser more tolerant to trailing `else` and `then` parts after an `ifexpr`. For this to work, add an argument `ignoreTrailingElse` to `block` and `exprs`. If not set and previous errors occured, trailing `else` and `then` parts will be skipped since otherwise the parser may get stuck here. Also did some cleanup to avoid argument `newScope` for method `block()`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Originally, I added a comment and simplified code for setting the
else ifindentation limit inifexpr().Found that the last tests in
tests/else_indentation_referencewhere disabled because the parster gets stuck before this, so made the parser more tolerant to trailingelseandthenparts after anifexpr.For this to work, add an argument
ignoreTrailingElsetoblockandexprs. If not set and previous errors occured, trailingelseandthenparts will be skipped since otherwise the parser may get stuck here.Also did some cleanup to avoid argument
newScopefor methodblock().