# HG changeset patch # User jwe # Date 865193393 0 # Node ID 1aeb8869e4642444417d1a7dc93cd03deaa54bfd # Parent ea9af2ffa80d47347277c40efb58d7fa325a8d3d [project @ 1997-06-01 19:24:02 by jwe] diff --git a/src/defun.cc b/src/defun.cc --- a/src/defun.cc +++ b/src/defun.cc @@ -41,7 +41,7 @@ symbol_record *sym_rec = global_sym_tab->lookup (mf->name (), true); unsigned int t - = symbol_def::BUILTIN_FUNCTION | symbol_def::MAPPER_FUNCTION; + = symbol_record::BUILTIN_FUNCTION | symbol_record::MAPPER_FUNCTION; sym_rec->unprotect (); sym_rec->define (mf, t); @@ -58,10 +58,10 @@ symbol_record *sym_rec = global_sym_tab->lookup (name, true); - unsigned int t = symbol_def::BUILTIN_FUNCTION; + unsigned int t = symbol_record::BUILTIN_FUNCTION; if (is_text_fcn) - t |= symbol_def::TEXT_FUNCTION; + t |= symbol_record::TEXT_FUNCTION; sym_rec->unprotect (); sym_rec->define (new octave_builtin (f, name, doc), t); diff --git a/src/help.cc b/src/help.cc --- a/src/help.cc +++ b/src/help.cc @@ -490,14 +490,14 @@ // XXX FIXME XXX -- is this distinction needed? - LIST_SYMBOLS (symbol_def::TEXT_FUNCTION, + LIST_SYMBOLS (symbol_record::TEXT_FUNCTION, "text functions (these names are also reserved)"); - LIST_SYMBOLS (symbol_def::MAPPER_FUNCTION, "mapper functions"); + LIST_SYMBOLS (symbol_record::MAPPER_FUNCTION, "mapper functions"); - LIST_SYMBOLS (symbol_def::BUILTIN_FUNCTION, "general functions"); + LIST_SYMBOLS (symbol_record::BUILTIN_FUNCTION, "general functions"); - LIST_SYMBOLS (symbol_def::BUILTIN_VARIABLE, "builtin variables"); + LIST_SYMBOLS (symbol_record::BUILTIN_VARIABLE, "builtin variables"); // Also need to list variables and currently compiled functions from // the symbol table, if there are any. diff --git a/src/load-save.cc b/src/load-save.cc --- a/src/load-save.cc +++ b/src/load-save.cc @@ -2283,7 +2283,7 @@ int count; symbol_record **vars = curr_sym_tab->glob - (count, pattern, symbol_def::USER_VARIABLE, SYMTAB_ALL_SCOPES); + (count, pattern, symbol_record::USER_VARIABLE, SYMTAB_ALL_SCOPES); int saved = count; @@ -2302,7 +2302,7 @@ if (! error_state && save_builtins) { symbol_record **vars = global_sym_tab->glob - (count, pattern, symbol_def::BUILTIN_VARIABLE, SYMTAB_ALL_SCOPES); + (count, pattern, symbol_record::BUILTIN_VARIABLE, SYMTAB_ALL_SCOPES); saved += count; diff --git a/src/mappers.cc b/src/mappers.cc --- a/src/mappers.cc +++ b/src/mappers.cc @@ -25,6 +25,7 @@ #endif #include +#include #include "lo-mappers.h" diff --git a/src/pt-binop.h b/src/pt-binop.h --- a/src/pt-binop.h +++ b/src/pt-binop.h @@ -67,7 +67,7 @@ octave_value rvalue (void); - octave_value_list rvalue (int nargou); + octave_value_list rvalue (int nargout); void eval_error (void); diff --git a/src/pt-id.h b/src/pt-id.h --- a/src/pt-id.h +++ b/src/pt-id.h @@ -79,6 +79,12 @@ void mark_as_formal_parameter (void); + // We really need to know whether this symbol referst to a variable + // or a function, but we may not know that yet. + + bool lvalue_ok (void) const + { return true; } + octave_value rvalue (void); octave_value_list rvalue (int nargout); diff --git a/src/pt-idx.h b/src/pt-idx.h --- a/src/pt-idx.h +++ b/src/pt-idx.h @@ -63,6 +63,9 @@ tree_argument_list *arg_list (void) { return list; } + bool lvalue_ok (void) const + { return expr->lvalue_ok (); } + bool rvalue_ok (void) const { return true; } diff --git a/src/pt-indir.h b/src/pt-indir.h --- a/src/pt-indir.h +++ b/src/pt-indir.h @@ -58,7 +58,7 @@ string name (void) const; - bool rvalue_ok (void) const + bool lvalue_ok (void) const { return true; } octave_value rvalue (void); diff --git a/src/pt-pr-code.cc b/src/pt-pr-code.cc --- a/src/pt-pr-code.cc +++ b/src/pt-pr-code.cc @@ -440,7 +440,7 @@ print_parens (expr, "("); - tree_expression *e= expr.expression (); + tree_expression *e = expr.expression (); if (e) e->accept (*this); @@ -546,12 +546,6 @@ } void -tree_print_code::visit_oct_obj (tree_oct_obj&) -{ - ::error ("visit_oct_obj: internal error"); -} - -void tree_print_code::visit_constant (tree_constant& val) { indent (); diff --git a/src/pt-pr-code.h b/src/pt-pr-code.h --- a/src/pt-pr-code.h +++ b/src/pt-pr-code.h @@ -90,8 +90,6 @@ void visit_no_op_command (tree_no_op_command&); - void visit_oct_obj (tree_oct_obj&); - void visit_constant (tree_constant&); void visit_parameter_list (tree_parameter_list&); diff --git a/src/pt-unop.h b/src/pt-unop.h --- a/src/pt-unop.h +++ b/src/pt-unop.h @@ -96,7 +96,7 @@ octave_value rvalue (void); - octave_value_list rvalue (int nargou); + octave_value_list rvalue (int nargout); void eval_error (void); diff --git a/src/pt-walk.h b/src/pt-walk.h --- a/src/pt-walk.h +++ b/src/pt-walk.h @@ -46,7 +46,6 @@ class tree_matrix; class tree_multi_assignment; class tree_no_op_command; -class tree_oct_obj; class tree_constant; class tree_parameter_list; class tree_plot_command; @@ -142,9 +141,6 @@ visit_no_op_command (tree_no_op_command&) = 0; virtual void - visit_oct_obj (tree_oct_obj&) = 0; - - virtual void visit_constant (tree_constant&) = 0; virtual void