You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Traceback (most recent call last):
File "/Users/tomaskrejci/Developer/quine-mccluskey/test.py", line 9, in <module>
formula = algebra.parse("C|C++")
^^^^^^^^^^^^^^^^^^^^^^
File "/Users/tomaskrejci/Developer/quine-mccluskey/boolean.py/boolean/boolean.py", line 252, in parse
raise ParseError(
boolean.boolean.ParseError: Invalid operator sequence without symbols such as AND OR or OR OR for token: "+" at position: 4
I see two options to go about this.
First, you can create the formula directly using Python primitives. If you need parsing then you'll need to build your own parser that can build the tree for you.
Here is an example that will work:
import boolean
algebra = boolean.BooleanAlgebra()
TRUE, FALSE, NOT, AND, OR, symbol = algebra.definition()
formula = OR(symbol("C"), symbol("C++"))
print(formula)
The output is simply C|C++. Note that the formula cannot be parsed using algebra.parse for the reason discussed above.
Second, you can rename the variables to something that you can parse. For example C becomes x0 and C++ becomes x1. You can then work with those names and convert them back to your original names when you are finished.
Is there any possibility parse only AND, OR and NOT operators? For example I cannot parse a query
C OR C++
because of the ++ in the string.The text was updated successfully, but these errors were encountered: