Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
3 \mã @sNdZddlZddlmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZddlZdddddgZd d„ZGd d „d ƒZeƒZGd d„deƒZGd d„deƒZGdd„deƒZGdd„deƒZedk�rJddlZddlZeejdƒ�Zej ƒZ!WdQRXee!ej"j#ejdƒddƒZ$x0e$j%ƒD]$Z&e$j'e&ƒZ(e)e(e(j*ƒe(j+ƒƒ�q"WdS)z2Interface to the compiler's internal symbol tableséN)ÚUSEÚ DEF_GLOBALÚ DEF_LOCALÚ DEF_PARAMÚ DEF_IMPORTÚ DEF_BOUNDÚ DEF_ANNOTÚ SCOPE_OFFÚ SCOPE_MASKÚFREEÚLOCALÚGLOBAL_IMPLICITÚGLOBAL_EXPLICITÚCELLÚsymtableÚ SymbolTableÚClassÚFunctionÚSymbolcCstj|||ƒ}t||ƒS)N)Ú _symtablerÚ_newSymbolTable)ÚcodeÚfilenameZ compile_typeÚtop©rú /usr/lib64/python3.6/symtable.pyr sc@s$eZdZdd„Zdd„Zdd„ZdS)ÚSymbolTableFactorycCstjƒ|_dS)N)ÚweakrefÚWeakValueDictionaryÚ_SymbolTableFactory__memo)ÚselfrrrÚ__init__szSymbolTableFactory.__init__cCs6|jtjkrt||ƒS|jtjkr,t||ƒSt||ƒS)N)ÚtyperÚ TYPE_FUNCTIONrÚ TYPE_CLASSrr)r ÚtablerrrrÚnews     zSymbolTableFactory.newcCs8||f}|jj|dƒ}|dkr4|j||ƒ}|j|<|S)N)rÚgetr&)r r%rÚkeyÚobjrrrÚ__call__s zSymbolTableFactory.__call__N)Ú__name__Ú __module__Ú __qualname__r!r&r*rrrrrsrc@s„eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS) rcCs||_||_i|_dS)N)Ú_tableÚ _filenameÚ_symbols)r Z raw_tablerrrrr!'szSymbolTable.__init__cCsN|jtkrd}n d|jj}|jjdkr6dj||jƒSdj||jj|jƒSdS)NÚz%s Úglobalz<{0}SymbolTable for module {1}>z<{0}SymbolTable for {1} in {2}>)Ú __class__rr+r.ÚnameÚformatr/)r ZkindrrrÚ__repr__,s   zSymbolTable.__repr__cCsX|jjtjkrdS|jjtjkr$dS|jjtjkr6dS|jjdksTtdj|jjƒƒ‚dS) NÚmoduleZfunctionÚclassééézunexpected type: {0})r9r:r;)r.r"rZ TYPE_MODULEr#r$ÚAssertionErrorr5)r rrrÚget_type9szSymbolTable.get_typecCs|jjS)N)r.Úid)r rrrÚget_idCszSymbolTable.get_idcCs|jjS)N)r.r4)r rrrÚget_nameFszSymbolTable.get_namecCs|jjS)N)r.Úlineno)r rrrÚ get_linenoIszSymbolTable.get_linenocCst|jjtjkƒS)N)Úboolr.r"rr#)r rrrÚ is_optimizedLszSymbolTable.is_optimizedcCs t|jjƒS)N)rCr.Únested)r rrrÚ is_nestedOszSymbolTable.is_nestedcCs t|jjƒS)N)rCr.Úchildren)r rrrÚ has_childrenRszSymbolTable.has_childrencCsdS)z7Return true if the scope uses exec. Deprecated method.Fr)r rrrÚhas_execUszSymbolTable.has_execcCs |jjjƒS)N)r.ÚsymbolsÚkeys)r rrrÚget_identifiersYszSymbolTable.get_identifierscCsD|jj|ƒ}|dkr@|jj|}|j|ƒ}t|||ƒ}|j|<|S)N)r0r'r.rJÚ_SymbolTable__check_childrenr)r r4ZsymÚflagsÚ namespacesrrrÚlookup\s    zSymbolTable.lookupcs‡fdd„ˆjƒDƒS)Ncsg|]}ˆj|ƒ‘qSr)rP)Ú.0Úident)r rrú esz+SymbolTable.get_symbols..)rL)r r)r rÚ get_symbolsdszSymbolTable.get_symbolscs‡‡fdd„ˆjjDƒS)Ncs"g|]}|jˆkrt|ˆjƒ‘qSr)r4rr/)rQÚst)r4r rrrShsz0SymbolTable.__check_children..)r.rG)r r4r)r4r rZ__check_childrengs zSymbolTable.__check_childrencs‡fdd„ˆjjDƒS)Ncsg|]}t|ˆjƒ‘qSr)rr/)rQrU)r rrrSmsz,SymbolTable.get_children..)r.rG)r r)r rÚ get_childrenls zSymbolTable.get_childrenN)r+r,r-r!r6r=r?r@rBrDrFrHrIrLrPrTrMrVrrrrr%s  c@sDeZdZdZdZdZdZdd„Zdd„Zdd„Z dd „Z d d „Z dS) rNcst‡‡fdd„ˆjƒDƒƒS)Ncs g|]}ˆˆjj|ƒr|‘qSr)r.rJ)rQrR)r Ú test_funcrrrSzsz.Function.__idents_matching..)ÚtuplerL)r rWr)r rWrZ__idents_matchingyszFunction.__idents_matchingcCs |jdkr|jdd„ƒ|_|jS)NcSs|t@S)N)r)ÚxrrrÚsz)Function.get_parameters..)Ú_Function__paramsÚ_Function__idents_matching)r rrrÚget_parameters}s zFunction.get_parameterscs0|jdkr*ttf‰‡fdd„}|j|ƒ|_|jS)Ncs|t?t@ˆkS)N)r r )rY)ÚlocsrrrZ…sz%Function.get_locals..)Ú_Function__localsr rr\)r Útestr)r^rÚ get_locals‚s    zFunction.get_localscs0|jdkr*ttf‰‡fdd„}|j|ƒ|_|jS)Ncs|t?t@ˆkS)N)r r )rY)ÚglobrrrZŒsz&Function.get_globals..)Ú_Function__globalsr rr\)r r`r)rbrÚ get_globals‰s    zFunction.get_globalscCs$|jdkrdd„}|j|ƒ|_|jS)NcSs|t?t@tkS)N)r r r )rYrrrrZ’sz$Function.get_frees..)Ú_Function__freesr\)r Úis_freerrrÚ get_frees�s  zFunction.get_frees) r+r,r-r[r_rercr\r]rardrgrrrrrqsc@seZdZdZdd„ZdS)rNcCs:|jdkr4i}x|jjD]}d||j<qWt|ƒ|_|jS)Nr9)Ú_Class__methodsr.rGr4rX)r ÚdrUrrrÚ get_methods›s   zClass.get_methods)r+r,r-rhrjrrrrr—sc@s†eZdZd dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdS)!rNcCs(||_||_|t?t@|_|p f|_dS)N)Ú _Symbol__nameÚ_Symbol__flagsr r Ú_Symbol__scopeÚ_Symbol__namespaces)r r4rNrOrrrr!¦szSymbol.__init__cCs dj|jƒS)Nz)r5rk)r rrrr6¬szSymbol.__repr__cCs|jS)N)rk)r rrrr@¯szSymbol.get_namecCst|jtj@ƒS)N)rCrlrr)r rrrÚ is_referenced²szSymbol.is_referencedcCst|jt@ƒS)N)rCrlr)r rrrÚ is_parameterµszSymbol.is_parametercCst|jttfkƒS)N)rCrmr r)r rrrÚ is_global¸szSymbol.is_globalcCst|jtkƒS)N)rCrmr)r rrrÚis_declared_global»szSymbol.is_declared_globalcCst|jt@ƒS)N)rCrlr)r rrrÚis_local¾szSymbol.is_localcCst|jt@ƒS)N)rCrlr)r rrrÚ is_annotatedÁszSymbol.is_annotatedcCst|jtkƒS)N)rCrmr )r rrrrfÄszSymbol.is_freecCst|jt@ƒS)N)rCrlr)r rrrÚ is_importedÇszSymbol.is_importedcCst|jt@ƒS)N)rCrlr)r rrrÚ is_assignedÊszSymbol.is_assignedcCs t|jƒS)a‰Returns 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. )rCrn)r rrrÚ is_namespaceÍs zSymbol.is_namespacecCs|jS)z.Return a list of namespaces bound to this name)rn)r rrrÚget_namespacesÚszSymbol.get_namespacescCs t|jƒdkrtdƒ‚|jdS)z�Returns the single namespace bound to this name. Raises ValueError if the name is bound to multiple namespaces. r9z$name is bound to multiple namespacesr)ÚlenrnÚ ValueError)r rrrÚ get_namespaceÞszSymbol.get_namespace)N)r+r,r-r!r6r@rorprqrrrsrtrfrurvrwrxr{rrrrr¤s  Ú__main__r9Úexec),Ú__doc__rrrrrrrrr r r r r rrrÚ__all__rrrÚobjectrrrrr+ÚosÚsysÚopenÚargvÚfÚreadÚsrcÚpathÚsplitÚmodrLrRrPÚinfoÚprintrsrwrrrrÚs&@L& C