grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026ó óÿØz4 ãóî•SrSSKrSSKJrJrJrJrJrJrJrJ r J r J r J r J r JrJrJr SSKrSSKJr /SQrSr"SS5r\"5r"S S \5r"S S 5r"S S\5r"SS\5r"SS5rS\4/r\R=S\"5RA555 Sr!\!Vs0sHn\"5UU_M snr"Sr#\$S:XaSSK%r%\#"\%RLSS5 ggs snf)z2Interface to the compiler's internal symbol tableséN)ÚUSEÚ DEF_GLOBALÚ DEF_NONLOCALÚ DEF_LOCALÚ DEF_PARAMÚ DEF_IMPORTÚ DEF_BOUNDÚ DEF_ANNOTÚ SCOPE_OFFÚ SCOPE_MASKÚFREEÚLOCALÚGLOBAL_IMPLICITÚGLOBAL_EXPLICITÚCELL)ÚStrEnum)ÚsymtableÚSymbolTableTypeÚ SymbolTableÚClassÚFunctionÚSymbolcóF•[R"XU5n[X15$)zžReturn the toplevel *SymbolTable* for the source code. *filename* is the name of the file with the code and *compile_type* is the *compile()* mode argument. )Ú _symtablerÚ_newSymbolTable)ÚcodeÚfilenameÚ compile_typeÚtops Ú//opt/alt/python313/lib64/python3.13/symtable.pyrr s!€ô × Ò ˜T¨\Ó :€CÜ ˜3Ó )Ð)ócó&•\rSrSrSrSrSrSrg)ÚSymbolTableFactoryécó8•[R"5Ulg©N)ÚweakrefÚWeakValueDictionaryÚ_SymbolTableFactory__memo©Úselfs r Ú__init__ÚSymbolTableFactory.__init__s€Ü×1Ò1Ó3ˆ� r!có¼•UR[R:Xa [X5$UR[R:Xa [ X5$[ X5$r&)ÚtyperÚ TYPE_FUNCTIONrÚ TYPE_CLASSrr)r+Útablers r ÚnewÚSymbolTableFactory.newsG€Ø �:‰:œ×0Ñ0Ó 0ܘEÓ,Ð ,Ø �:‰:œ×-Ñ-Ó -ܘÓ)Ð )ܘ5Ó+Ð+r!cóˆ•X4nURRUS5nUcURX5=o@RU'U$r&)r)Úgetr3)r+r2rÚkeyÚobjs r Ú__call__ÚSymbolTableFactory.__call__!sA€ØˆoˆØ�k‰k�o‰o˜c 4Ó(ˆØ ‰;Ø%)§X¡X¨eÓ%>Ð >ˆC—+‘+˜cÑ"؈ r!)Ú__memoN)Ú__name__Ú __module__Ú __qualname__Ú__firstlineno__r,r3r9Ú__static_attributes__©r!r r#r#s†ò4ò,õr!r#có0•\rSrSrSrSrSrSrSrSr Sr S r g ) ré+ÚmoduleÚfunctionÚclassÚ annotationz type aliasztype parametersz type variablerAN) r<r=r>r?ÚMODULEÚFUNCTIONÚCLASSÚ ANNOTATIONÚ TYPE_ALIASÚTYPE_PARAMETERSÚ TYPE_VARIABLEr@rAr!r rr+s%†Ø €FØ€HØ €EØ€JØ€JØ'€OØ#ƒMr!rcóh•\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrg)ré5có*•XlX l0Ulgr&)Ú_tableÚ _filenameÚ_symbols)r+Ú raw_tablers r r,ÚSymbolTable.__init__7s€ØŒ Ø!ŒØˆ� r!có.•UR[:XaSnOSURR-nURRS:XaSR XR 5$SR UURRUR 5$)NÚz%s rz<{0}SymbolTable for module {1}>z<{0}SymbolTable for {1} in {2}>)Ú __class__rr<rRÚnameÚformatrS)r+Úkinds r Ú__repr__ÚSymbolTable.__repr__<sy€Ø �>‰>œ[Ó (؉Dà˜4Ÿ>™>×2Ñ2Ñ2ˆDà �;‰;× Ñ ˜uÓ $Ø4×;Ñ;¸DÇ.Á.ÓQÐ Qà4×;Ñ;¸DØ<@¿K¹K×r?r,r]rerirlrprtrxr|r�rŠrŽr†r•r@rAr!r rr5sK†òò Lò=ò,ò  ò"ò Aò (ò *ò *ò òHò $õ 0r!rcóL•\rSrSrSrSrSrSrSrSr Sr Sr Sr Sr SrS rg) ré¨NcóN^^•[UU4SjTR555$)Nc3ót># •UH-nT"TRRU5(dM)Uv• M/ g7fr&)rRr)Ú.0r�r+Ú test_funcs €€r Ú Ú-Function.__idents_matching..²s1øé€ð?Ò(>˜uÙ! $§+¡+×"5Ñ"5°eÑ"<×=÷‘UÒ(>ùsƒ(8¯ 8)Útupler�)r+rœs``r Ú__idents_matchingÚFunction.__idents_matching±s%ù€Üõ?¨×(<Ñ(<Ô(>ó?ó?ð ?r!cób•URcURS5UlUR$)z6Return a tuple of parameters to the function. có•U[-$r&)r©Úxs r ÚÚ)Function.get_parameters..¹s€¸AÄ ºMr!)Ú_Function__paramsÚ_Function__idents_matchingr*s r Úget_parametersÚFunction.get_parametersµs+€ð �=‰=Ñ Ø ×2Ñ2Ñ3IÓJˆDŒMØ�}‰}Ðr!có†^•URc([[4mU4SjnURU5UlUR$)z2Return a tuple of locals in the function. có*>•U[- [-T;$r&©r r )r¥Úlocss €r r¦Ú%Function.get_locals..Ásø€˜q¤I™~´Ñ;ÀÒDr!)Ú_Function__localsrrr©)r+Útestr¯s @r Ú get_localsÚFunction.get_locals¼s9ø€ð �=‰=Ñ Üœ4�=ˆDÜDˆDØ ×2Ñ2°4Ó8ˆDŒMØ�}‰}Ðr!có†^•URc([[4mU4SjnURU5UlUR$)z3Return a tuple of globals in the function. có*>•U[- [-T;$r&r®)r¥Úglobs €r r¦Ú&Function.get_globals..Êsø€˜a¤9™n´ Ñ:¸tÒCr!)Ú_Function__globalsrrr©)r+r²r·s @r Ú get_globalsÚFunction.get_globalsÅs:ø€ð �>‰>Ñ !Ü#¤_Ð5ˆDÜCˆDØ!×3Ñ3°DÓ9ˆDŒNØ�~‰~Ðr!cób•URcURS5UlUR$)z5Return a tuple of nonlocals in the function. có•U[-$r&)rr¤s r r¦Ú(Function.get_nonlocals..Òs €¸qÄ<Ò?Or!)Ú_Function__nonlocalsr©r*s r Ú get_nonlocalsÚFunction.get_nonlocalsÎs0€ð × Ñ Ñ #Ø#×5Ñ5Ñ6OÓPˆDÔ Ø×ÑÐr!cóf•URcSnURU5UlUR$)z:Return a tuple of free variables in the function. có0•U[- [-[:H$r&)r r r r¤s r r¦Ú$Function.get_frees..Ùs€ ¤i¡´:Ñ =Ä$ÒFr!)Ú_Function__freesr©)r+Úis_frees r Ú get_freesÚFunction.get_freesÕs/€ð �<‰<Ñ ÙFˆGØ×1Ñ1°'Ó:ˆDŒLØ�|‰|Ðr!)Ú__freesÚ __globalsÚ__localsÚ __nonlocalsÚ__params)r<r=r>r?r¨r±rÅr¹r¿r©rªr³rºrÀrÇr@rAr!r rr¨s;†ð€HØ€HØ€GØ€IØ€Kò?òòòò õr!rcó•\rSrSrSrSrSrg)réÞNcó~^•TRGc#0nU4SjnTRRHñnU"UR5(dMUR=[ R :Xa3 URS:XaSUR;aM^SXR'Mn[ R:XdMƒURnURHRnURU:XdMUR[ R :XdM5US:wdSUR;deSX' Mï Mó [U5TlTR$)z9Return a tuple of methods declared in the class. có~>•TRRRUS5nU[- [-[ :H$)Nr)rRrr6r r r)r�rˆr+s €r Úis_local_symbolÚ*Class.get_methods..is_local_symbolès4ø€ØŸ ™ ×+Ñ+×/Ñ/°°qÓ9�ؤ)Ñ+¬zÑ9¼eÑCÐCr!Úgenexprz.0é) Ú_Class__methodsrRr{rZr/rr0ÚvarnamesrcrŸ)r+ÚdrÒr‘Ú scope_nameÚcs` r Ú get_methodsÚClass.get_methodsâsöø€ð �>‰>Ò !؈Aõ Dð—k‘k×*Ô*�á" 2§7¡7×+Ó+ØŸ'™'Ø4œY×4Ö4ð "Ÿw™w¨)Ó3¸ÀÇ Á Ó8KÙ (Ø)*˜AŸg™g›JÜ&×;×;ð*,¯©˜JØ%'§[¤[ Ø#$§6¡6¨ZÕ#7¸A¿F¹FÄi×F]ÑF]Õ<]ð,6¸Ó+BÀdÐRS×R\ÑR\ÓF\Ð$\Ð+\Ø45 A¡MÚ$)ó&1ñ+ô4# 1›XˆDŒNØ�~‰~Ðr!)Ú __methods)r<r=r>r?rÖrÛr@rAr!r rrÞs †à€Iõ%r!rcóŒ•\rSrSrSSS.SjjrSrSrSrS rS r S r S r S r Sr SrSrSrSrSrSrSrSrSrg)ri NFr„cór•XlX lU[- [-UlU=(d SUlX@lg)NrA)Ú _Symbol__nameÚ_Symbol__flagsr r Ú_Symbol__scopeÚ_Symbol__namespacesÚ_Symbol__module_scope)r+rZrˆr‰r…s r r,ÚSymbol.__init__ s0€ØŒ ØŒ ؤÑ*¬jÑ8ˆŒ Ø&×,¨"ˆÔØ*Õr!cóŠ•SRUR55nSUR<SUR5SUS3$)NÚ|z)ÚjoinÚ _flags_strràÚ _scope_str)r+Ú flags_strs r r]ÚSymbol.__repr__s>€Ø—H‘H˜TŸ_™_Ó.Ó/ˆ ؘ$Ÿ+™+™¨¨4¯?©?Ó+<Ð*=¸RÀ ¸{È!ÐLÐLr!cóx•[RUR5=(d [UR5$r&)Ú_scopes_value_to_namer6râÚstrr*s r ríÚSymbol._scope_strs%€Ü$×(Ñ(¨¯©Ó6×K¼#¸d¿l¹lÓ:KÐKr!c#ó\# •[HupURU-U:XdMUv• M g7fr&)Ú_flagsrá)r+ÚflagnameÚ flagvalues r rìÚSymbol._flags_strs(é€ß#)Ñ ˆHØ�|‰|˜iÑ'¨9Õ4Ø”ò$*ùs‚,£ ,có•UR$)z#Return a name of a symbol. )ràr*s r rlÚSymbol.get_names€ð�{‰{Ðr!cóN•[UR[R-5$)z2Return *True* if the symbol is used in its block. )rsrárrr*s r Ú is_referencedÚSymbol.is_referenced$s€ô�D—L‘L¤9§=¡=Ñ0Ó1Ð1r!có:•[UR[-5$)z4Return *True* if the symbol is a parameter. )rsrárr*s r Ú is_parameterÚSymbol.is_parameter*ó€ô�D—L‘L¤9Ñ,Ó-Ð-r!có •[UR[[4;=(d& UR=(a UR [ -5$)z/Return *True* if the symbol is global. )rsrârrrärár r*s r Ú is_globalÚSymbol.is_global/s@€ô�D—L‘L¤_´oÐ$FÑF÷JØ×+Ñ+×H°· ± ¼yÑ0HóKð Kr!có:•[UR[-5$)z(Return *True* if the symbol is nonlocal.)rsrárr*s r Ú is_nonlocalÚSymbol.is_nonlocal5s€ä�D—L‘L¤<Ñ/Ó0Ð0r!có:•[UR[:H5$)zGReturn *True* if the symbol is declared global with a global statement.)rsrârr*s r Úis_declared_globalÚSymbol.is_declared_global9s€ô�D—L‘L¤OÑ3Ó4Ð4r!có •[UR[[4;=(d& UR=(a UR [ -5$)z.Return *True* if the symbol is local. )rsrârrrärár r*s r Úis_localÚSymbol.is_local>s?€ô�D—L‘L¤U¬D MÑ1÷JØ×+Ñ+×H°· ± ¼yÑ0HóKð Kr!có:•[UR[-5$)z2Return *True* if the symbol is annotated. )rsrár r*s r Ú is_annotatedÚSymbol.is_annotatedDrr!có:•[UR[:H5$)z9Return *True* if a referenced symbol is not assigned to. )rsrâr r*s r rÆÚSymbol.is_freeIs€ô�D—L‘L¤DÑ(Ó)Ð)r!có:•[UR[-5$)zAReturn *True* if the symbol is created from an import statement. )rsrárr*s r Ú is_importedÚSymbol.is_importedOs€ô�D—L‘L¤:Ñ-Ó.Ð.r!có:•[UR[-5$)z)Return *True* if a symbol is assigned to.)rsrárr*s r Ú is_assignedÚSymbol.is_assignedUs€ä�D—L‘L¤9Ñ,Ó-Ð-r!có,•[UR5$)aSReturns *True* if name binding introduces new namespace. If the name is used as the target of a function or class statement, this will be true. Note that a single name can be bound to multiple objects. If is_namespace() is true, the name may also be bound to other objects, like an int or list, that does not introduce a new namespace. )rsrãr*s r Ú is_namespaceÚSymbol.is_namespaceYs€ô�D×%Ñ%Ó&Ð&r!có•UR$)z.Return a list of namespaces bound to this name)rãr*s r Úget_namespacesÚSymbol.get_namespacesfs€à× Ñ Ð r!có°•[UR5S:Xa [S5e[UR5S:”a [S5eURS$)z€Return the single namespace bound to this name. Raises ValueError if the name is bound to multiple namespaces or no namespace. rz#name is not bound to any namespacesrÕz$name is bound to multiple namespaces)ÚlenrãÚ ValueErrorr*s r Ú get_namespaceÚSymbol.get_namespacejsS€ô ˆt× Ñ Ó ! QÓ &ÜÐBÓCÐ CÜ �×"Ñ"Ó # aÓ 'ÜÐCÓDÐ Dà×$Ñ$ QÑ'Ð 'r!)Ú__flagsÚ__module_scopeÚ__nameÚ __namespacesÚ__scoper&)r<r=r>r?r,r]rírìrlrürÿrrr r rrÆrrrrr"r@rAr!r rr sg†ð+ÀUö+òMòLòò ò 2ò .ò Kò 1ò5ò Kò .ò *ò /ò .ò 'ò!õ (r!rrc#óZ# •UH!oSRS5(dMUv• M# g7f)rÚDEF_N)Ú startswith)r›Úkvs r r�r�ys#é€Ð IÒ,�R°1±×0@Ñ0@À×0H�b‰bÒ,ùs‚+¢ +)r rrrrcó ^•SSKnSU4SjjmU=(d S/H`nUS:XaURR5nSnO%[US5nUR5nSSS5 [ WUS5nT"U5 Mb g!,(df  N(=f)Nrc ó|>•SU-nUR5(aSOSnUR5S:XaSUR<3nOUR5<n[ USUUR5SUS35 UR 5H‚nUR U5nS RUR55R5n[ SUUR5R5S UR5<S U35 M„ [ 5 UR5HnT "X�S -5 M g) Nz znested rXrDz from file zsymbol table for Ú Ú:réz symbol rèrÕ) rxrerSrlÚprintr�rŠrërìÚlowerrír•) r2ÚlevelÚindentrwÚwhatr�ÚsymbolrˆÚtable2Ú print_symbolss €r r8Úmain..print_symbols€sø€Ø˜%‘ˆØ#Ÿo™o×/Ñ/‘°RˆØ �>‰>Ó ˜xÓ 'Ø §¡Ñ2Ð3‰Dà—n‘nÓ&Ñ)ˆDÜ ��Ð)¨&¨°%·.±.Ó2BÐ1CÀ1ÀTÀFÈ!ÐLÔMØ×*Ñ*Ö,ˆEØ—\‘\ %Ó(ˆFØ—I‘I˜f×/Ñ/Ó1Ó2×8Ñ8Ó:ˆEÜ �D˜˜ ×!2Ñ!2Ó!4×!:Ñ!:Ó!<Ð =¸XÀfÇoÁoÓFWÑEZÐZ\Ð]bÐ\cÐdÖ eñ-ô Œà×(Ñ(Ö*ˆFÙ ˜&¨!¡)Ö ,ò+r!Ú-zÚrbÚexec)r)ÚsysÚstdinÚreadÚopenr)Úargsr=rÚsrcÚfÚmodr8s @r ÚmainrE~svø€Û÷-ð"—M˜S˜E’MˆØ �s‹?Ø—)‘)—.‘.Ó"ˆCØ ‰Hä�h Ô%¨Ø—f‘f“h�÷&ä�s˜H fÓ-ˆÙ�cÖò"÷ &Õ%ús Á A?Á? B Ú__main__rÕ)'Ú__doc__rrrrrrrr r r r r rrrrr'ÚenumrÚ__all__rr#rrrrrrrõÚextendÚglobalsÚitemsÚ _scopes_namesrñrEr<r=Úargv)Úns0r ÚrPsðÙ8ã÷4÷4÷4÷4ñ4óÝâ W€ò*÷ññ$%Ó&€ô$�gô$÷p0ñp0ôf3ˆ{ô3ôl)ˆKô)÷Xk(ñk(ð\ �#ˆ,ˆ€Ø‡ � Ñ I™7›9Ÿ?™?Ô,Ó IÔIØO€ Ù2?Ó@²-¨Q™› 1™ qš±-Ñ@Ðòð< ˆzÓÛÙˆ�‰�!�"ˆÕðùòCAsÂ6C2