/usr/lib64/python3.9/lib2to3
NameSizeModeActions
fixes/-0755rm
pgen2/-0755rm
__pycache__/-0755rm
btm_matcher.py66230644editdlrm
btm_utils.py99660644editdlrm
fixer_base.py66900644editdlrm
fixer_util.py152060644editdlrm
Grammar.txt86960644editdlrm
Grammar3.9.25.final.0.pickle153130644editdlrm
main.py118540644editdlrm
patcomp.py70540644editdlrm
PatternGrammar.txt7930644editdlrm
PatternGrammar3.9.25.final.0.pickle12250644editdlrm
pygram.py13050644editdlrm
pytree.py279740644editdlrm
refactor.py275070644editdlrm
__init__.py1630644editdlrm
__main__.py670644editdlrm
Edit: /usr/lib64/python3.9/lib2to3/PatternGrammar.txt (793B)
# Copyright 2006 Google, Inc. All Rights Reserved. # Licensed to PSF under a Contributor Agreement. # A grammar to describe tree matching patterns. # Not shown here: # - 'TOKEN' stands for any token (leaf node) # - 'any' stands for any node (leaf or interior) # With 'any' we can still specify the sub-structure. # The start symbol is 'Matcher'. Matcher: Alternatives ENDMARKER Alternatives: Alternative ('|' Alternative)* Alternative: (Unit | NegatedUnit)+ Unit: [NAME '='] ( STRING [Repeater] | NAME [Details] [Repeater] | '(' Alternatives ')' [Repeater] | '[' Alternatives ']' ) NegatedUnit: 'not' (STRING | NAME [Details] | '(' Alternatives ')') Repeater: '*' | '+' | '{' NUMBER [',' NUMBER] '}' Details: '<' Alternatives '>'