diff libinterp/parse-tree/lex.ll @ 16105:b7de58feb2d3

move block_comment_nesting_level to lexical_feedback_class * lex.h, lex.ll (block_comment_nesting_level): Move global variable to lexical_feedback class. Change all uses. (reset_parser): Don't reset block_comment_nesting_level.
author John W. Eaton <jwe@octave.org>
date Mon, 25 Feb 2013 21:59:40 -0500
parents c8974e28da59
children 031117f4db7c
line wrap: on
line diff
--- a/libinterp/parse-tree/lex.ll	Mon Feb 25 21:54:15 2013 -0500
+++ b/libinterp/parse-tree/lex.ll	Mon Feb 25 21:59:40 2013 -0500
@@ -235,10 +235,6 @@
 
 static unsigned int Vtoken_count = 0;
 
-// The start state that was in effect when the beginning of a block
-// comment was noticed.
-static int block_comment_nesting_level = 0;
-
 // Internal variable for lexer debugging state.
 static bool lexer_debug_flag = false;
 
@@ -661,7 +657,7 @@
 <<EOF>> {
     LEXER_DEBUG ("<<EOF>>");
 
-    if (block_comment_nesting_level != 0)
+    if (lexer_flags.block_comment_nesting_level != 0)
       {
         warning ("block comment open at end of input");
 
@@ -839,7 +835,7 @@
 
     lexer_flags.input_line_number++;
     lexer_flags.current_input_column = 1;
-    block_comment_nesting_level++;
+    lexer_flags.block_comment_nesting_level++;
     promptflag--;
 
     bool eof = false;
@@ -1063,9 +1059,6 @@
   // We do want a prompt by default.
   promptflag = 1;
 
-  // We are not in a block comment.
-  block_comment_nesting_level = 0;
-
   // Clear out the stack of token info used to track line and column
   // numbers.
   while (! token_stack.empty ())
@@ -1680,15 +1673,15 @@
 
                         if (type == '{')
                           {
-                            block_comment_nesting_level++;
+                            lexer_flags.block_comment_nesting_level++;
                             promptflag--;
                           }
                         else
                           {
-                            block_comment_nesting_level--;
+                            lexer_flags.block_comment_nesting_level--;
                             promptflag++;
 
-                            if (block_comment_nesting_level == 0)
+                            if (lexer_flags.block_comment_nesting_level == 0)
                               {
                                 buf += grab_comment_block (reader, true, eof);
 
@@ -1788,7 +1781,7 @@
                         at_bol = true;
                         done = true;
 
-                        block_comment_nesting_level++;
+                        lexer_flags.block_comment_nesting_level++;
                         promptflag--;
 
                         buf += grab_block_comment (reader, eof);