modifing binding power of the unary "plus" and "dash" #3
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.
Sense the binding power of the prefix "dash" was unary, it was above the binding power of multiplicative.
Therefore it would have higher precedence: 10 * 10 - 10, for this case the dash would be parsed as a unary and not the correct additive.
As you can see the binary expression is parsed as a left for 10 and a right for the binary expression 10 - 10 which is wrong.
That is way in this commit I have changed the binding power of the token "dash" and added the token "plus" as prefix operations such as +10, -10 and modified their binding power to additive sense a "dash" prefix is identical to 0 - 10 and therefore should be parsed with the binding power of additive