0
0
mirror of https://github.com/python/cpython.git synced 2024-11-21 21:09:37 +01:00
cpython/Parser
efimov-mikhail 1f9025a4e7
gh-124889: Remove redundant artificial rules in PEG parser (#124893)
Cache in C PEG-generator reworked:
we save artificial rules in cache by Node string representation as a key instead of Node object itself.
As a result total count of artificial rules in parsers.c is lowered from 283 to 170.
More natural number ordering is used for the names of artificial rules.

Auxiliary method CCallMakerVisitor._generate_artificial_rule_call is added.
Its purpose is abstracting work with artificial rules cache.

Explicit using of "is_repeat1" kwarg is added to visit_Repeat0 and visit_Repeat1 methods.
Its slightly improve code readabitily.
2024-10-03 13:58:56 +01:00
..
lexer gh-123229: Fix valgrind warning by initializing the f-string buffers to 0 in the tokenizer (#123263) 2024-08-23 12:33:45 +00:00
tokenizer
action_helpers.c gh-122300: Preserve AST nodes for format specifiers with single elements (#122308) 2024-07-26 16:29:41 +00:00
asdl_c.py gh-116022: Improve repr() of AST nodes (#117046) 2024-09-18 10:28:22 -07:00
asdl.py
myreadline.c gh-123321: Make Parser/myreadline.c locking safe in free-threaded build (#123690) 2024-09-06 15:07:08 -04:00
parser.c gh-124889: Remove redundant artificial rules in PEG parser (#124893) 2024-10-03 13:58:56 +01:00
peg_api.c
pegen_errors.c Fix typos in comments and exception message (#122147) 2024-07-23 14:34:14 +05:30
pegen.c gh-124064: Fix -Wconversion warnings in Parser/pegen.c (#124181) 2024-09-17 15:58:43 +00:00
pegen.h gh-119118: Fix performance regression in tokenize module (#119615) 2024-05-28 19:17:49 +00:00
Python.asdl gh-116126: Implement PEP 696 (#116129) 2024-05-03 06:17:32 -07:00
string_parser.c gh-124064: Fix -Wconversion warnings in Parser/string_parser.c (#124204) 2024-09-18 19:10:56 +02:00
string_parser.h
token.c