Improve token precedence classifications #707
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.
Motivated by #704 this adjusts token precedences a little bit to produce better diagnostics. Previously, we had different logic how we classified weak brackets (like
(
) and strong brackets (like{
). Unify the two concepts and allow consuming weak punctuators (like.
or:
) while looking for a weak closing bracket and skipping strong punctuators (like;
) while looking for a strong closing bracket.