diff 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
line wrap: on
line diff
--- a/libinterp/parse-tree/parse.h	Wed Feb 27 13:07:38 2013 -0500
+++ b/libinterp/parse-tree/parse.h	Wed Feb 27 13:09:33 2013 -0500
@@ -29,6 +29,7 @@
 
 #include <stack>
 
+#include "lex.h"
 #include "token.h"
 
 extern int octave_lex (void);
@@ -136,10 +137,15 @@
 {
 public:
 
-  octave_parser (void) { }
+  octave_parser (void) : end_of_input (false) { }
 
   ~octave_parser (void) { }
 
+  void reset (void)
+  {
+    curr_lexer->reset ();
+  }
+
   int run (void);
 
   // Error mesages for mismatched end tokens.
@@ -320,6 +326,9 @@
   append_statement_list (tree_statement_list *list, char sep,
                          tree_statement *stmt, bool warn_missing_semi);
 
+  // TRUE means that we have encountered EOF on the input stream.
+  bool end_of_input;
+
   // For unwind protect.
   static void cleanup (octave_parser *parser) { delete parser; }