Classes | Public Types | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes

symbol_table Class Reference

#include "symtab.h"

Collaboration diagram for symbol_table:
Collaboration graph
[legend]

List of all members.

Classes

class  fcn_info
class  scope_id_cache
class  symbol_record

Public Types

typedef size_t context_id
typedef int scope_id

Static Public Member Functions

static void add_dispatch (const std::string &name, const std::string &type, const std::string &fname)
static void add_to_parent_map (const std::string &classname, const std::list< std::string > &parent_list)
static void alias_built_in_function (const std::string &alias, const std::string &name)
static std::list< symbol_recordall_variables (scope_id scope=xcurrent_scope, context_id context=xcurrent_context, bool defined_only=true)
static scope_id alloc_scope (void)
static bool at_top_level (void)
static std::list< std::string > built_in_function_names (void)
static octave_value builtin_find (const std::string &name)
static void cache_name (scope_id scope, const std::string &name)
static void cleanup (void)
static void clear (const std::string &name)
static void clear_all (void)
static void clear_dispatch (const std::string &name, const std::string &type)
static void clear_dld_function (const std::string &name)
static void clear_function (const std::string &name)
static void clear_function_pattern (const std::string &pat)
static void clear_functions (void)
static void clear_global (const std::string &name)
static void clear_global_pattern (const std::string &pat)
static void clear_mex_functions (void)
static void clear_objects (scope_id scope=xcurrent_scope)
static void clear_symbol (const std::string &name)
static void clear_symbol_pattern (const std::string &pat)
static void clear_user_function (const std::string &name)
static void clear_variable (const std::string &name)
static void clear_variable_pattern (const std::string &pat)
static void clear_variable_regexp (const std::string &pat)
static void clear_variables (scope_id scope)
static void clear_variables (void)
static std::list< std::string > cmdline_function_names (void)
static context_id current_context (void)
static scope_id current_scope (void)
static void dump (std::ostream &os, scope_id scope=xcurrent_scope)
static void dump_functions (std::ostream &os)
static void dump_global (std::ostream &os)
static scope_id dup_scope (scope_id scope)
static void erase_persistent (const std::string &name)
static void erase_scope (scope_id scope)
static void erase_subfunctions_in_scope (scope_id scope)
static octave_value find (const std::string &name, const octave_value_list &args=octave_value_list(), bool skip_variables=false, bool local_funcs=true)
static octave_value find_autoload (const std::string &name)
static octave_value find_built_in_function (const std::string &name)
static octave_value find_function (const std::string &name, const octave_value_list &args=octave_value_list(), bool local_funcs=true)
static octave_value find_method (const std::string &name, const std::string &dispatch_type)
static symbol_record find_symbol (const std::string &name, scope_id scope=xcurrent_scope)
static octave_value find_user_function (const std::string &name)
static void force_variable (const std::string &name, scope_id scope=xcurrent_scope, context_id context=xcurrent_context)
static void free_scope (scope_id scope)
static octave_user_functionget_curr_fcn (scope_id scope=xcurrent_scope)
static fcn_info::dispatch_map_type get_dispatch (const std::string &name)
static std::list< symbol_recordglob (const std::string &pattern)
static std::list< symbol_recordglob_global_variables (const std::string &pattern)
static std::list< symbol_recordglob_variables (const std::string &pattern)
static std::list< symbol_recordglob_variables (const string_vector &patterns)
static scope_id global_scope (void)
static std::list< std::string > global_variable_names (void)
static octave_valueglobal_varref (const std::string &name)
static octave_value global_varval (const std::string &name)
static std::string help_for_dispatch (const std::string &name)
static void inherit (scope_id scope, scope_id donor_scope, context_id donor_context)
static symbol_recordinsert (const std::string &name)
static void install_built_in_function (const std::string &name, const octave_value &fcn)
static void install_cmdline_function (const std::string &name, const octave_value &fcn)
static void install_subfunction (const std::string &name, const octave_value &fcn, scope_id scope)
static void install_user_function (const std::string &name, const octave_value &fcn)
static bool is_built_in_function_name (const std::string &name)
static bool is_global (const std::string &name)
static bool is_local_variable (const std::string &name)
static bool is_superiorto (const std::string &a, const std::string &b)
static bool is_variable (const std::string &name)
static void lock_subfunctions (scope_id scope=xcurrent_scope)
static void mark_automatic (const std::string &name)
static void mark_global (const std::string &name)
static void mark_hidden (const std::string &name)
static void mark_subfunctions_in_scope_as_private (scope_id scope, const std::string &class_name)
static std::list< std::string > parent_classes (const std::string &dispatch_type)
static octave_valuepersistent_varref (const std::string &name)
static octave_value persistent_varval (const std::string &name)
static void pop_context (void)
static void pop_context (void *)
static void print_dispatch (std::ostream &os, const std::string &name)
static void push_context (void)
static std::list< symbol_recordregexp (const std::string &pattern)
static std::list< symbol_recordregexp_global_variables (const std::string &pattern)
static std::list< symbol_recordregexp_variables (const string_vector &patterns)
static std::list< symbol_recordregexp_variables (const std::string &pattern)
static std::list< scope_idscopes (void)
static bool set_class_relationship (const std::string &sup_class, const std::string &inf_class)
static void set_curr_fcn (octave_user_function *curr_fcn, scope_id scope=xcurrent_scope)
static void set_scope (scope_id scope)
static void set_scope_and_context (scope_id scope, context_id context)
static void stash_dir_name_for_subfunctions (scope_id scope, const std::string &dir_name)
static std::list< std::string > top_level_variable_names (void)
static octave_valuetop_level_varref (const std::string &name)
static octave_value top_level_varval (const std::string &name)
static scope_id top_scope (void)
static void unlock_subfunctions (scope_id scope=xcurrent_scope)
static void unmark_forced_variables (scope_id scope=xcurrent_scope)
static std::list< std::string > user_function_names (void)
static std::list< std::string > variable_names (void)
static octave_valuevarref (const std::string &name, scope_id scope=xcurrent_scope, context_id context=xcurrent_context)
static octave_value varval (const std::string &name, scope_id scope=xcurrent_scope, context_id context=xcurrent_context)

