diff src/parse.h @ 7336:745a8299c2b5

[project @ 2007-12-28 20:56:55 by jwe]
author jwe
date Fri, 28 Dec 2007 20:56:58 +0000
parents a627f27c1e8e
children 5b4d278ec828
line wrap: on
line diff
--- a/src/parse.h	Fri Feb 01 23:56:51 2008 -0500
+++ b/src/parse.h	Fri Dec 28 20:56:58 2007 +0000
@@ -38,14 +38,9 @@
 class tree_matrix;
 class tree_identifier;
 class octave_function;
-class symbol_record;
-class symbol_table;
 
 #include "oct-obj.h"
 
-// Temporary symbol table pointer used to cope with bogus function syntax.
-extern symbol_table *tmp_local_sym_tab;
-
 // Nonzero means print parser debugging info (-d).
 extern int octave_debug;
 
@@ -73,12 +68,16 @@
 extern bool evaluating_function_body;
 
 // Keep track of symbol table information when parsing functions.
-extern std::stack<symbol_table*> symtab_context;
+extern std::stack<symbol_table::scope_id> symtab_context;
 
 // Name of parent function when parsing function files that might
 // contain nested functions.
 extern std::string parent_function_name;
 
+// Name of the current class when we are parsing class methods or
+// constructors.
+extern std::string current_class_name;
+
 // Keep a count of how many END tokens we expect.
 extern int end_tokens_expected;
 
@@ -102,11 +101,12 @@
 
 extern OCTINTERP_API string_vector reverse_lookup_autoload (const std::string& nm);
 
-extern OCTINTERP_API bool
-load_fcn_from_file (const std::string& nm, bool exec_script);
-
-extern OCTINTERP_API bool
-load_fcn_from_file (symbol_record *sym_rec, bool exec_script);
+extern OCTINTERP_API octave_function *
+load_fcn_from_file (const std::string& file_name,
+		    const std::string& dir_name = std::string (),
+		    const std::string& dispatch_type = std::string (),
+		    const std::string& fcn_name = std::string (),
+		    bool autoload = false);
 
 extern OCTINTERP_API void
 source_file (const std::string& file_name,