comparison 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
parents 78fd87e624cb
children a99f28f5e351
comparison
equal deleted inserted replaced
194:4f3364dcf450 195:13c6086c325c
32 class symbol_record; 32 class symbol_record;
33 class symbol_table; 33 class symbol_table;
34 class tree; 34 class tree;
35 class tree_constant; 35 class tree_constant;
36 36
37 struct builtin_mapper_functions;
38 struct builtin_text_functions;
39 struct builtin_general_functions;
40 struct builtin_string_variables;
41
42 #ifndef SV_FUNCTION_TYPEDEFS
43 #define SV_FUNCTION_TYPEDEFS 1
44
45 typedef int (*sv_Function)(void);
46
47 #endif
48
49 extern void initialize_symbol_tables (void);
50
37 extern int symbol_out_of_date (symbol_record *sr); 51 extern int symbol_out_of_date (symbol_record *sr);
38 extern symbol_record *force_global (char *name); 52
39 extern int bind_variable (char *, tree_constant *); 53 extern void document_symbol (const char *name, const char *help);
40 extern int bind_protected_variable (char *, tree_constant *); 54
41 extern char *octave_string_variable (char *); 55 extern void install_builtin_mapper_function (builtin_mapper_functions *mf);
42 extern int octave_real_scalar_variable (char *, double&); 56
57 extern void install_builtin_text_function (builtin_text_functions *tf);
58
59 extern void install_builtin_general_function (builtin_general_functions *gf);
60
61 extern void install_builtin_variable (builtin_string_variables *sv);
62
63 extern void install_builtin_variable_as_function (const char *name,
64 tree_constant *val,
65 int protect = 0,
66 int eternal = 0);
67
68 extern void bind_nargin_and_nargout (symbol_table *sym_tab,
69 int nargin, int nargout);
70
71 extern void bind_builtin_variable (const char *, tree_constant *,
72 int protect = 0, int eternal = 0,
73 sv_Function f = (sv_Function) 0,
74 const char *help = (char *) 0);
75
76 extern char *builtin_string_variable (const char *);
77 extern int builtin_real_scalar_variable (const char *, double&);
78
79 extern void link_to_global_variable (symbol_record *sr);
80 extern void link_to_builtin_variable (symbol_record *sr);
81 extern void link_to_builtin_or_function (symbol_record *sr);
82
83 extern void force_link_to_function (const char *s);
84
85 extern int is_globally_visible (const char *nm);
86
43 extern int extract_keyword (istream&, char *, char *); 87 extern int extract_keyword (istream&, char *, char *);
44 extern int extract_keyword (istream&, char *, int&); 88 extern int extract_keyword (istream&, char *, int&);
89
45 extern void skip_comments (istream&); 90 extern void skip_comments (istream&);
46 extern int valid_identifier (char *); 91 extern int valid_identifier (char *);
47 extern int identifier_exists (char *); 92 extern int identifier_exists (char *);
93 extern int is_builtin_variable (const char *name);
48 extern tree *is_valid_function (tree_constant&, char *, int warn = 0); 94 extern tree *is_valid_function (tree_constant&, char *, int warn = 0);
49 extern int takes_correct_nargs (tree *, int, char *, int warn = 0); 95 extern int takes_correct_nargs (tree *, int, char *, int warn = 0);
50 extern char **make_name_list (void); 96 extern char **make_name_list (void);
51 97
52 // Symbol table for symbols at the top level. 98 // Symbol table for symbols at the top level.