Private Types

typedef std::map< scope_id,
symbol_table * >
::const_iterator 
all_instances_const_iterator
typedef std::map< scope_id,
symbol_table * >::iterator 
all_instances_iterator
typedef std::map< std::string,
std::set< std::string >
>::const_iterator 
class_precedence_table_const_iterator
typedef std::map< std::string,
std::set< std::string >
>::iterator 
class_precedence_table_iterator
typedef std::map< std::string,
std::list< std::string >
>::const_iterator 
const_parent_map_iterator
typedef std::map< std::string,
fcn_info >::const_iterator 
fcn_table_const_iterator
typedef std::map< std::string,
fcn_info >::iterator 
fcn_table_iterator
typedef std::map< std::string,
octave_value >::const_iterator 
global_table_const_iterator
typedef std::map< std::string,
octave_value >::iterator 
global_table_iterator
typedef std::map< std::string,
std::list< std::string >
>::iterator 
parent_map_iterator
typedef std::map< std::string,
octave_value >::const_iterator 
persistent_table_const_iterator
typedef std::map< std::string,
octave_value >::iterator 
persistent_table_iterator
typedef std::map< std::string,
symbol_record >
::const_iterator 
table_const_iterator
typedef std::map< std::string,
symbol_record >::iterator 
table_iterator

Private Member Functions

 symbol_table (const symbol_table &)
 symbol_table (void)
 ~symbol_table (void)
std::list< symbol_recorddo_all_variables (context_id context, bool defined_only) const
octave_value do_builtin_find (const std::string &name)
void do_cache_name (const std::string &name)
void do_clear_global (const std::string &name)
void do_clear_global_pattern (const std::string &pat)
void do_clear_objects (void)
void do_clear_variable (const std::string &name)
void do_clear_variable_pattern (const std::string &pat)
void do_clear_variable_regexp (const std::string &pat)
void do_clear_variables (void)
void do_dump (std::ostream &os)
void do_dup_scope (symbol_table &new_symbol_table) const
void do_erase_persistent (const std::string &name)
octave_value do_find (const std::string &name, const octave_value_list &args, bool skip_variables, bool local_funcs)
symbol_record do_find_symbol (const std::string &name)
void do_force_variable (const std::string &name, context_id context)
std::list< symbol_recorddo_glob (const std::string &pattern, bool vars_only=false) const
void do_inherit (symbol_table &donor_table, context_id donor_context)
symbol_recorddo_insert (const std::string &name)
bool do_is_global (const std::string &name) const
bool do_is_local_variable (const std::string &name) const
bool do_is_variable (const std::string &name) const
void do_mark_automatic (const std::string &name)
void do_mark_global (const std::string &name)
void do_mark_hidden (const std::string &name)
octave_valuedo_persistent_varref (const std::string &name)
octave_value do_persistent_varval (const std::string &name)
void do_pop_context (void)
void do_push_context (void)
std::list< symbol_recorddo_regexp (const std::string &pattern, bool vars_only=false) const
void do_unmark_forced_variables (void)
std::list< std::string > do_variable_names (void)
octave_valuedo_varref (const std::string &name, context_id context)
octave_value do_varval (const std::string &name, context_id context) const
void insert_symbol_record (const symbol_record &sr)
symbol_tableoperator= (const symbol_table &)

Static Private Member Functions

static fcn_infoget_fcn_info (const std::string &name)
static symbol_tableget_instance (scope_id scope, bool create=true)
static std::map< std::string,
octave_value
subfunctions_defined_in_scope (scope_id scope=xcurrent_scope)

Private Attributes

octave_user_functioncurr_fcn
std::map< std::string,
octave_value
persistent_table
std::map< std::string,
symbol_record
table
std::string table_name

