;ò
òŒü?c           @   s¹  d  Z  d k Z d k l Z l Z l Z l Z l Z l Z l Z l	 Z	 l
 Z
 l Z l Z l Z l Z l Z l Z d k Z d d d d d d g Z d	 „  Z d
 f  d „  ƒ  YZ e ƒ  Z d „  Z d f  d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d f  d „  ƒ  YZ e d j o— d k Z d k Z e e i d ƒ i  ƒ  Z! e e! e i" i# e i d ƒ d d ƒ Z$ x@ e$ i% ƒ  D]. Z& e$ i' e& ƒ Z( e( Ge( i) ƒ  Ge( i* ƒ  GHqWn d S(   s2   Interface to the compiler's internal symbol tablesN(   s   USEs
   DEF_GLOBALs	   DEF_LOCALs	   DEF_PARAMs   DEF_STARs   DEF_DOUBLESTARs   DEF_INTUPLEs   DEF_FREEs   DEF_FREE_GLOBALs   DEF_FREE_CLASSs
   DEF_IMPORTs	   DEF_BOUNDs   OPT_IMPORT_STARs   OPT_EXECs   OPT_BARE_EXECs   symtables   SymbolTables   newSymbolTables   Classs   Functions   Symbolc         C   s*   t  i |  | | ƒ } t | d | ƒ Sd  S(   Ni    (   s	   _symtables   symtables   codes   filenames   compile_types   raws   newSymbolTable(   s   codes   filenames   compile_types   raw(    (    s%   /mit/python/lib/python2.3/symtable.pys   symtable   s    s   SymbolTableFactoryc           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   t  i ƒ  |  _ d  S(   N(   s   weakrefs   WeakValueDictionarys   selfs   _SymbolTableFactory__memo(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   __init__   s    c         C   sY   | i t i j o t | | ƒ Sn | i t i j o t | | ƒ Sn t | | ƒ Sd  S(   N(	   s   tables   types	   _symtables   TYPE_FUNCTIONs   Functions   filenames
   TYPE_CLASSs   Classs   SymbolTable(   s   selfs   tables   filename(    (    s%   /mit/python/lib/python2.3/symtable.pys   new   s
    c         C   sW   | | f } |  i i | t ƒ } | t j o! |  i | | ƒ } |  i | <n | Sd  S(   N(	   s   tables   filenames   keys   selfs   _SymbolTableFactory__memos   gets   Nones   objs   new(   s   selfs   tables   filenames   objs   key(    (    s%   /mit/python/lib/python2.3/symtable.pys   __call__   s
    !(   s   __name__s
   __module__s   __init__s   news   __call__(    (    (    s%   /mit/python/lib/python2.3/symtable.pys   SymbolTableFactory   s   		c         C   sE   |  t t B@o |  t t Bt B@o t Sn |  t @o t Sn t Sd  S(   N(	   s   flagss   USEs   DEF_FREEs	   DEF_LOCALs	   DEF_PARAMs
   DEF_GLOBALs   Trues   DEF_FREE_CLASSs   False(   s   flags(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_free&   s
    "c           B   s˜   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s   | |  _ | |  _ h  |  _ d  S(   N(   s	   raw_tables   selfs   _tables   filenames	   _filenames   _symbols(   s   selfs	   raw_tables   filename(    (    s%   /mit/python/lib/python2.3/symtable.pys   __init__/   s    		c         C   sp   |  i t j o
 d } n d |  i i } |  i i d j o d | |  i f Sn d | |  i i |  i f Sd  S(   Ns    s   %s s   globals   <%sSymbolTable for module %s>s   <%sSymbolTable for %s in %s>(   s   selfs	   __class__s   SymbolTables   kinds   __name__s   _tables   names	   _filename(   s   selfs   kind(    (    s%   /mit/python/lib/python2.3/symtable.pys   __repr__4   s    
c         C   sŽ   |  i i t i j o d Sn |  i i t i j o d Sn |  i i t i j o d Sn |  i i d d d f j p t d |  i i ‚ d  S(   Ns   modules   functions   classi   i   i   s   unexpected type: %s(   s   selfs   _tables   types	   _symtables   TYPE_MODULEs   TYPE_FUNCTIONs
   TYPE_CLASSs   AssertionError(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_type@   s    c         C   s   |  i i Sd  S(   N(   s   selfs   _tables   id(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_idJ   s    c         C   s   |  i i Sd  S(   N(   s   selfs   _tables   name(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_nameM   s    c         C   s   |  i i Sd  S(   N(   s   selfs   _tables   lineno(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys
   get_linenoP   s    c         C   s+   t  |  i i t i j o |  i i ƒ Sd  S(   N(   s   bools   selfs   _tables   types	   _symtables   TYPE_FUNCTIONs	   optimized(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_optimizedS   s    c         C   s   t  |  i i ƒ Sd  S(   N(   s   bools   selfs   _tables   nested(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys	   is_nestedW   s    c         C   s   t  |  i i ƒ Sd  S(   N(   s   bools   selfs   _tables   children(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   has_childrenZ   s    c         C   s   t  |  i i t t B@ƒ Sd S(   s"   Return true if the scope uses execN(   s   bools   selfs   _tables	   optimizeds   OPT_EXECs   OPT_BARE_EXEC(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   has_exec]   s     c         C   s   t  |  i i t @ƒ Sd S(   s&   Return true if the scope uses import *N(   s   bools   selfs   _tables	   optimizeds   OPT_IMPORT_STAR(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   has_import_stara   s     c         C   s   |  i i i ƒ  Sd  S(   N(   s   selfs   _tables   symbolss   keys(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_identifierse   s    c         C   sg   |  i i | ƒ } | t j o@ |  i i | } |  i	 | ƒ } t | | | ƒ } |  i | <n | Sd  S(   N(   s   selfs   _symbolss   gets   names   syms   Nones   _tables   symbolss   flagss   _SymbolTable__check_childrens
   namespacess   Symbol(   s   selfs   names   syms   flagss
   namespaces(    (    s%   /mit/python/lib/python2.3/symtable.pys   lookuph   s    !c         C   s8   g  i  } |  i ƒ  D] } | |  i | ƒ ƒ q ~ Sd  S(   N(   s   appends   _[1]s   selfs   get_identifierss   idents   lookup(   s   selfs   _[1]s   ident(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_symbolsp   s    c         C   sO   g  i  } |  i i D]0 } | i | j o | t | |  i ƒ ƒ q q ~ Sd  S(   N(	   s   appends   _[1]s   selfs   _tables   childrens   sts   names   newSymbolTables	   _filename(   s   selfs   names   _[1]s   st(    (    s%   /mit/python/lib/python2.3/symtable.pys   __check_childrens   s    c         C   s;   g  i  } |  i i D] } | t | |  i ƒ ƒ q ~ Sd  S(   N(   s   appends   _[1]s   selfs   _tables   childrens   sts   newSymbolTables	   _filename(   s   selfs   _[1]s   st(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_childrenx   s    (   s   __name__s
   __module__s   __init__s   __repr__s   get_types   get_ids   get_names
   get_linenos   is_optimizeds	   is_nesteds   has_childrens   has_execs   has_import_stars   get_identifierss   lookups   get_symbolss   _SymbolTable__check_childrens   get_children(    (    (    s%   /mit/python/lib/python2.3/symtable.pys   SymbolTable.   s    			
												c           B   sM   t  Z e Z e Z e Z e Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z RS(   Nc         C   sP   t  g  i } |  i ƒ  D]+ } | |  i i | ƒ o | | ƒ q q ~ ƒ Sd  S(   N(	   s   tuples   appends   _[1]s   selfs   get_identifierss   idents	   test_funcs   _tables   symbols(   s   selfs	   test_funcs   _[1]s   ident(    (    s%   /mit/python/lib/python2.3/symtable.pys   __idents_matching„   s    c         C   s4   |  i t j o |  i d „  ƒ |  _ n |  i Sd  S(   Nc         C   s   |  t @S(   N(   s   xs	   DEF_PARAM(   s   x(    (    s%   /mit/python/lib/python2.3/symtable.pys   <lambda>Š   s    (   s   selfs   _Function__paramss   Nones   _Function__idents_matching(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_parametersˆ   s    c         C   s4   |  i t j o |  i d „  ƒ |  _ n |  i Sd  S(   Nc         C   s   |  t @S(   N(   s   xs	   DEF_BOUND(   s   x(    (    s%   /mit/python/lib/python2.3/symtable.pys   <lambda>�   s    (   s   selfs   _Function__localss   Nones   _Function__idents_matching(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys
   get_locals�   s    c            sA   |  i t j o& t t B‰  |  i ‡  d †  ƒ |  _ n |  i Sd  S(   Nc            s   |  ˆ  @S(   N(   s   xs   glob(   s   x(   s   glob(    s%   /mit/python/lib/python2.3/symtable.pys   <lambda>•   s    (   s   selfs   _Function__globalss   Nones
   DEF_GLOBALs   DEF_FREE_GLOBALs   globs   _Function__idents_matching(   s   selfs   glob(    (   s   globs%   /mit/python/lib/python2.3/symtable.pys   get_globals’   s    
c         C   s1   |  i t j o |  i t ƒ |  _ n |  i Sd  S(   N(   s   selfs   _Function__freess   Nones   _Function__idents_matchings   is_free(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys	   get_frees˜   s    (   s   __name__s
   __module__s   Nones   _Function__paramss   _Function__localss   _Function__freess   _Function__globalss   _Function__idents_matchings   get_parameterss
   get_localss   get_globalss	   get_frees(    (    (    s%   /mit/python/lib/python2.3/symtable.pys   Function|   s   				c           B   s   t  Z e Z d „  Z RS(   Nc         C   sX   |  i t j o= h  } x! |  i i D] } d | | i <q# Wt | ƒ |  _ n |  i Sd  S(   Ni   (	   s   selfs   _Class__methodss   Nones   ds   _tables   childrens   sts   names   tuple(   s   selfs   sts   d(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_methods¡   s     (   s   __name__s
   __module__s   Nones   _Class__methodss   get_methods(    (    (    s%   /mit/python/lib/python2.3/symtable.pys   Class�   s   c           B   s›   t  Z e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s&   | |  _ | |  _ | p f  |  _ d  S(   N(   s   names   selfs   _Symbol__names   flagss   _Symbol__flagss
   namespacess   _Symbol__namespaces(   s   selfs   names   flagss
   namespaces(    (    s%   /mit/python/lib/python2.3/symtable.pys   __init__ª   s    		c         C   s   d |  i Sd  S(   Ns   <symbol '%s'>(   s   selfs   _Symbol__name(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   __repr__¯   s    c         C   s   |  i Sd  S(   N(   s   selfs   _Symbol__name(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_name²   s    c         C   s   t  |  i t i @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss	   _symtables   USE(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_referencedµ   s    c         C   s   t  |  i t @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss	   DEF_PARAM(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_parameter¸   s    c         C   s#   t  |  i t @p |  i t @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss
   DEF_GLOBALs   DEF_FREE_GLOBAL(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys	   is_global»   s    c         C   s   t  |  i t @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss   DEF_STAR(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys	   is_vararg¿   s    c         C   s   t  |  i t @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss   DEF_DOUBLESTAR(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_keywordargÂ   s    c         C   s   t  |  i t @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss	   DEF_BOUND(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_localÅ   s    c         C   sN   |  i t t B@o |  i t t Bt B@o t Sn |  i t @o t Sn t	 Sd  S(   N(
   s   selfs   _Symbol__flagss   USEs   DEF_FREEs	   DEF_LOCALs	   DEF_PARAMs
   DEF_GLOBALs   Trues   DEF_FREE_CLASSs   False(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_freeÈ   s
    (c         C   s   t  |  i t @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss
   DEF_IMPORT(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_importedÐ   s    c         C   s   t  |  i t @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss	   DEF_LOCAL(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_assignedÓ   s    c         C   s   t  |  i t @ƒ Sd  S(   N(   s   bools   selfs   _Symbol__flagss   DEF_INTUPLE(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_in_tupleÖ   s    c         C   s   t  |  i ƒ Sd S(   s‰  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.
        N(   s   bools   selfs   _Symbol__namespaces(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   is_namespaceÙ   s    
 c         C   s   |  i Sd S(   s.   Return a list of namespaces bound to this nameN(   s   selfs   _Symbol__namespaces(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_namespacesæ   s     c         C   s2   t  |  i ƒ d j o t d ‚ n |  i d Sd S(   s�   Returns the single namespace bound to this name.

        Raises ValueError if the name is bound to multiple namespaces.
        i   s$   name is bound to multiple namespacesi    N(   s   lens   selfs   _Symbol__namespacess
   ValueError(   s   self(    (    s%   /mit/python/lib/python2.3/symtable.pys   get_namespaceê   s     (   s   __name__s
   __module__s   Nones   __init__s   __repr__s   get_names   is_referenceds   is_parameters	   is_globals	   is_varargs   is_keywordargs   is_locals   is_frees   is_importeds   is_assigneds   is_in_tuples   is_namespaces   get_namespacess   get_namespace(    (    (    s%   /mit/python/lib/python2.3/symtable.pys   Symbol©   s    														s   __main__i    i   s   exec(+   s   __doc__s	   _symtables   USEs
   DEF_GLOBALs	   DEF_LOCALs	   DEF_PARAMs   DEF_STARs   DEF_DOUBLESTARs   DEF_INTUPLEs   DEF_FREEs   DEF_FREE_GLOBALs   DEF_FREE_CLASSs
   DEF_IMPORTs	   DEF_BOUNDs   OPT_IMPORT_STARs   OPT_EXECs   OPT_BARE_EXECs   weakrefs   __all__s   symtables   SymbolTableFactorys   newSymbolTables   is_frees   SymbolTables   Functions   Classs   Symbols   __name__s   oss   syss   opens   argvs   reads   srcs   paths   splits   mods   get_identifierss   idents   lookups   infos   is_locals   is_namespace(    s   DEF_STARs   USEs   newSymbolTables   DEF_FREE_GLOBALs	   DEF_PARAMs   symtables   DEF_FREEs   Functions   DEF_FREE_CLASSs   __all__s   Symbols   DEF_INTUPLEs
   DEF_GLOBALs   DEF_DOUBLESTARs   Classs   SymbolTableFactorys   OPT_EXECs   is_frees   syss   idents
   DEF_IMPORTs   mods   infos   srcs   OPT_BARE_EXECs	   DEF_LOCALs	   _symtables   OPT_IMPORT_STARs   weakrefs   SymbolTables	   DEF_BOUNDs   os(    (    s%   /mit/python/lib/python2.3/symtable.pys   ?   s(   	a				N!J) 