comparison libinterp/corefcn/input.h @ 22196:dd992fd74fce

put parser, lexer, and evaluator in namespace; interpreter now owns evaluator * oct-parse.in.yy, parse.h: Move parser classes to octave namespace. * lex.ll, lex.h: Move lexer classes to octave namespace. * pt-eval.h, pt-eval.cc: Move evaluator class to octave namespace. Don't define global current evaluator pointer here. * debug.cc, error.cc, input.cc, input.h, ls-mat-ascii.cc, pt-jit.cc, sighandlers.cc, utils.cc, variables.cc, ov-usr-fcn.cc, pt-assign.cc, pt-exp.h, pt-id.cc: Update for namespaces. * interpreter.cc, interpreter.h (current_evaluator): New global var. (interpreter::m_evaluator): New data member. (interpreter::~interpreter): Delete evaluator.
author John W. Eaton <jwe@octave.org>
date Tue, 12 Jul 2016 14:28:07 -0400
parents 0a4c5a90f286
children bac0d6f07a3e
comparison
equal deleted inserted replaced
22195:93ed9396f2c3 22196:dd992fd74fce
34 #include "oct-time.h" 34 #include "oct-time.h"
35 #include "ovl.h" 35 #include "ovl.h"
36 #include "pager.h" 36 #include "pager.h"
37 37
38 class octave_value; 38 class octave_value;
39 class octave_base_lexer; 39 namespace octave
40 {
41 class base_lexer;
42 }
40 43
41 extern OCTINTERP_API FILE *get_input_from_stdin (void); 44 extern OCTINTERP_API FILE *get_input_from_stdin (void);
42 45
43 // TRUE after a call to completion_matches. 46 // TRUE after a call to completion_matches.
44 extern bool octave_completion_matches_called; 47 extern bool octave_completion_matches_called;
87 { 90 {
88 public: 91 public:
89 92
90 friend class octave_input_reader; 93 friend class octave_input_reader;
91 94
92 octave_base_reader (octave_base_lexer *lxr) 95 octave_base_reader (octave::base_lexer *lxr)
93 : count (1), pflag (0), lexer (lxr) 96 : count (1), pflag (0), lexer (lxr)
94 { } 97 { }
95 98
96 octave_base_reader (const octave_base_reader& x) 99 octave_base_reader (const octave_base_reader& x)
97 : count (1), pflag (x.pflag), lexer (x.lexer) 100 : count (1), pflag (x.pflag), lexer (x.lexer)
136 139
137 int count; 140 int count;
138 141
139 int pflag; 142 int pflag;
140 143
141 octave_base_lexer *lexer; 144 octave::base_lexer *lexer;
142 145
143 void do_input_echo (const std::string&) const; 146 void do_input_echo (const std::string&) const;
144 147
145 static const std::string in_src; 148 static const std::string in_src;
146 }; 149 };
148 class 151 class
149 octave_terminal_reader : public octave_base_reader 152 octave_terminal_reader : public octave_base_reader
150 { 153 {
151 public: 154 public:
152 155
153 octave_terminal_reader (octave_base_lexer *lxr = 0) 156 octave_terminal_reader (octave::base_lexer *lxr = 0)
154 : octave_base_reader (lxr) 157 : octave_base_reader (lxr)
155 { } 158 { }
156 159
157 std::string get_input (bool& eof); 160 std::string get_input (bool& eof);
158 161
168 class 171 class
169 octave_file_reader : public octave_base_reader 172 octave_file_reader : public octave_base_reader
170 { 173 {
171 public: 174 public:
172 175
173 octave_file_reader (FILE *f_arg, octave_base_lexer *lxr = 0) 176 octave_file_reader (FILE *f_arg, octave::base_lexer *lxr = 0)
174 : octave_base_reader (lxr), file (f_arg) { } 177 : octave_base_reader (lxr), file (f_arg) { }
175 178
176 std::string get_input (bool& eof); 179 std::string get_input (bool& eof);
177 180
178 std::string input_source (void) const { return in_src; } 181 std::string input_source (void) const { return in_src; }
190 octave_eval_string_reader : public octave_base_reader 193 octave_eval_string_reader : public octave_base_reader
191 { 194 {
192 public: 195 public:
193 196
194 octave_eval_string_reader (const std::string& str, 197 octave_eval_string_reader (const std::string& str,
195 octave_base_lexer *lxr = 0) 198 octave::base_lexer *lxr = 0)
196 : octave_base_reader (lxr), eval_string (str) 199 : octave_base_reader (lxr), eval_string (str)
197 { } 200 { }
198 201
199 std::string get_input (bool& eof); 202 std::string get_input (bool& eof);
200 203
211 214
212 class 215 class
213 octave_input_reader 216 octave_input_reader
214 { 217 {
215 public: 218 public:
216 octave_input_reader (octave_base_lexer *lxr = 0) 219 octave_input_reader (octave::base_lexer *lxr = 0)
217 : rep (new octave_terminal_reader (lxr)) 220 : rep (new octave_terminal_reader (lxr))
218 { } 221 { }
219 222
220 octave_input_reader (FILE *file, octave_base_lexer *lxr = 0) 223 octave_input_reader (FILE *file, octave::base_lexer *lxr = 0)
221 : rep (new octave_file_reader (file, lxr)) 224 : rep (new octave_file_reader (file, lxr))
222 { } 225 { }
223 226
224 octave_input_reader (const std::string& str, octave_base_lexer *lxr = 0) 227 octave_input_reader (const std::string& str, octave::base_lexer *lxr = 0)
225 : rep (new octave_eval_string_reader (str, lxr)) 228 : rep (new octave_eval_string_reader (str, lxr))
226 { } 229 { }
227 230
228 octave_input_reader (const octave_input_reader& ir) 231 octave_input_reader (const octave_input_reader& ir)
229 { 232 {