Static Private Attributes

static std::map< scope_id,
symbol_table * > 
all_instances
static std::map< std::string,
std::set< std::string > > 
class_precedence_table
static std::map< std::string,
fcn_info
fcn_table
static std::map< std::string,
octave_value
global_table
static symbol_tableinstance = 0
static std::map< std::string,
std::list< std::string > > 
parent_map
static context_id xcurrent_context = 0
static scope_id xcurrent_scope = 1
static const scope_id xglobal_scope = 0
static const scope_id xtop_scope = 1

Detailed Description

Definition at line 43 of file symtab.h.


Member Typedef Documentation

typedef std::map<scope_id, symbol_table*>::const_iterator symbol_table::all_instances_const_iterator [private]

Definition at line 1951 of file symtab.h.

typedef std::map<scope_id, symbol_table*>::iterator symbol_table::all_instances_iterator [private]

Definition at line 1952 of file symtab.h.

typedef std::map<std::string, std::set<std::string> >::const_iterator symbol_table::class_precedence_table_const_iterator [private]

Definition at line 1987 of file symtab.h.

typedef std::map<std::string, std::set<std::string> >::iterator symbol_table::class_precedence_table_iterator [private]

Definition at line 1988 of file symtab.h.

typedef std::map<std::string, std::list<std::string> >::const_iterator symbol_table::const_parent_map_iterator [private]

Definition at line 1993 of file symtab.h.

typedef size_t symbol_table::context_id

Definition at line 50 of file symtab.h.

typedef std::map<std::string, fcn_info>::const_iterator symbol_table::fcn_table_const_iterator [private]

Definition at line 1954 of file symtab.h.

typedef std::map<std::string, fcn_info>::iterator symbol_table::fcn_table_iterator [private]

Definition at line 1955 of file symtab.h.

typedef std::map<std::string, octave_value>::const_iterator symbol_table::global_table_const_iterator [private]

Definition at line 1945 of file symtab.h.

typedef std::map<std::string, octave_value>::iterator symbol_table::global_table_iterator [private]

Definition at line 1946 of file symtab.h.

typedef std::map<std::string, std::list<std::string> >::iterator symbol_table::parent_map_iterator [private]

Definition at line 1994 of file symtab.h.

typedef std::map<std::string, octave_value>::const_iterator symbol_table::persistent_table_const_iterator [private]

Definition at line 1948 of file symtab.h.

typedef std::map<std::string, octave_value>::iterator symbol_table::persistent_table_iterator [private]

Definition at line 1949 of file symtab.h.

Definition at line 49 of file symtab.h.

typedef std::map<std::string, symbol_record>::const_iterator symbol_table::table_const_iterator [private]

Definition at line 1942 of file symtab.h.

typedef std::map<std::string, symbol_record>::iterator symbol_table::table_iterator [private]

Definition at line 1943 of file symtab.h.


Constructor & Destructor Documentation

symbol_table::symbol_table ( const symbol_table  )  [private]
symbol_table::symbol_table ( void   )  [inline, private]

Definition at line 2003 of file symtab.h.

symbol_table::~symbol_table ( void   )  [inline, private]

Definition at line 2006 of file symtab.h.


Member Function Documentation

static void symbol_table::add_dispatch ( const std::string &  name,
const std::string &  type,
const std::string &  fname 
) [inline, static]

Definition at line 1491 of file symtab.h.

References symbol_table::fcn_info::add_dispatch().

Referenced by DEFUN_DLD().

static void symbol_table::add_to_parent_map ( const std::string &  classname,
const std::list< std::string > &  parent_list 
) [inline, static]

Definition at line 1882 of file symtab.h.

Referenced by octave_class::octave_class().

static void symbol_table::alias_built_in_function ( const std::string &  alias,
const std::string &  name 
) [inline, static]
static std::list<symbol_record> symbol_table::all_variables ( scope_id  scope = xcurrent_scope,
context_id  context = xcurrent_context,
bool  defined_only = true 
) [inline, static]
static scope_id symbol_table::alloc_scope ( void   )  [inline, static]
static bool symbol_table::at_top_level ( void   )  [inline, static]

Definition at line 1054 of file symtab.h.

Referenced by DEFUN(), intern_argv(), main_loop(), and warning_1().

static std::list<std::string> symbol_table::built_in_function_names ( void   )  [inline, static]

Definition at line 1781 of file symtab.h.

References octave_value::is_defined().

Referenced by DEFUN(), and make_name_list().

octave_value symbol_table::builtin_find ( const std::string &  name  )  [static]

Definition at line 1161 of file symtab.cc.

References do_builtin_find(), get_instance(), octave_value(), and xcurrent_scope.

static void symbol_table::cache_name ( scope_id  scope,
const std::string &  name 
) [inline, static]
void symbol_table::cleanup ( void   )  [static]
static void symbol_table::clear ( const std::string &  name  )  [inline, static]

