Skip to content

Error "maximum recursion depth exceeded while calling a Python object" while creating an expression using string #175

@akashchavan15

Description

@akashchavan15

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions