Skip to content
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

Add "not" and "xor" operators #55

Merged
merged 5 commits into from May 6, 2020
Merged

Add "not" and "xor" operators #55

merged 5 commits into from May 6, 2020

Conversation

thimel
Copy link
Contributor

@thimel thimel commented May 2, 2020

I originally requested the "not" operator be added. Someone kindly did it, but I tested it and it didn't work. I believe I have it working properly. While I was at it, I added the "xor" function (exclusive OR).

I handled parsing for "not" in a manner similar to how "-" was handled. This required adding an "if" statement which the previous person missed. I also had to make adjustments to tokenprio to get the operator precedence correct. ("not" gets done before "and" which gets done before "or")

Note that Python only has a bitwise exclusive or operator with symbol "^" which is high on the priority ladder. Since this parser uses "^" for exponentiation, I used "xor" and made its priority the same as "or"

I noticed while working on this that the parser has multiplication and division with different priorities. In all languages I know, these have equal precedence. I didn't change it because someone may be using this package and changing this could change their results.

This is my first time ever making a Git pull request on someone else's repository. Please forgive me if I have messed up in some way.

@coveralls
Copy link

coveralls commented May 2, 2020

Coverage Status

Coverage remained the same at 0.0% when pulling 757acdf on thimel:master into dcb94a4 on Axiacore:master.

@camilonova camilonova merged commit 96dee23 into axiacore:master May 6, 2020
@camilonova
Copy link
Member

Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants