comparison libinterp/parse-tree/parse.h @ 15195:2fc554ffbc28

split libinterp from src * libinterp: New directory. Move all files from src directory here except Makefile.am, main.cc, main-cli.cc, mkoctfile.in.cc, mkoctfilr.in.sh, octave-config.in.cc, octave-config.in.sh. * libinterp/Makefile.am: New file, extracted from src/Makefile.am. * src/Makefile.am: Delete everything except targets and definitions needed to build and link main and utility programs. * Makefile.am (SUBDIRS): Include libinterp in the list. * autogen.sh: Run config-module.sh in libinterp/dldfcn directory, not src/dldfcn directory. * configure.ac (AC_CONFIG_SRCDIR): Use libinterp/octave.cc, not src/octave.cc. (DL_LDFLAGS, LIBOCTINTERP): Use libinterp, not src. (AC_CONFIG_FILES): Include libinterp/Makefile in the list. * find-docstring-files.sh: Look in libinterp, not src. * gui/src/Makefile.am (liboctgui_la_CPPFLAGS): Find header files in libinterp, not src.
author John W. Eaton <jwe@octave.org>
date Sat, 18 Aug 2012 16:23:39 -0400
parents src/parse-tree/parse.h@28f5f4a4a80a
children 6434f70f0ee0
comparison
equal deleted inserted replaced
15194:0f0b795044c3 15195:2fc554ffbc28
1 /*
2
3 Copyright (C) 1993-2012 John W. Eaton
4
5 This file is part of Octave.
6
7 Octave is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11
12 Octave is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <http://www.gnu.org/licenses/>.
20
21 */
22
23 #if !defined (octave_parse_h)
24 #define octave_parse_h 1
25
26 #include <cstdio>
27
28 #include <string>
29
30 #include <stack>
31
32 extern void reset_parser (void);
33 extern int octave_lex (void);
34 extern int octave_parse (void);
35
36 class tree;
37 class tree_matrix;
38 class tree_identifier;
39 class tree_statement_list;
40 class octave_function;
41
42 #include "oct-obj.h"
43
44 // Nonzero means print parser debugging info (-d).
45 extern int octave_debug;
46
47 // The current input line number.
48 extern int input_line_number;
49
50 // The column of the current token.
51 extern int current_input_column;
52
53 // Buffer for help text snagged from function files.
54 extern std::stack<std::string> help_buf;
55
56 // TRUE means we are using readline.
57 extern bool line_editing;
58
59 // TRUE means we printed messages about reading startup files.
60 extern bool reading_startup_message_printed;
61
62 // TRUE means input is coming from startup file.
63 extern bool input_from_startup_file;
64
65 // Name of the current class when we are parsing class methods or
66 // constructors.
67 extern std::string current_class_name;
68
69 extern OCTINTERP_API std::string
70 get_help_from_file (const std::string& nm, bool& symbol_found,
71 std::string& file);
72
73 extern OCTINTERP_API std::string
74 get_help_from_file (const std::string& nm, bool& symbol_found);
75
76 extern OCTINTERP_API std::string lookup_autoload (const std::string& nm);
77
78 extern OCTINTERP_API string_vector autoloaded_functions (void);
79
80 extern OCTINTERP_API string_vector reverse_lookup_autoload (const std::string& nm);
81
82 extern OCTINTERP_API octave_function *
83 load_fcn_from_file (const std::string& file_name,
84 const std::string& dir_name = std::string (),
85 const std::string& dispatch_type = std::string (),
86 const std::string& fcn_name = std::string (),
87 bool autoload = false);
88
89 extern OCTINTERP_API void
90 source_file (const std::string& file_name,
91 const std::string& context = std::string (),
92 bool verbose = false, bool require_file = true,
93 const std::string& warn_for = std::string ());
94
95 extern OCTINTERP_API octave_value_list
96 feval (const std::string& name,
97 const octave_value_list& args = octave_value_list (),
98 int nargout = 0);
99
100 extern OCTINTERP_API octave_value_list
101 feval (octave_function *fcn,
102 const octave_value_list& args = octave_value_list (),
103 int nargout = 0);
104
105 extern OCTINTERP_API octave_value_list
106 feval (const octave_value_list& args, int nargout = 0);
107
108 extern OCTINTERP_API octave_value_list
109 eval_string (const std::string&, bool silent, int& parse_status, int hargout);
110
111 extern OCTINTERP_API octave_value
112 eval_string (const std::string&, bool silent, int& parse_status);
113
114 extern OCTINTERP_API void cleanup_statement_list (tree_statement_list **lst);
115
116 #endif