Definition at line 1308 of file symtab.h.

References clear_variable().

static void symbol_table::clear_all ( void   )  [inline, static]

Definition at line 1313 of file symtab.h.

Referenced by DEFUN(), and do_matlab_compatible_clear().

static void symbol_table::clear_dispatch ( const std::string &  name,
const std::string &  type 
) [inline, static]

Definition at line 1512 of file symtab.h.

References symbol_table::fcn_info::clear_dispatch(), and symbol_table::fcn_info::find().

Referenced by DEFUN_DLD().

static void symbol_table::clear_dld_function ( const std::string &  name  )  [inline, static]
static void symbol_table::clear_function ( const std::string &  name  )  [inline, static]

Definition at line 1358 of file symtab.h.

Referenced by clear_function(), and do_clear_functions().

static void symbol_table::clear_function_pattern ( const std::string &  pat  )  [inline, static]

Definition at line 1387 of file symtab.h.

References glob_match::match().

Referenced by do_clear_functions().

static void symbol_table::clear_functions ( void   )  [inline, static]

Definition at line 1352 of file symtab.h.

Referenced by do_clear_functions().

static void symbol_table::clear_global ( const std::string &  name  )  [inline, static]

Definition at line 1363 of file symtab.h.

References do_clear_global().

Referenced by do_clear_globals().

static void symbol_table::clear_global_pattern ( const std::string &  pat  )  [inline, static]

Definition at line 1398 of file symtab.h.

References do_clear_global_pattern().

Referenced by do_clear_globals().

static void symbol_table::clear_mex_functions ( void   )  [inline, static]

Definition at line 1459 of file symtab.h.

References symbol_table::fcn_info::clear_mex_function().

Referenced by clear_mex_functions().

static void symbol_table::clear_objects ( scope_id  scope = xcurrent_scope  )  [inline, static]

Definition at line 1336 of file symtab.h.

References do_clear_objects().

Referenced by DEFUN(), and do_matlab_compatible_clear().

static void symbol_table::clear_symbol ( const std::string &  name  )  [inline, static]

Definition at line 1379 of file symtab.h.

References clear_function(), and clear_variable().

Referenced by clear_symbol().

static void symbol_table::clear_symbol_pattern ( const std::string &  pat  )  [inline, static]

Definition at line 1422 of file symtab.h.

Referenced by do_clear_symbols(), and do_matlab_compatible_clear().

static void symbol_table::clear_user_function ( const std::string &  name  )  [inline, static]

Definition at line 1430 of file symtab.h.

References symbol_table::fcn_info::clear_user_function().

static void symbol_table::clear_variable ( const std::string &  name  )  [inline, static]

Definition at line 1371 of file symtab.h.

References do_clear_variable().

Referenced by clear_variable(), and do_clear_variables().

static void symbol_table::clear_variable_pattern ( const std::string &  pat  )  [inline, static]

Definition at line 1406 of file symtab.h.

References do_clear_variable_pattern().

Referenced by do_clear_variables().

static void symbol_table::clear_variable_regexp ( const std::string &  pat  )  [inline, static]

Definition at line 1414 of file symtab.h.

References do_clear_variable_regexp().

Referenced by do_clear_variables().

static void symbol_table::clear_variables ( scope_id  scope  )  [inline, static]

Definition at line 1322 of file symtab.h.

References do_clear_variables().

static void symbol_table::clear_variables ( void   )  [inline, static]
static std::list<std::string> symbol_table::cmdline_function_names ( void   )  [inline, static]

Definition at line 1800 of file symtab.h.

References octave_value::is_defined().

Referenced by make_name_list().

static context_id symbol_table::current_context ( void   )  [inline, static]

Definition at line 917 of file symtab.h.

Referenced by DEFUN(), tree_anon_fcn_handle::dup(), and tree_anon_fcn_handle::rvalue1().

static scope_id symbol_table::current_scope ( void   )  [inline, static]
std::list<symbol_record> symbol_table::do_all_variables ( context_id  context,
bool  defined_only 
) const [inline, private]

Definition at line 2348 of file symtab.h.

References symbol_table::symbol_record::is_defined().

Referenced by all_variables().

octave_value symbol_table::do_builtin_find ( const std::string &  name  )  [private]

Definition at line 1370 of file symtab.cc.

References symbol_table::fcn_info::builtin_find(), fcn_table, and octave_value::is_defined().

Referenced by builtin_find().

void symbol_table::do_cache_name ( const std::string &  name  )  [inline, private]

Definition at line 2464 of file symtab.h.

Referenced by cache_name(), and get_instance().

void symbol_table::do_clear_global ( const std::string &  name  )  [inline, private]
void symbol_table::do_clear_global_pattern ( const std::string &  pat  )  [inline, private]
void symbol_table::do_clear_objects ( void   )  [inline, private]

Definition at line 2230 of file symtab.h.

References octave_value::is_object(), and symbol_table::symbol_record::varref().

