I want to create a BDD for a 16-bit truth table. I am converting my string expression into an Expression using a function expr(obj, simplify=True) but I am getting maximum recursion depth exceeded error.
Here, is my error
File "/usr/local/lib/python3.8/dist-packages/pyeda/boolalg/expr.py", line 221, in expr
ast = pyeda.parsing.boolexpr.parse(obj)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 384, in parse
expr = _expr(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 407, in _expr
return _ite(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 412, in _ite
s = _impl(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 429, in _impl
p = _sumterm(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 448, in _sumterm
xorterm = _xorterm(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 475, in _xorterm
prodterm = _prodterm(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 502, in _prodterm
factor = _factor(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 536, in _factor
expr = _expr(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 407, in _expr
return _ite(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 412, in _ite
s = _impl(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 429, in _impl
p = _sumterm(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 449, in _sumterm
sumterm_prime = _sumterm_prime(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 462, in _sumterm_prime
sumterm_prime = _sumterm_prime(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 462, in _sumterm_prime
sumterm_prime = _sumterm_prime(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 462, in _sumterm_prime
sumterm_prime = _sumterm_prime(lexer)
[Previous line repeated 951 more times]
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 461, in _sumterm_prime
xorterm = _xorterm(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 475, in _xorterm
prodterm = _prodterm(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 503, in _prodterm
prodterm_prime = _prodterm_prime(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 516, in _prodterm_prime
prodterm_prime = _prodterm_prime(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 516, in _prodterm_prime
prodterm_prime = _prodterm_prime(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 516, in _prodterm_prime
prodterm_prime = _prodterm_prime(lexer)
[Previous line repeated 10 more times]
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 515, in _prodterm_prime
factor = _factor(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 533, in _factor
return ('not', _factor(lexer))
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 580, in _factor
return _variable(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 607, in _variable
names = _names(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 625, in _names
rest = _zom_name(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 632, in _zom_name
tok = next(lexer)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/lex.py", line 81, in next
return next(self.gtoks)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/lex.py", line 114, in _iter_tokens
actions[idx](self, text)
File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 149, in operator
self.push_token(cls(text, self.lineno, self.offset))
File "", line 1, in new
RecursionError: maximum recursion depth exceeded while calling a Python object
Please find the attached file for my expression.
expression.docx
Can someone please give me some hints to fix this?
Hi,
I want to create a BDD for a 16-bit truth table. I am converting my string expression into an Expression using a function expr(obj, simplify=True) but I am getting maximum recursion depth exceeded error.
Here, is my error File "/usr/local/lib/python3.8/dist-packages/pyeda/boolalg/expr.py", line 221, in expr ast = pyeda.parsing.boolexpr.parse(obj) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 384, in parse expr = _expr(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 407, in _expr return _ite(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 412, in _ite s = _impl(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 429, in _impl p = _sumterm(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 448, in _sumterm xorterm = _xorterm(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 475, in _xorterm prodterm = _prodterm(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 502, in _prodterm factor = _factor(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 536, in _factor expr = _expr(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 407, in _expr return _ite(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 412, in _ite s = _impl(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 429, in _impl p = _sumterm(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 449, in _sumterm sumterm_prime = _sumterm_prime(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 462, in _sumterm_prime sumterm_prime = _sumterm_prime(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 462, in _sumterm_prime sumterm_prime = _sumterm_prime(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 462, in _sumterm_prime sumterm_prime = _sumterm_prime(lexer) [Previous line repeated 951 more times] File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 461, in _sumterm_prime xorterm = _xorterm(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 475, in _xorterm prodterm = _prodterm(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 503, in _prodterm prodterm_prime = _prodterm_prime(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 516, in _prodterm_prime prodterm_prime = _prodterm_prime(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 516, in _prodterm_prime prodterm_prime = _prodterm_prime(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 516, in _prodterm_prime prodterm_prime = _prodterm_prime(lexer) [Previous line repeated 10 more times] File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 515, in _prodterm_prime factor = _factor(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 533, in _factor return ('not', _factor(lexer)) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 580, in _factor return _variable(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 607, in _variable names = _names(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 625, in _names rest = _zom_name(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 632, in _zom_name tok = next(lexer) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/lex.py", line 81, in next return next(self.gtoks) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/lex.py", line 114, in _iter_tokens actions[idx](self, text) File "/usr/local/lib/python3.8/dist-packages/pyeda/parsing/boolexpr.py", line 149, in operator self.push_token(cls(text, self.lineno, self.offset)) File "", line 1, in new
RecursionError: maximum recursion depth exceeded while calling a Python object
Please find the attached file for my expression. expression.docx
Can someone please give me some hints to fix this?