diff src/variables.h @ 195:13c6086c325c

[project @ 1993-11-06 10:12:29 by jwe]
author jwe
date Sat, 06 Nov 1993 10:14:11 +0000 (1993-11-06)
parents 78fd87e624cb
children a99f28f5e351
line wrap: on
line diff
--- a/src/variables.h
+++ b/src/variables.h
@@ -34,17 +34,63 @@
 class tree;
 class tree_constant;
 
+struct builtin_mapper_functions;
+struct builtin_text_functions;
+struct builtin_general_functions;
+struct builtin_string_variables;
+
+#ifndef SV_FUNCTION_TYPEDEFS
+#define SV_FUNCTION_TYPEDEFS 1
+
+typedef int (*sv_Function)(void);
+
+#endif
+
+extern void initialize_symbol_tables (void);
+
 extern int symbol_out_of_date (symbol_record *sr);
-extern symbol_record *force_global (char *name);
-extern int bind_variable (char *, tree_constant *);
-extern int bind_protected_variable (char *, tree_constant *);
-extern char *octave_string_variable (char *);
-extern int octave_real_scalar_variable (char *, double&);
+
+extern void document_symbol (const char *name, const char *help);
+
+extern void install_builtin_mapper_function (builtin_mapper_functions *mf);
+
+extern void install_builtin_text_function (builtin_text_functions *tf);
+
+extern void install_builtin_general_function (builtin_general_functions *gf);
+
+extern void install_builtin_variable (builtin_string_variables *sv);
+
+extern void install_builtin_variable_as_function (const char *name,
+						  tree_constant *val,
+						  int protect = 0,
+						  int eternal = 0);  
+
+extern void bind_nargin_and_nargout (symbol_table *sym_tab,
+				     int nargin, int nargout);
+
+extern void bind_builtin_variable (const char *, tree_constant *,
+				   int protect = 0, int eternal = 0,
+				   sv_Function f = (sv_Function) 0,
+				   const char *help = (char *) 0);
+
+extern char *builtin_string_variable (const char *);
+extern int builtin_real_scalar_variable (const char *, double&);
+
+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 int is_globally_visible (const char *nm);
+
 extern int extract_keyword (istream&, char *, char *);
 extern int extract_keyword (istream&, char *, int&);
+
 extern void skip_comments (istream&);
 extern int valid_identifier (char *);
 extern int identifier_exists (char *);
+extern int is_builtin_variable (const char *name);
 extern tree *is_valid_function (tree_constant&, char *, int warn = 0);
 extern int takes_correct_nargs (tree *, int, char *, int warn = 0);
 extern char **make_name_list (void);