Referenced by clear_objects().

void symbol_table::do_clear_variable ( const std::string &  name  )  [inline, private]

Definition at line 2266 of file symtab.h.

Referenced by clear_variable().

void symbol_table::do_clear_variable_pattern ( const std::string &  pat  )  [inline, private]
void symbol_table::do_clear_variable_regexp ( const std::string &  pat  )  [inline, private]
void symbol_table::do_clear_variables ( void   )  [inline, private]

Definition at line 2224 of file symtab.h.

Referenced by clear_variables().

void symbol_table::do_dump ( std::ostream &  os  )  [private]

Definition at line 1394 of file symtab.cc.

References octave_value::dump(), persistent_table, and table.

Referenced by dump().

void symbol_table::do_dup_scope ( symbol_table new_symbol_table  )  const [inline, private]

Definition at line 2072 of file symtab.h.

References insert_symbol_record().

Referenced by dup_scope().

void symbol_table::do_erase_persistent ( const std::string &  name  )  [inline, private]

Definition at line 2183 of file symtab.h.

Referenced by erase_persistent().

octave_value symbol_table::do_find ( const std::string &  name,
const octave_value_list args,
bool  skip_variables,
bool  local_funcs 
) [private]
symbol_record symbol_table::do_find_symbol ( const std::string &  name  )  [inline, private]

Definition at line 2078 of file symtab.h.

Referenced by find_symbol().

void symbol_table::do_force_variable ( const std::string &  name,
context_id  context 
) [inline, private]

Definition at line 2133 of file symtab.h.

References symbol_table::symbol_record::force_variable().

Referenced by force_variable().

std::list<symbol_record> symbol_table::do_glob ( const std::string &  pattern,
bool  vars_only = false 
) const [inline, private]

Definition at line 2365 of file symtab.h.

References symbol_table::symbol_record::is_variable(), and glob_match::match().

Referenced by glob(), and glob_variables().

void symbol_table::do_inherit ( symbol_table donor_table,
context_id  donor_context 
) [inline, private]
symbol_record& symbol_table::do_insert ( const std::string &  name  )  [inline, private]

Definition at line 2125 of file symtab.h.

Referenced by insert().

bool symbol_table::do_is_global ( const std::string &  name  )  const [inline, private]

Definition at line 2455 of file symtab.h.

Referenced by is_global().

bool symbol_table::do_is_local_variable ( const std::string &  name  )  const [inline, private]

Definition at line 2446 of file symtab.h.

Referenced by is_local_variable().

bool symbol_table::do_is_variable ( const std::string &  name  )  const [inline, private]

Definition at line 2191 of file symtab.h.

References symbol_table::symbol_record::is_variable().

Referenced by is_variable().

void symbol_table::do_mark_automatic ( const std::string &  name  )  [inline, private]

Definition at line 2332 of file symtab.h.

Referenced by mark_automatic().

void symbol_table::do_mark_global ( const std::string &  name  )  [inline, private]

Definition at line 2342 of file symtab.h.

Referenced by mark_global().

void symbol_table::do_mark_hidden ( const std::string &  name  )  [inline, private]

Definition at line 2337 of file symtab.h.

Referenced by mark_hidden().

octave_value& symbol_table::do_persistent_varref ( const std::string &  name  )  [inline, private]

Definition at line 2168 of file symtab.h.

Referenced by persistent_varref().

octave_value symbol_table::do_persistent_varval ( const std::string &  name  )  [inline, private]

Definition at line 2176 of file symtab.h.

Referenced by persistent_varval().

void symbol_table::do_pop_context ( void   )  [inline, private]

Definition at line 2213 of file symtab.h.

Referenced by pop_context().

void symbol_table::do_push_context ( void   )  [inline, private]

Definition at line 2207 of file symtab.h.

Referenced by push_context().

std::list<symbol_record> symbol_table::do_regexp ( const std::string &  pattern,
bool  vars_only = false 
) const [inline, private]

Definition at line 2388 of file symtab.h.

References symbol_table::symbol_record::is_variable().

Referenced by regexp(), and regexp_variables().

void symbol_table::do_unmark_forced_variables ( void   )  [inline, private]

Definition at line 2241 of file symtab.h.

Referenced by unmark_forced_variables().

std::list<std::string> symbol_table::do_variable_names ( void   )  [inline, private]

Definition at line 2411 of file symtab.h.

Referenced by top_level_variable_names(), and variable_names().

octave_value& symbol_table::do_varref ( const std::string &  name,
context_id  context 
) [inline, private]

Definition at line 2147 of file symtab.h.

References symbol_table::symbol_record::varref().

Referenced by varref().

octave_value symbol_table::do_varval ( const std::string &  name,
context_id  context 
) const [inline, private]

Definition at line 2161 of file symtab.h.

References octave_value().

Referenced by do_inherit(), and varval().

void symbol_table::dump ( std::ostream &  os,
scope_id  scope = xcurrent_scope 
) [static]

