pyeda
pyeda copied to clipboard
Error "maximum recursion depth exceeded while calling a Python object" while creating an expression using string
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 "
Please find the attached file for my expression. expression.docx
Can someone please give me some hints to fix this?
@cjdrake Could you please provide some comment on this?