Mercurial > octave
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 { |