Definition at line 1222 of file symtab.cc.

References do_dump(), dump_global(), get_instance(), subfunctions_defined_in_scope(), table_name, and xglobal_scope.

Referenced by DEFUN().

void symbol_table::dump_functions ( std::ostream &  os  )  [static]

Definition at line 1275 of file symtab.cc.

References fcn_table.

Referenced by DEFUN().

void symbol_table::dump_global ( std::ostream &  os  )  [static]

Definition at line 1255 of file symtab.cc.

References octave_value::dump(), and global_table.

Referenced by DEFUN(), and dump().

static scope_id symbol_table::dup_scope ( scope_id  scope  )  [inline, static]

Definition at line 1002 of file symtab.h.

References do_dup_scope().

Referenced by tree_anon_fcn_handle::dup(), and tree_anon_fcn_handle::rvalue1().

static void symbol_table::erase_persistent ( const std::string &  name  )  [inline, static]
static void symbol_table::erase_scope ( scope_id  scope  )  [inline, static]
static void symbol_table::erase_subfunctions_in_scope ( scope_id  scope  )  [inline, static]

Definition at line 986 of file symtab.h.

Referenced by octave_user_function::erase_subfunctions().

octave_value symbol_table::find ( const std::string &  name,
const octave_value_list args = octave_value_list (),
bool  skip_variables = false,
bool  local_funcs = true 
) [static]

Definition at line 1148 of file symtab.cc.

References do_find(), get_instance(), octave_value(), and xcurrent_scope.

Referenced by find_function(), get_instance(), and safe_symbol_lookup().

static octave_value symbol_table::find_autoload ( const std::string &  name  )  [inline, static]

Definition at line 1202 of file symtab.h.

References octave_value().

static octave_value symbol_table::find_built_in_function ( const std::string &  name  )  [inline, static]

Definition at line 1193 of file symtab.h.

References octave_value().

octave_value symbol_table::find_function ( const std::string &  name,
const octave_value_list args = octave_value_list (),
bool  local_funcs = true 
) [static]
static octave_value symbol_table::find_method ( const std::string &  name,
const std::string &  dispatch_type 
) [inline, static]
static symbol_record symbol_table::find_symbol ( const std::string &  name,
scope_id  scope = xcurrent_scope 
) [inline, static]

Definition at line 1033 of file symtab.h.

References do_find_symbol().

Referenced by do_who(), and tree_identifier::dup().

static octave_value symbol_table::find_user_function ( const std::string &  name  )  [inline, static]

Definition at line 1215 of file symtab.h.

References octave_value().

Referenced by DEFUN().

static void symbol_table::force_variable ( const std::string &  name,
scope_id  scope = xcurrent_scope,
context_id  context = xcurrent_context 
) [inline, static]

Definition at line 1075 of file symtab.h.

References do_force_variable().

static void symbol_table::free_scope ( scope_id  scope  )  [inline, static]

Definition at line 1871 of file symtab.h.

References error(), and symbol_table::scope_id_cache::free().

static octave_user_function* symbol_table::get_curr_fcn ( scope_id  scope = xcurrent_scope  )  [inline, static]
static fcn_info::dispatch_map_type symbol_table::get_dispatch ( const std::string &  name  )  [inline, static]

Definition at line 1536 of file symtab.h.

References symbol_table::fcn_info::get_dispatch().

Referenced by DEFUN_DLD(), and octave_fcn_binder::maybe_binder().

static fcn_info* symbol_table::get_fcn_info ( const std::string &  name  )  [inline, static, private]

Definition at line 2113 of file symtab.h.

Referenced by symbol_table::symbol_record::find().

static symbol_table* symbol_table::get_instance ( scope_id  scope,
bool  create = true 
) [inline, static, private]

Definition at line 2008 of file symtab.h.

References do_cache_name(), error(), and find().

Referenced by builtin_find(), dump(), and find().

static std::list<symbol_record> symbol_table::glob ( const std::string &  pattern  )  [inline, static]

Definition at line 1632 of file symtab.h.

References do_glob().

Referenced by save_vars().

static std::list<symbol_record> symbol_table::glob_global_variables ( const std::string &  pattern  )  [inline, static]

Definition at line 1661 of file symtab.h.

References glob_match::match().

Referenced by do_who().

static std::list<symbol_record> symbol_table::glob_variables ( const std::string &  pattern  )  [inline, static]

Definition at line 1646 of file symtab.h.

References do_glob().

Referenced by do_who().

static std::list<symbol_record> symbol_table::glob_variables ( const string_vector patterns  )  [inline, static]

Definition at line 1704 of file symtab.h.

References Array< T >::length().

static scope_id symbol_table::global_scope ( void   )  [inline, static]

Definition at line 912 of file symtab.h.

static std::list<std::string> symbol_table::global_variable_names ( void   )  [inline, static]

Definition at line 1754 of file symtab.h.

Referenced by do_clear_globals().

