Mercurial > octave
comparison src/symtab.h @ 5102:b04b30d30c66
[project @ 2004-12-28 01:59:05 by jwe]
author | jwe |
---|---|
date | Tue, 28 Dec 2004 01:59:05 +0000 |
parents | 1eb9ce5c0152 |
children | e35b034d3523 |
comparison
equal
deleted
inserted
replaced
5101:9b1af8135ecd | 5102:b04b30d30c66 |
---|---|
74 USER_FUNCTION = 1, | 74 USER_FUNCTION = 1, |
75 USER_VARIABLE = 2, | 75 USER_VARIABLE = 2, |
76 DLD_FUNCTION = 4, | 76 DLD_FUNCTION = 4, |
77 BUILTIN_FUNCTION = 8, | 77 BUILTIN_FUNCTION = 8, |
78 COMMAND = 16, | 78 COMMAND = 16, |
79 MAPPER_FUNCTION = 32, | 79 RAWCOMMAND = 32, |
80 BUILTIN_VARIABLE = 64, | 80 MAPPER_FUNCTION = 64, |
81 BUILTIN_CONSTANT = 128 | 81 BUILTIN_VARIABLE = 128, |
82 BUILTIN_CONSTANT = 256 | |
82 }; | 83 }; |
83 | 84 |
84 private: | 85 private: |
85 | 86 |
86 // Variables or functions. | 87 // Variables or functions. |
126 { symbol_type &= ~symbol_record::COMMAND; } | 127 { symbol_type &= ~symbol_record::COMMAND; } |
127 | 128 |
128 bool is_command (void) const | 129 bool is_command (void) const |
129 { return (symbol_type & symbol_record::COMMAND); } | 130 { return (symbol_type & symbol_record::COMMAND); } |
130 | 131 |
132 void mark_as_rawcommand (void) | |
133 { symbol_type |= (symbol_record::COMMAND | |
134 | symbol_record::RAWCOMMAND); } | |
135 | |
136 void unmark_rawcommand (void) | |
137 { symbol_type &= ~symbol_record::RAWCOMMAND; } | |
138 | |
139 bool is_rawcommand (void) const | |
140 { return (symbol_type & symbol_record::RAWCOMMAND); } | |
141 | |
131 bool is_mapper_function (void) const | 142 bool is_mapper_function (void) const |
132 { return (symbol_type & symbol_record::MAPPER_FUNCTION); } | 143 { return (symbol_type & symbol_record::MAPPER_FUNCTION); } |
133 | 144 |
134 bool is_user_function (void) const | 145 bool is_user_function (void) const |
135 { return (symbol_type & symbol_record::USER_FUNCTION); } | 146 { return (symbol_type & symbol_record::USER_FUNCTION); } |
212 { allocator.free (p, size); } | 223 { allocator.free (p, size); } |
213 | 224 |
214 static octave_allocator allocator; | 225 static octave_allocator allocator; |
215 | 226 |
216 // The type of this symbol (see the enum above). | 227 // The type of this symbol (see the enum above). |
217 unsigned int symbol_type : 8; | 228 unsigned int symbol_type : 9; |
218 | 229 |
219 // Nonzero means this variable cannot be cleared. | 230 // Nonzero means this variable cannot be cleared. |
220 unsigned int eternal : 1; | 231 unsigned int eternal : 1; |
221 | 232 |
222 // Nonzero means this variable cannot be given a new value. | 233 // Nonzero means this variable cannot be given a new value. |
282 { definition->unmark_command (); } | 293 { definition->unmark_command (); } |
283 | 294 |
284 bool is_command (void) const | 295 bool is_command (void) const |
285 { return definition->is_command (); } | 296 { return definition->is_command (); } |
286 | 297 |
298 void mark_as_rawcommand (void) | |
299 { definition->mark_as_rawcommand (); } | |
300 | |
301 void unmark_rawcommand (void) | |
302 { definition->unmark_rawcommand (); } | |
303 | |
304 bool is_rawcommand (void) const | |
305 { return definition->is_rawcommand (); } | |
306 | |
287 bool is_mapper_function (void) const | 307 bool is_mapper_function (void) const |
288 { return definition->is_mapper_function (); } | 308 { return definition->is_mapper_function (); } |
289 | 309 |
290 bool is_user_function (void) const | 310 bool is_user_function (void) const |
291 { return definition->is_user_function (); } | 311 { return definition->is_user_function (); } |
441 #define SYMTAB_ALL_TYPES (symbol_record::USER_FUNCTION \ | 461 #define SYMTAB_ALL_TYPES (symbol_record::USER_FUNCTION \ |
442 | symbol_record::USER_VARIABLE \ | 462 | symbol_record::USER_VARIABLE \ |
443 | symbol_record::DLD_FUNCTION \ | 463 | symbol_record::DLD_FUNCTION \ |
444 | symbol_record::BUILTIN_FUNCTION \ | 464 | symbol_record::BUILTIN_FUNCTION \ |
445 | symbol_record::COMMAND \ | 465 | symbol_record::COMMAND \ |
466 | symbol_record::RAWCOMMAND \ | |
446 | symbol_record::MAPPER_FUNCTION \ | 467 | symbol_record::MAPPER_FUNCTION \ |
447 | symbol_record::BUILTIN_VARIABLE \ | 468 | symbol_record::BUILTIN_VARIABLE \ |
448 | symbol_record::BUILTIN_CONSTANT) | 469 | symbol_record::BUILTIN_CONSTANT) |
449 | 470 |
450 #define SYMTAB_VARIABLES (symbol_record::USER_VARIABLE \ | 471 #define SYMTAB_VARIABLES (symbol_record::USER_VARIABLE \ |