Mercurial > hg > octave-nkf
comparison libinterp/parse-tree/parse.h @ 16139:2fd39ab12209
move a function and data member from lexical_feedback to octave_parser
* parse.h: Include lex.h.
* parse.h, oct-parse.yy (octave_parser::reset): New function.
(octave_parser::end_of_input): New data member.
(octave_parser::octave_parser): Initialize it.
* lex.h, lex.ll (lexical_feedback::reset): Rename from reset_parser.
(lexical_feedback::parser_end_of_input): Delete.
* input.cc (get_debug_input): Call octave_parser::reset, not
lexical_feedback::reset_parser.
* toplev.cc (main_loop): Likewise.
* oct-parse.yy (eval_string, parse_fcn_file): Likewise.
* toplev.cc (main_loop): Set octave_parser::end_of_input, not
lexical_feedback::parser_end_of_input.
* oct-parse.yy: Use octave_parser::end_of_input, not
lexical_feedback::parser_end_of_input.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 27 Feb 2013 13:09:33 -0500 |
parents | 284e2ca86ef7 |
children | 26d65d677557 |
comparison
equal
deleted
inserted
replaced
16138:284e2ca86ef7 | 16139:2fd39ab12209 |
---|---|
27 | 27 |
28 #include <string> | 28 #include <string> |
29 | 29 |
30 #include <stack> | 30 #include <stack> |
31 | 31 |
32 #include "lex.h" | |
32 #include "token.h" | 33 #include "token.h" |
33 | 34 |
34 extern int octave_lex (void); | 35 extern int octave_lex (void); |
35 | 36 |
36 class octave_comment_list; | 37 class octave_comment_list; |
134 class | 135 class |
135 octave_parser | 136 octave_parser |
136 { | 137 { |
137 public: | 138 public: |
138 | 139 |
139 octave_parser (void) { } | 140 octave_parser (void) : end_of_input (false) { } |
140 | 141 |
141 ~octave_parser (void) { } | 142 ~octave_parser (void) { } |
143 | |
144 void reset (void) | |
145 { | |
146 curr_lexer->reset (); | |
147 } | |
142 | 148 |
143 int run (void); | 149 int run (void); |
144 | 150 |
145 // Error mesages for mismatched end tokens. | 151 // Error mesages for mismatched end tokens. |
146 void end_error (const char *type, token::end_tok_type ettype, int l, int c); | 152 void end_error (const char *type, token::end_tok_type ettype, int l, int c); |
318 // Append a statement to an existing statement list. | 324 // Append a statement to an existing statement list. |
319 tree_statement_list * | 325 tree_statement_list * |
320 append_statement_list (tree_statement_list *list, char sep, | 326 append_statement_list (tree_statement_list *list, char sep, |
321 tree_statement *stmt, bool warn_missing_semi); | 327 tree_statement *stmt, bool warn_missing_semi); |
322 | 328 |
329 // TRUE means that we have encountered EOF on the input stream. | |
330 bool end_of_input; | |
331 | |
323 // For unwind protect. | 332 // For unwind protect. |
324 static void cleanup (octave_parser *parser) { delete parser; } | 333 static void cleanup (octave_parser *parser) { delete parser; } |
325 | 334 |
326 private: | 335 private: |
327 | 336 |