static octave_value& symbol_table::global_varref ( const std::string &  name  )  [inline, static]
static octave_value symbol_table::global_varval ( const std::string &  name  )  [inline, static]
static std::string symbol_table::help_for_dispatch ( const std::string &  name  )  [inline, static]

Definition at line 1552 of file symtab.h.

References symbol_table::fcn_info::help_for_dispatch().

static void symbol_table::inherit ( scope_id  scope,
scope_id  donor_scope,
context_id  donor_context 
) [inline, static]

Definition at line 1041 of file symtab.h.

References do_inherit().

Referenced by tree_anon_fcn_handle::dup(), and tree_anon_fcn_handle::rvalue1().

static symbol_record& symbol_table::insert ( const std::string &  name  )  [inline, static]

Definition at line 1066 of file symtab.h.

References do_insert().

Referenced by install_loaded_variable(), and tree_identifier::xsym().

void symbol_table::insert_symbol_record ( const symbol_record sr  )  [inline, private]

Definition at line 2066 of file symtab.h.

References symbol_table::symbol_record::name().

Referenced by do_dup_scope().

static void symbol_table::install_built_in_function ( const std::string &  name,
const octave_value fcn 
) [inline, static]
static void symbol_table::install_cmdline_function ( const std::string &  name,
const octave_value fcn 
) [inline, static]
static void symbol_table::install_subfunction ( const std::string &  name,
const octave_value fcn,
scope_id  scope 
) [inline, static]
static void symbol_table::install_user_function ( const std::string &  name,
const octave_value fcn 
) [inline, static]
static bool symbol_table::is_built_in_function_name ( const std::string &  name  )  [inline, static]

Definition at line 1165 of file symtab.h.

References octave_value::is_defined().

Referenced by load_path::add_to_fcn_map().

static bool symbol_table::is_global ( const std::string &  name  )  [inline, static]

Definition at line 1831 of file symtab.h.

References do_is_global().

Referenced by do_isglobal(), and symbol_table::symbol_record::symbol_record_rep::dump().

static bool symbol_table::is_local_variable ( const std::string &  name  )  [inline, static]

Definition at line 1819 of file symtab.h.

References do_is_local_variable().

Referenced by do_matlab_compatible_clear().

bool symbol_table::is_superiorto ( const std::string &  a,
const std::string &  b 
) [static]

Definition at line 1060 of file symtab.cc.

References class_precedence_table.

Referenced by get_dispatch_type().

static bool symbol_table::is_variable ( const std::string &  name  )  [inline, static]

Definition at line 1157 of file symtab.h.

References do_is_variable().

Referenced by do_who(), and save_vars().

static void symbol_table::lock_subfunctions ( scope_id  scope = xcurrent_scope  )  [inline, static]

Definition at line 1857 of file symtab.h.

static void symbol_table::mark_automatic ( const std::string &  name  )  [inline, static]

Definition at line 1597 of file symtab.h.

References do_mark_automatic().

Referenced by octave_user_function::bind_automatic_vars().

static void symbol_table::mark_global ( const std::string &  name  )  [inline, static]

Definition at line 1613 of file symtab.h.

References do_mark_global().

static void symbol_table::mark_hidden ( const std::string &  name  )  [inline, static]

Definition at line 1605 of file symtab.h.

References do_mark_hidden().

Referenced by octave_user_function::bind_automatic_vars(), and intern_argv().

static void symbol_table::mark_subfunctions_in_scope_as_private ( scope_id  scope,
const std::string &  class_name 
) [inline, static]

Definition at line 994 of file symtab.h.

Referenced by octave_user_function::mark_as_private_function().

symbol_table& symbol_table::operator= ( const symbol_table  )  [private]
static std::list<std::string> symbol_table::parent_classes ( const std::string &  dispatch_type  )  [inline, static]
static octave_value& symbol_table::persistent_varref ( const std::string &  name  )  [inline, static]
static octave_value symbol_table::persistent_varval ( const std::string &  name  )  [inline, static]
static void symbol_table::pop_context ( void   )  [inline, static]

Definition at line 1581 of file symtab.h.

References do_pop_context(), and error().

Referenced by octave_user_function::do_multi_index_op().

static void symbol_table::pop_context ( void *   )  [inline, static]

Definition at line 1595 of file symtab.h.

References pop_context().

Referenced by pop_context().

static void symbol_table::print_dispatch ( std::ostream &  os,
const std::string &  name 
) [inline, static]

Definition at line 1524 of file symtab.h.

References symbol_table::fcn_info::print_dispatch().

Referenced by DEFUN_DLD().

static void symbol_table::push_context ( void   )  [inline, static]

Definition at line 1568 of file symtab.h.

References do_push_context(), and error().

Referenced by octave_user_function::do_multi_index_op().

static std::list<symbol_record> symbol_table::regexp ( const std::string &  pattern  )  [inline, static]

Definition at line 1639 of file symtab.h.

References do_regexp().

