Mercurial > hg > octave-lyh
diff src/variables.h @ 1755:3a9462b655f1
[project @ 1996-01-22 04:47:22 by jwe]
author | jwe |
---|---|
date | Mon, 22 Jan 1996 04:47:22 +0000 |
parents | bb9d00aa55fb |
children | effa9400766f |
line wrap: on
line diff
--- a/src/variables.h +++ b/src/variables.h @@ -30,6 +30,9 @@ class tree_fvc; class tree_constant; class Octave_object; +class string_vector; + +#include <string> struct builtin_mapper_function; @@ -37,65 +40,73 @@ struct builtin_variable { - char *name; + builtin_variable (const string& n, tree_constant *v, int iaf, int p, + int e, sv_Function svf, const string& h) + : name (n), value (v), install_as_function (iaf), protect (p), + eternal (e), sv_function (svf), help_string (h) { } + + string name; tree_constant *value; int install_as_function; int protect; int eternal; sv_Function sv_function; - char *help_string; + string help_string; }; typedef Octave_object (*Octave_builtin_fcn)(const Octave_object&, int); struct builtin_function { - char *name; + builtin_function (const string& n, int itf, Octave_builtin_fcn f, + const string& h) + : name (n), is_text_fcn (itf), fcn (f), help_string (h) { } + + string name; int is_text_fcn; Octave_builtin_fcn fcn; - char *help_string; + string help_string; }; extern void initialize_symbol_tables (void); extern int lookup (symbol_record *s, int exec_script = 1); -extern symbol_record *lookup_by_name (const char *nm, int exec_script = 1); +extern symbol_record *lookup_by_name (const string& nm, int exec_script = 1); -extern char *get_help_from_file (const char *f); +extern string get_help_from_file (const string& f); -extern char *builtin_string_variable (const char *); -extern int builtin_real_scalar_variable (const char *, double&); -extern tree_constant builtin_any_variable (const char *); +extern string builtin_string_variable (const string&); +extern int builtin_real_scalar_variable (const string&, double&); +extern tree_constant builtin_any_variable (const string&); extern void link_to_global_variable (symbol_record *sr); extern void link_to_builtin_variable (symbol_record *sr); extern void link_to_builtin_or_function (symbol_record *sr); -extern void force_link_to_function (const char *s); +extern void force_link_to_function (const string&); -extern int is_builtin_variable (const char *name); -extern int is_text_function_name (const char *name); -extern int is_globally_visible (const char *name); +extern int is_builtin_variable (const string&); +extern int is_text_function_name (const string&); +extern int is_globally_visible (const string&); -extern tree_fvc *is_valid_function (const tree_constant&, char *, +extern tree_fvc *is_valid_function (const tree_constant&, const string&, int warn = 0); -extern char **make_name_list (void); - -extern void install_builtin_mapper (builtin_mapper_function *mf); +extern string_vector make_name_list (void); -extern void install_builtin_function (builtin_function *gf); +extern void install_builtin_mapper (const builtin_mapper_function& mf); -extern void install_builtin_variable (builtin_variable *v); +extern void install_builtin_function (const builtin_function& gf); -extern void install_builtin_variable_as_function (const char *name, - tree_constant *val, - int protect = 0, - int eternal = 0, - const char *help = 0); +extern void install_builtin_variable (const builtin_variable& v); -extern void alias_builtin (const char *alias, const char *name); +extern void +install_builtin_variable_as_function + (const string& name, tree_constant *val, int protect = 0, + int eternal = 0, const string& help = string ()); + +extern void alias_builtin (const string& alias, const string& name); #if 0 extern void bind_nargin_and_nargout (symbol_table *sym_tab, @@ -108,31 +119,31 @@ extern void clear_global_error_variable (void *); -extern void bind_builtin_variable (const char *, tree_constant *, +extern void bind_builtin_variable (const string&, tree_constant *, int protect = 0, int eternal = 0, sv_Function f = (sv_Function) 0, - const char *help = 0); + const string& help = string ()); -extern void bind_builtin_variable (const char *, const tree_constant&, +extern void bind_builtin_variable (const string&, const tree_constant&, int protect = 0, int eternal = 0, sv_Function f = (sv_Function) 0, - const char *help = 0); + const string& help = string ()); extern void install_builtin_variables (void); -extern char *maybe_add_default_load_path (const char *p); +extern string maybe_add_default_load_path (const string& p); -extern char *octave_lib_dir (void); -extern char *octave_arch_lib_dir (void); -extern char *octave_fcn_file_dir (void); -extern char *octave_bin_dir (void); -extern char *default_exec_path (void); -extern char *default_path (void); -extern char *default_info_file (void); -extern char *default_info_prog (void); -extern char *default_editor (void); -extern char *get_local_site_defaults (void); -extern char *get_site_defaults (void); +extern string octave_lib_dir (void); +extern string octave_arch_lib_dir (void); +extern string octave_fcn_file_dir (void); +extern string octave_bin_dir (void); +extern string default_exec_path (void); +extern string default_path (void); +extern string default_info_file (void); +extern string default_info_prog (void); +extern string default_editor (void); +extern string get_local_site_defaults (void); +extern string get_site_defaults (void); // Symbol table for symbols at the top level. extern symbol_table *top_level_sym_tab;