f dZddlZddlmZmZmZmZmZmZddl m Z ddl m Z Gdde Z d ZGd d eZejejejdd Zd ZdZdZdS)z#Guido van Rossum N)driverliteralstokentokenizeparsegrammar)pytree)pygramceZdZdS)PatternSyntaxErrorN)__name__ __module__ __qualname__6/opt/alt/python311/lib64/python3.11/lib2to3/patcomp.pyr r sDrr c#K tjtjtjh}t jt j|j}|D]}|\}}}}}||vr|VdSN) rNEWLINEINDENTDEDENTrgenerate_tokensioStringIOreadline) inputskiptokens quintupletypevaluestartend line_texts rtokenize_wrapperr&sv@ M5< 6D  %bk%&8&8&A B BF -6*eUC t  OOOrc2eZdZddZd dZdZddZdZdS) PatternCompilerNcN |#tj|_tj|_n7t j||_tj|j|_tj|_ tj |_ t j |jt|_dS)N)convert)r pattern_grammarr pattern_symbolssymsr load_grammarSymbolspython_grammar pygrammarpython_symbolspysymsDriverpattern_convert)self grammar_files r__init__zPatternCompiler.__init__(sz   !1DL.DII!.|<.0chr6s r z0PatternCompiler.compile_node..Os'GGGbD%%b))GGGrrcg|]}|gSrr)rGas rrIz0PatternCompiler.compile_node..Rs':':':':':':rminmaxc:g|]}|SrrErFs rrIz0PatternCompiler.compile_node..Vs'CCCrT&&r**CCCr)r!r-Matcherchildren Alternativeslenr WildcardPatternoptimize Alternative NegatedUnit compile_basicNegatedPatternrEQUALr"RepeaterSTARHUGEPLUSLBRACEget_intname) r6nodealtspunitspatternrenodesrepeatrUchildrNrOs ` rr>zPatternCompiler.compile_nodeCs 9 ) ) )=#D 9 . . .GGGGDM##A#4FGGGD4yyA~~Aw&':':T':':':qIIIA::<<  9 - - -CCCCT]CCCE5zzQQx&wA1===A::<<  9 - - -((qrr):;;G%g..A::<<   u::??uQx} ;;8>D!""IE u::??uRy~1CCC2YF#2#JE$$UF33  HQKEzUZ''kuz))ku|++!LL!555cx==A%%,,x{33Caxx3!88!**,, 07)#3OOO  GL!!!rc|d}|jtjkrHtt j|j}tjt||S|jtj kr|j}| rS|tvrtd|z|ddrtdtjt|S|dkrd}n?|ds*t|j|d}|td|z|ddr(||djdg}nd}tj||S|jdkr||dS|jd kr4||d}tj|ggdd SdS) NrzInvalid token: %rrzCan't have details for tokenany_zInvalid symbol: %r([rM)r!rSTRINGr=r evalStringr"r LeafPattern_type_of_literalNAMEisupper TOKEN_MAPr startswithgetattrr3r>rU NodePatternrX)r6rkrlrfr"r!content subpatterns rr\zPatternCompiler.compile_basicsQx 9 $ $+DJ7788E%&6u&=&=uEE E Y%* $ $JE}} 9 )),-@5-HIII9M,-KLLL))E*:;;;E>>DD))#..O"4;t<r\rdrrrr(r(&sw K K K K + + + +E"E"E"N!!!!Frr()rwrsNUMBERTOKENc|dr tjS|tjvrtj|SdS)Nr)isalpharrwr opmap)r"s rrvrvsA Qxz '-  }U##trc |\}}}}|s ||jvrtj|||Stj|||S)N)context) number2symbolr NodeLeaf)r raw_node_infor!r"rrUs rr5r5sVC%2"D%(947000{47;;;;{48888rcDt|Sr)r(rB)rjs rrBrBs    , ,W 5 55r) __author__rpgen2rrrrrr r r Exceptionr r&objectr(rwrsrryrvr5rBrrrrs83  EDDDDDDDDDDDDDDD        IIIIIfIIIZZ||   99966666r