Back to module index

Go to module by name

symtable

Interface to the compiler's internal symbol tables

Classes

Class

get_children(self)

  Return a list of the nested symbol tables.
        
get_id(self)

  Return an identifier for the table.
        
get_identifiers(self)

  Return a view object containing the names of symbols in the table.
        
get_lineno(self)

  Return the number of the first line in the
          block for the table.
        
get_methods(self)

  Return a tuple of methods declared in the class.
        
get_name(self)

  Return the table's name.

          This corresponds to the name of the class, function
          or 'top' if the table is for a class, function or
          global respectively.
        
get_symbols(self)

  Return a list of *Symbol* instances for
          names in the table.
        
get_type(self)

  Return the type of the symbol table.

          The values retuned are 'class', 'module' and
          'function'.
        
has_children(self)

  Return *True* if the block has nested namespaces.
        
is_nested(self)

  Return *True* if the block is a nested class
          or function.
is_optimized(self)

  Return *True* if the locals in the table
          are optimizable.
        
lookup(self, name)

  Lookup a *name* in the table.

          Returns a *Symbol* instance.
        

Function

get_children(self)

  Return a list of the nested symbol tables.
        
get_frees(self)

  Return a tuple of free variables in the function.
        
get_globals(self)

  Return a tuple of globals in the function.
        
get_id(self)

  Return an identifier for the table.
        
get_identifiers(self)

  Return a view object containing the names of symbols in the table.
        
get_lineno(self)

  Return the number of the first line in the
          block for the table.
        
get_locals(self)

  Return a tuple of locals in the function.
        
get_name(self)

  Return the table's name.

          This corresponds to the name of the class, function
          or 'top' if the table is for a class, function or
          global respectively.
        
get_nonlocals(self)

  Return a tuple of nonlocals in the function.
        
get_parameters(self)

  Return a tuple of parameters to the function.
        
get_symbols(self)

  Return a list of *Symbol* instances for
          names in the table.
        
get_type(self)

  Return the type of the symbol table.

          The values retuned are 'class', 'module' and
          'function'.
        
has_children(self)

  Return *True* if the block has nested namespaces.
        
is_nested(self)

  Return *True* if the block is a nested class
          or function.
is_optimized(self)

  Return *True* if the locals in the table
          are optimizable.
        
lookup(self, name)

  Lookup a *name* in the table.

          Returns a *Symbol* instance.
        

Symbol

get_name(self)

  Return a name of a symbol.
        
get_namespace(self)

  Return the single namespace bound to this name.

          Raises ValueError if the name is bound to multiple namespaces.
        
get_namespaces(self)

  Return a list of namespaces bound to this name
is_annotated(self)

  Return *True* if the symbol is annotated.
        
is_assigned(self)

  Return *True* if a symbol is assigned to.
is_declared_global(self)

  Return *True* if the symbol is declared global
          with a global statement.
is_free(self)

  Return *True* if a referenced symbol is
          not assigned to.
        
is_global(self)

  Return *True* if the sysmbol is global.
        
is_imported(self)

  Return *True* if the symbol is created from
          an import statement.
        
is_local(self)

  Return *True* if the symbol is local.
        
is_namespace(self)

  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.
        
is_nonlocal(self)

  Return *True* if the symbol is nonlocal.
is_parameter(self)

  Return *True* if the symbol is a parameter.
        
is_referenced(self)

  Return *True* if the symbol is used in
          its block.
        

SymbolTable

get_children(self)

  Return a list of the nested symbol tables.
        
get_id(self)

  Return an identifier for the table.
        
get_identifiers(self)

  Return a view object containing the names of symbols in the table.
        
get_lineno(self)

  Return the number of the first line in the
          block for the table.
        
get_name(self)

  Return the table's name.

          This corresponds to the name of the class, function
          or 'top' if the table is for a class, function or
          global respectively.
        
get_symbols(self)

  Return a list of *Symbol* instances for
          names in the table.
        
get_type(self)

  Return the type of the symbol table.

          The values retuned are 'class', 'module' and
          'function'.
        
has_children(self)

  Return *True* if the block has nested namespaces.
        
is_nested(self)

  Return *True* if the block is a nested class
          or function.
is_optimized(self)

  Return *True* if the locals in the table
          are optimizable.
        
lookup(self, name)

  Lookup a *name* in the table.

          Returns a *Symbol* instance.
        

SymbolTableFactory

new(self, table, filename)

Functions

symtable

symtable(code, filename, compile_type)

   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.
    

Other members

CELL = 5
DEF_ANNOT = 256
DEF_BOUND = 134
DEF_GLOBAL = 1
DEF_IMPORT = 128
DEF_LOCAL = 2
DEF_NONLOCAL = 8
DEF_PARAM = 4
FREE = 4
GLOBAL_EXPLICIT = 2
GLOBAL_IMPLICIT = 3
LOCAL = 1
SCOPE_MASK = 15
SCOPE_OFF = 11
USE = 16

Modules

weakref