static std::list<symbol_record> symbol_table::regexp_global_variables ( const std::string &  pattern  )  [inline, static]

Definition at line 1683 of file symtab.h.

Referenced by do_who().

static std::list<symbol_record> symbol_table::regexp_variables ( const string_vector patterns  )  [inline, static]

Definition at line 1721 of file symtab.h.

References Array< T >::length().

static std::list<symbol_record> symbol_table::regexp_variables ( const std::string &  pattern  )  [inline, static]

Definition at line 1653 of file symtab.h.

References do_regexp().

Referenced by do_who().

static std::list<scope_id> symbol_table::scopes ( void   )  [inline, static]

Definition at line 1027 of file symtab.h.

Referenced by DEFUN().

bool symbol_table::set_class_relationship ( const std::string &  sup_class,
const std::string &  inf_class 
) [static]

Definition at line 1024 of file symtab.cc.

References class_precedence_table.

Referenced by DEFUN().

static void symbol_table::set_curr_fcn ( octave_user_function curr_fcn,
scope_id  scope = xcurrent_scope 
) [inline, static]

Definition at line 1920 of file symtab.h.

References curr_fcn.

Referenced by octave_user_function::octave_user_function().

static void symbol_table::set_scope ( scope_id  scope  )  [inline, static]
static void symbol_table::set_scope_and_context ( scope_id  scope,
context_id  context 
) [inline, static]
void symbol_table::stash_dir_name_for_subfunctions ( scope_id  scope,
const std::string &  dir_name 
) [static]
static std::map<std::string, octave_value> symbol_table::subfunctions_defined_in_scope ( scope_id  scope = xcurrent_scope  )  [inline, static, private]

Definition at line 2427 of file symtab.h.

Referenced by dump().

static std::list<std::string> symbol_table::top_level_variable_names ( void   )  [inline, static]

Definition at line 1767 of file symtab.h.

References do_variable_names().

static octave_value& symbol_table::top_level_varref ( const std::string &  name  )  [inline, static]

Definition at line 1122 of file symtab.h.

Referenced by set_top_level_value().

static octave_value symbol_table::top_level_varval ( const std::string &  name  )  [inline, static]

Definition at line 1128 of file symtab.h.

Referenced by get_top_level_value().

static scope_id symbol_table::top_scope ( void   )  [inline, static]
static void symbol_table::unlock_subfunctions ( scope_id  scope = xcurrent_scope  )  [inline, static]

Definition at line 1864 of file symtab.h.

static void symbol_table::unmark_forced_variables ( scope_id  scope = xcurrent_scope  )  [inline, static]

Definition at line 1344 of file symtab.h.

References do_unmark_forced_variables().

Referenced by get_debug_input(), and main_loop().

static std::list<std::string> symbol_table::user_function_names ( void   )  [inline, static]

Definition at line 1737 of file symtab.h.

Referenced by do_clear_functions().

static std::list<std::string> symbol_table::variable_names ( void   )  [inline, static]

Definition at line 1774 of file symtab.h.

References do_variable_names().

Referenced by do_clear_variables(), and make_name_list().

static octave_value& symbol_table::varref ( const std::string &  name,
scope_id  scope = xcurrent_scope,
context_id  context = xcurrent_context 
) [inline, static]
static octave_value symbol_table::varval ( const std::string &  name,
scope_id  scope = xcurrent_scope,
context_id  context = xcurrent_context 
) [inline, static]

Member Data Documentation

Definition at line 1977 of file symtab.h.

Referenced by cleanup().

std::map< std::string, std::set< std::string > > symbol_table::class_precedence_table [static, private]

Definition at line 1985 of file symtab.h.

Referenced by is_superiorto(), and set_class_relationship().

std::map< std::string, symbol_table::fcn_info > symbol_table::fcn_table [static, private]
std::map< std::string, octave_value > symbol_table::global_table [static, private]

Definition at line 1968 of file symtab.h.

Referenced by cleanup(), and dump_global().

symbol_table * symbol_table::instance = 0 [static, private]

Definition at line 1974 of file symtab.h.

std::map< std::string, std::list< std::string > > symbol_table::parent_map [static, private]

Definition at line 1991 of file symtab.h.

std::map<std::string, octave_value> symbol_table::persistent_table [private]

Definition at line 1971 of file symtab.h.

Referenced by do_dump().

std::map<std::string, symbol_record> symbol_table::table [private]

Definition at line 1962 of file symtab.h.

Referenced by do_dump(), and do_find().

std::string symbol_table::table_name [private]

Definition at line 1959 of file symtab.h.

Referenced by dump().

Definition at line 2001 of file symtab.h.

Referenced by symbol_table::symbol_record::symbol_record_rep::dump().

Definition at line 1996 of file symtab.h.

Referenced by cleanup(), and dump().

const symbol_table::scope_id symbol_table::xtop_scope = 1 [static, private]

Definition at line 1997 of file symtab.h.

Referenced by cleanup(), and find_function().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines