diff options
author | efimov-mikhail <efimov.mikhail@gmail.com> | 2024-10-03 12:58:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-03 12:58:56 (GMT) |
commit | 1f9025a4e7819bb4f7799784710f0f3750a9ca31 (patch) | |
tree | 4a778b37858077fa84b2966075ab1381b5b8c146 /Python/legacy_tracing.c | |
parent | e6dd71da3acc21edcc205d024d18004c7a3c7f45 (diff) | |
download | cpython-1f9025a4e7819bb4f7799784710f0f3750a9ca31.zip cpython-1f9025a4e7819bb4f7799784710f0f3750a9ca31.tar.gz cpython-1f9025a4e7819bb4f7799784710f0f3750a9ca31.tar.bz2 |
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.
Diffstat (limited to 'Python/legacy_tracing.c')
0 files changed, 0 insertions, 0 deletions