Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
SymbolTable Class Reference
Inheritance diagram for SymbolTable:
Class Function

Public Member Functions

def __init__
 
def __repr__
 
def get_type
 
def get_id
 
def get_name
 
def get_lineno
 
def is_optimized
 
def is_nested
 
def has_children
 
def has_exec
 
def has_import_star
 
def get_identifiers
 
def lookup
 
def get_symbols
 
def get_children
 

Detailed Description

Definition at line 52 of file symtable.py.

Constructor & Destructor Documentation

def __init__ (   self,
  raw_table,
  filename 
)

Definition at line 53 of file symtable.py.

References SymbolTable._filename, FileInput._filename, SymbolTable._symbols, and SymbolTable._table.

53 
54  def __init__(self, raw_table, filename):
55  self._table = raw_table
56  self._filename = filename
57  self._symbols = {}

Member Function Documentation

def __repr__ (   self)

Definition at line 58 of file symtable.py.

References SymbolTable.__class__, SymbolTable._filename, and FileInput._filename.

58 
59  def __repr__(self):
60  if self.__class__ == SymbolTable:
61  kind = ""
62  else:
63  kind = "%s " % self.__class__.__name__
64 
65  if self._table.name == "global":
66  return "<%sSymbolTable for module %s>" % (kind, self._filename)
67  else:
68  return "<%sSymbolTable for %s in %s>" % (kind, self._table.name,
69  self._filename)
def get_children (   self)

Definition at line 126 of file symtable.py.

References SymbolTable._filename, FileInput._filename, and symtable.newSymbolTable.

127  def get_children(self):
128  return [newSymbolTable(st, self._filename)
129  for st in self._table.children]
def get_id (   self)

Definition at line 80 of file symtable.py.

80 
81  def get_id(self):
82  return self._table.id
def get_identifiers (   self)

Definition at line 107 of file symtable.py.

108  def get_identifiers(self):
109  return self._table.symbols.keys()
def get_lineno (   self)

Definition at line 86 of file symtable.py.

86 
87  def get_lineno(self):
88  return self._table.lineno
def get_name (   self)

Definition at line 83 of file symtable.py.

83 
84  def get_name(self):
85  return self._table.name
def get_symbols (   self)

Definition at line 118 of file symtable.py.

References SymbolTable._filename, FileInput._filename, SymbolTable.get_identifiers(), SymbolTable.lookup(), and symtable.newSymbolTable.

119  def get_symbols(self):
120  return [self.lookup(ident) for ident in self.get_identifiers()]
def get_type (   self)

Definition at line 70 of file symtable.py.

70 
71  def get_type(self):
72  if self._table.type == _symtable.TYPE_MODULE:
73  return "module"
74  if self._table.type == _symtable.TYPE_FUNCTION:
75  return "function"
76  if self._table.type == _symtable.TYPE_CLASS:
77  return "class"
78  assert self._table.type in (1, 2, 3), \
79  "unexpected type: %s" % self._table.type
def has_children (   self)

Definition at line 96 of file symtable.py.

References symtable.bool().

96 
97  def has_children(self):
98  return bool(self._table.children)
def has_exec (   self)
Return true if the scope uses exec

Definition at line 99 of file symtable.py.

References symtable.bool().

99 
100  def has_exec(self):
101  """Return true if the scope uses exec"""
102  return bool(self._table.optimized & (OPT_EXEC | OPT_BARE_EXEC))
def has_import_star (   self)
Return true if the scope uses import *

Definition at line 103 of file symtable.py.

References symtable.bool().

104  def has_import_star(self):
105  """Return true if the scope uses import *"""
106  return bool(self._table.optimized & OPT_IMPORT_STAR)
def is_nested (   self)

Definition at line 93 of file symtable.py.

References symtable.bool().

93 
94  def is_nested(self):
95  return bool(self._table.nested)
def is_optimized (   self)

Definition at line 89 of file symtable.py.

References symtable.bool().

89 
90  def is_optimized(self):
91  return bool(self._table.type == _symtable.TYPE_FUNCTION
92  and not self._table.optimized)
def lookup (   self,
  name 
)

Definition at line 110 of file symtable.py.

References SymbolTable.__check_children(), and SymbolTable._symbols.

111  def lookup(self, name):
112  sym = self._symbols.get(name)
113  if sym is None:
114  flags = self._table.symbols[name]
115  namespaces = self.__check_children(name)
116  sym = self._symbols[name] = Symbol(name, flags, namespaces)
117  return sym

The documentation for this class was generated from the following file: