#include "symtab.h"
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_record > | all_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_function * | get_curr_fcn (scope_id scope=xcurrent_scope) |
static fcn_info::dispatch_map_type | get_dispatch (const std::string &name) |
static std::list< symbol_record > | glob (const std::string &pattern) |
static std::list< symbol_record > | glob_global_variables (const std::string &pattern) |
static std::list< symbol_record > | glob_variables (const std::string &pattern) |
static std::list< symbol_record > | glob_variables (const string_vector &patterns) |
static scope_id | global_scope (void) |
static std::list< std::string > | global_variable_names (void) |
static octave_value & | global_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_record & | insert (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_value & | persistent_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_record > | regexp (const std::string &pattern) |
static std::list< symbol_record > | regexp_global_variables (const std::string &pattern) |
static std::list< symbol_record > | regexp_variables (const string_vector &patterns) |
static std::list< symbol_record > | regexp_variables (const std::string &pattern) |
static std::list< scope_id > | scopes (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_value & | top_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_value & | varref (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_record > | do_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_record > | do_glob (const std::string &pattern, bool vars_only=false) const |
void | do_inherit (symbol_table &donor_table, context_id donor_context) |
symbol_record & | do_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_value & | do_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_record > | do_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_value & | do_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_table & | operator= (const symbol_table &) |
Static Private Member Functions | |
static fcn_info * | get_fcn_info (const std::string &name) |
static symbol_table * | get_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_function * | curr_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_table * | instance = 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 |
Definition at line 43 of file symtab.h.
typedef std::map<scope_id, symbol_table*>::const_iterator symbol_table::all_instances_const_iterator [private] |
typedef std::map<scope_id, symbol_table*>::iterator symbol_table::all_instances_iterator [private] |
typedef std::map<std::string, std::set<std::string> >::const_iterator symbol_table::class_precedence_table_const_iterator [private] |
typedef std::map<std::string, std::set<std::string> >::iterator symbol_table::class_precedence_table_iterator [private] |
typedef std::map<std::string, std::list<std::string> >::const_iterator symbol_table::const_parent_map_iterator [private] |
typedef size_t symbol_table::context_id |
typedef std::map<std::string, fcn_info>::const_iterator symbol_table::fcn_table_const_iterator [private] |
typedef std::map<std::string, fcn_info>::iterator symbol_table::fcn_table_iterator [private] |
typedef std::map<std::string, octave_value>::const_iterator symbol_table::global_table_const_iterator [private] |
typedef std::map<std::string, octave_value>::iterator symbol_table::global_table_iterator [private] |
typedef std::map<std::string, std::list<std::string> >::iterator symbol_table::parent_map_iterator [private] |
typedef std::map<std::string, octave_value>::const_iterator symbol_table::persistent_table_const_iterator [private] |
typedef std::map<std::string, octave_value>::iterator symbol_table::persistent_table_iterator [private] |
typedef int symbol_table::scope_id |
typedef std::map<std::string, symbol_record>::const_iterator symbol_table::table_const_iterator [private] |
typedef std::map<std::string, symbol_record>::iterator symbol_table::table_iterator [private] |
symbol_table::symbol_table | ( | const symbol_table & | ) | [private] |
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] |
Definition at line 1474 of file symtab.h.
References symbol_table::fcn_info::install_built_in_function(), octave_value::is_defined(), and panic().
Referenced by alias_builtin().
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] |
Definition at line 1622 of file symtab.h.
References do_all_variables().
Referenced by DEFUN(), dump_octave_core(), octave_fcn_handle::save_ascii(), and octave_fcn_handle::save_binary().
static scope_id symbol_table::alloc_scope | ( | void | ) | [inline, static] |
Definition at line 919 of file symtab.h.
Referenced by do_who(), octave_fcn_handle::load_ascii(), octave_fcn_handle::load_binary(), and read_mat5_binary_element().
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] |
Definition at line 1849 of file symtab.h.
References do_cache_name().
Referenced by octave_fcn_handle::load_ascii(), octave_fcn_handle::load_binary(), and octave_fcn_handle::octave_fcn_handle().
void symbol_table::cleanup | ( | void | ) | [static] |
Definition at line 1426 of file symtab.cc.
References all_instances, fcn_table, symbol_table::scope_id_cache::free(), global_table, xglobal_scope, and xtop_scope.
Referenced by do_octave_atexit().
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] |
Definition at line 1446 of file symtab.h.
References symbol_table::fcn_info::clear_autoload_function(), and symbol_table::fcn_info::clear_user_function().
Referenced by clear(), and do_clear_function().
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] |
Definition at line 1331 of file symtab.h.
Referenced by do_clear_symbols(), do_clear_variables(), do_matlab_compatible_clear(), octave_user_function::do_multi_index_op(), and do_who().
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] |
Definition at line 915 of file symtab.h.
Referenced by DEFUN(), tree_anon_fcn_handle::dup(), tree_anon_fcn_handle::rvalue1(), and tree_identifier::xsym().
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] |
Definition at line 2247 of file symtab.h.
References symbol_table::symbol_record::is_global(), and symbol_table::symbol_record::unmark_global().
Referenced by clear_global().
void symbol_table::do_clear_global_pattern | ( | const std::string & | pat | ) | [inline, private] |
Definition at line 2274 of file symtab.h.
References symbol_table::symbol_record::is_global(), glob_match::match(), symbol_table::symbol_record::name(), and symbol_table::symbol_record::unmark_global().
Referenced by clear_global_pattern().
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] |
Definition at line 2300 of file symtab.h.
References symbol_table::symbol_record::clear(), symbol_table::symbol_record::is_defined(), symbol_table::symbol_record::is_global(), glob_match::match(), and symbol_table::symbol_record::name().
Referenced by clear_variable_pattern().
void symbol_table::do_clear_variable_regexp | ( | const std::string & | pat | ) | [inline, private] |
Definition at line 2316 of file symtab.h.
References symbol_table::symbol_record::clear(), symbol_table::symbol_record::is_defined(), symbol_table::symbol_record::is_global(), and symbol_table::symbol_record::name().
Referenced by clear_variable_regexp().
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] |
Definition at line 1319 of file symtab.cc.
References fcn_table, symbol_table::fcn_info::find(), global_varref(), octave_value::is_defined(), symbol_table::symbol_record::is_global(), table, and symbol_table::symbol_record::varref().
Referenced by find().
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] |
Definition at line 2088 of file symtab.h.
References do_varval(), symbol_table::symbol_record::is_automatic(), octave_value::is_defined(), symbol_table::symbol_record::is_formal(), symbol_table::symbol_record::mark_inherited(), symbol_table::symbol_record::name(), and symbol_table::symbol_record::varref().
Referenced by inherit().
symbol_record& symbol_table::do_insert | ( | const std::string & | name | ) | [inline, private] |
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] |
void symbol_table::dump_global | ( | std::ostream & | os | ) | [static] |
Definition at line 1255 of file symtab.cc.
References octave_value::dump(), and global_table.
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] |
Definition at line 1149 of file symtab.h.
References do_erase_persistent().
Referenced by symbol_table::symbol_record::symbol_record_rep::erase_persistent().
static void symbol_table::erase_scope | ( | scope_id | scope | ) | [inline, static] |
Definition at line 970 of file symtab.h.
Referenced by do_who(), octave_fcn_handle::load_ascii(), octave_fcn_handle::load_binary(), read_mat5_binary_element(), and octave_user_function::~octave_user_function().
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] |
Definition at line 1169 of file symtab.cc.
References file_ops::dir_sep_str(), find(), find_method(), octave_value::function_value(), octave_value::is_defined(), octave_function::scope(), Vfilemarker, xcurrent_scope, and xtop_scope.
Referenced by DEFUN(), DEFUN_DLD(), do_which(), symbol_table::symbol_record::find(), get_mapper_fun_options(), get_user_code(), is_valid_function(), make_fcn_handle(), tree_colon_expression::make_range(), mislocked(), munlock(), raw_help_from_symbol_table(), tree_colon_expression::rvalue1(), and octave_fcn_handle::set_fcn().
static octave_value symbol_table::find_method | ( | const std::string & | name, | |
const std::string & | dispatch_type | |||
) | [inline, static] |
Definition at line 1173 of file symtab.h.
References symbol_table::fcn_info::find_method(), and octave_value::is_defined().
Referenced by octave_class::all_strings(), DEFCONSTFUN(), octave_fcn_handle::do_multi_index_op(), find_function(), octave_class::index_vector(), make_fcn_handle(), octave_class::numel(), out_of_date_check(), octave_class::print_with_name(), octave_class::reconstruct_exemplar(), octave_class::size(), octave_class::subsasgn_common(), and octave_class::subsref().
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] |
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] |
Definition at line 1914 of file symtab.h.
References curr_fcn.
Referenced by symbol_table::fcn_info::fcn_info_rep::x_builtin_find(), and symbol_table::fcn_info::fcn_info_rep::xfind().
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] |
static std::list<symbol_record> symbol_table::glob_global_variables | ( | const std::string & | pattern | ) | [inline, static] |
static std::list<symbol_record> symbol_table::glob_variables | ( | const std::string & | pattern | ) | [inline, static] |
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] |
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] |
Definition at line 1106 of file symtab.h.
Referenced by do_find(), symbol_table::symbol_record::find(), set_global_value(), and symbol_table::symbol_record::symbol_record_rep::varref().
static octave_value symbol_table::global_varval | ( | const std::string & | name | ) | [inline, static] |
Definition at line 1114 of file symtab.h.
Referenced by get_global_value(), and symbol_table::symbol_record::symbol_record_rep::varval().
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] |
Definition at line 1287 of file symtab.h.
References symbol_table::fcn_info::find(), and symbol_table::fcn_info::install_built_in_function().
Referenced by install_builtin_function(), install_dld_function(), and install_mex_function().
static void symbol_table::install_cmdline_function | ( | const std::string & | name, | |
const octave_value & | fcn | |||
) | [inline, static] |
Definition at line 1223 of file symtab.h.
References symbol_table::fcn_info::install_cmdline_function().
Referenced by tree_evaluator::visit_function_def().
static void symbol_table::install_subfunction | ( | const std::string & | name, | |
const octave_value & | fcn, | |||
scope_id | scope | |||
) | [inline, static] |
Definition at line 1244 of file symtab.h.
References symbol_table::fcn_info::find(), and symbol_table::fcn_info::install_subfunction().
static void symbol_table::install_user_function | ( | const std::string & | name, | |
const octave_value & | fcn | |||
) | [inline, static] |
Definition at line 1266 of file symtab.h.
References symbol_table::fcn_info::find(), and symbol_table::fcn_info::install_user_function().
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] |
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] |
Definition at line 1889 of file symtab.h.
Referenced by octave_fcn_handle::do_multi_index_op(), symbol_table::fcn_info::fcn_info_rep::load_class_method(), and out_of_date_check().
static octave_value& symbol_table::persistent_varref | ( | const std::string & | name | ) | [inline, static] |
Definition at line 1133 of file symtab.h.
References do_persistent_varref().
Referenced by symbol_table::symbol_record::symbol_record_rep::clear(), and symbol_table::symbol_record::symbol_record_rep::varref().
static octave_value symbol_table::persistent_varval | ( | const std::string & | name | ) | [inline, static] |
Definition at line 1142 of file symtab.h.
References do_persistent_varval(), and octave_value().
Referenced by symbol_table::symbol_record::symbol_record_rep::init_persistent(), and symbol_table::symbol_record::symbol_record_rep::varval().
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] |
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] |
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] |
static std::list<scope_id> symbol_table::scopes | ( | void | ) | [inline, static] |
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] |
Definition at line 921 of file symtab.h.
References error().
Referenced by do_who(), octave_fcn_handle::load_ascii(), octave_fcn_handle::load_binary(), and read_mat5_binary_element().
static void symbol_table::set_scope_and_context | ( | scope_id | scope, | |
context_id | context | |||
) | [inline, static] |
Definition at line 944 of file symtab.h.
References error().
Referenced by octave_call_stack::do_goto_base_frame(), octave_call_stack::do_goto_caller_frame(), octave_call_stack::do_goto_frame(), octave_call_stack::do_goto_frame_relative(), octave_call_stack::do_pop(), and octave_call_stack::do_push().
void symbol_table::stash_dir_name_for_subfunctions | ( | scope_id | scope, | |
const std::string & | dir_name | |||
) | [static] |
Definition at line 1291 of file symtab.cc.
References f, fcn_table, octave_function::stash_dir_name(), and octave_value::user_function_value().
static std::map<std::string, octave_value> symbol_table::subfunctions_defined_in_scope | ( | scope_id | scope = xcurrent_scope |
) | [inline, static, private] |
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] |
Definition at line 913 of file symtab.h.
Referenced by octave_call_stack::create_instance(), dump_octave_core(), get_debug_input(), and main_loop().
static void symbol_table::unlock_subfunctions | ( | scope_id | scope = xcurrent_scope |
) | [inline, static] |
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] |
Definition at line 1085 of file symtab.h.
References do_varref().
Referenced by bind_ans(), octave_user_function::bind_automatic_vars(), install_loaded_variable(), intern_argv(), octave_fcn_handle::load_ascii(), octave_fcn_handle::load_binary(), mexPutVariable(), read_mat5_binary_element(), save_vars(), and tree_evaluator::visit_function_def().
static octave_value symbol_table::varval | ( | const std::string & | name, | |
scope_id | scope = xcurrent_scope , |
|||
context_id | context = xcurrent_context | |||
) | [inline, static] |
Definition at line 1096 of file symtab.h.
References do_varval(), and octave_value().
Referenced by DEFUN(), octave_user_function::do_multi_index_op(), symbol_table::symbol_record::symbol_record_rep::dump(), tree_parameter_list::initialize_undefined_elements(), is_variable(), lookup_function_handle(), and mexGetVariable().
std::map< symbol_table::scope_id, symbol_table * > symbol_table::all_instances [static, private] |
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().
octave_user_function* symbol_table::curr_fcn [private] |
Definition at line 1965 of file symtab.h.
Referenced by get_curr_fcn(), set_curr_fcn(), symbol_table::fcn_info::fcn_info_rep::x_builtin_find(), and symbol_table::fcn_info::fcn_info_rep::xfind().
std::map< std::string, symbol_table::fcn_info > symbol_table::fcn_table [static, private] |
Definition at line 1981 of file symtab.h.
Referenced by cleanup(), do_builtin_find(), do_find(), dump_functions(), and stash_dir_name_for_subfunctions().
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] |
std::map< std::string, std::list< std::string > > symbol_table::parent_map [static, private] |
std::map<std::string, octave_value> symbol_table::persistent_table [private] |
std::map<std::string, symbol_record> symbol_table::table [private] |
std::string symbol_table::table_name [private] |
symbol_table::context_id symbol_table::xcurrent_context = 0 [static, private] |
Definition at line 2001 of file symtab.h.
Referenced by symbol_table::symbol_record::symbol_record_rep::dump().
symbol_table::scope_id symbol_table::xcurrent_scope = 1 [static, private] |
Definition at line 1999 of file symtab.h.
Referenced by builtin_find(), find(), find_function(), symbol_table::fcn_info::fcn_info_rep::x_builtin_find(), and symbol_table::fcn_info::fcn_info_rep::xfind().
const symbol_table::scope_id symbol_table::xglobal_scope = 0 [static, private] |
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().