Mercurial > hg > octave-nkf
diff libinterp/parse-tree/lex.h @ 16194:b7ca669af528
reset lexical_feedback state before starting a new parse
* lex.h, lex.cc (bbp_nesting_level::reset): New function.
(lexical_feedback::reset, lexical_feedback::reset_token_stack):
New functions.
(lexical_feedback::~lexical_feedback): Call reset_token_stack to do
the job.
(octave_lexer::reset): Call lexical_feedback::reset.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 05 Mar 2013 10:19:47 -0500 |
parents | d7392bf42fd1 |
children | b52d2f9294b6 |
line wrap: on
line diff
--- a/libinterp/parse-tree/lex.h +++ b/libinterp/parse-tree/lex.h @@ -106,6 +106,12 @@ ~bbp_nesting_level (void) { } + void reset (void) + { + while (! context.empty ()) + context.pop (); + } + void bracket (void) { context.push (BRACKET); } bool is_bracket (void) @@ -176,7 +182,9 @@ ~lexical_feedback (void); void init (void); - + + void reset (void); + // true means that we have encountered eof on the input stream. bool end_of_input; @@ -280,6 +288,8 @@ private: + void reset_token_stack (void); + // No copying! lexical_feedback (const lexical_feedback&);