]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-40334: Avoid collisions between parser variables and grammar variables (GH-19987)
authorPablo Galindo <Pablogsal@gmail.com>
Sun, 10 May 2020 04:34:50 +0000 (05:34 +0100)
committerGitHub <noreply@github.com>
Sun, 10 May 2020 04:34:50 +0000 (21:34 -0700)
commitac7a92cc0a821699df48bc2e30a02c25d6338f78
treed7f301b66d79b6d3ce497669a99a5f9ce47ba3b5
parent2c3d508c5fabe40dac848fb9ae558069f0576879
bpo-40334: Avoid collisions between parser variables and grammar variables (GH-19987)

This is for the C generator:
- Disallow rule and variable names starting with `_`
- Rename most local variable names generated by the parser to start with `_`

Exceptions:
- Renaming `p` to `_p` will be a separate PR
- There are still some names that might clash, e.g.
  - anything starting with `Py`
  - C reserved words (`if` etc.)
  - Macros like `EXTRA` and `CHECK`
Lib/test/test_peg_generator/test_pegen.py
Parser/pegen/parse.c
Parser/pegen/pegen.h
Tools/peg_generator/pegen/c_generator.py
Tools/peg_generator/pegen/parser_generator.py