davidhalter / davidhalter/parso

KeyError: ReservedString(})

Open
#207 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
679
Forks
120
PR merge metrics
No merged PRs in 30d

Description

I've tried to apply mutmut to PyPDF2 and failed. Initially I thought the issue was with mutmut ( https://github.com/boxed/mutmut/issues/252 ) , but I guess it's a parso bug.

## Minimal example

```python
import parso

parso.parse('stream.write(b_(rf"\{ord_(c):0>3o}"))', error_recovery=False)
```

## Traceback

```
Traceback (most recent call last):
File "/home/moose/.pyenv/versions/3.10.2/lib/python3.10/site-packages/parso/parser.py", line 180, in _add_token
plan = stack[-1].dfa.transitions[transition]
KeyError: ReservedString(})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 1, in
File "/home/moose/.pyenv/versions/3.10.2/lib/python3.10/site-packages/parso/__init__.py", line 58, in parse
return grammar.parse(code, **kwargs)
File "/home/moose/.pyenv/versions/3.10.2/lib/python3.10/site-packages/parso/grammar.py", line 156, in parse
root_node = p.parse(tokens=tokens)
File "/home/moose/.pyenv/versions/3.10.2/lib/python3.10/site-packages/parso/python/parser.py", line 79, in parse
return super().parse(tokens)
File "/home/moose/.pyenv/versions/3.10.2/lib/python3.10/site-packages/parso/parser.py", line 129, in parse
self._add_token(token)
File "/home/moose/.pyenv/versions/3.10.2/lib/python3.10/site-packages/parso/parser.py", line 186, in _add_token
self.error_recovery(token)
File "/home/moose/.pyenv/versions/3.10.2/lib/python3.10/site-packages/parso/python/parser.py", line 140, in error_recovery
return super().error_recovery(token)
File "/home/moose/.pyenv/versions/3.10.2/lib/python3.10/site-packages/parso/parser.py", line 152, in error_recovery
raise ParserSyntaxError('SyntaxError: invalid syntax', error_leaf)
parso.parser.ParserSyntaxError: ('SyntaxError: invalid syntax', )
```

## Environment

```
$ python --version
Python 3.10.2

>>> parso.__version__
'0.8.3'
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.