Call lexer.Cleanup when the lexer reaches the EOF.
authorJackson Harper <jackson@novell.com>
Mon, 13 Jan 2003 15:52:01 +0000 (15:52 -0000)
committerJackson Harper <jackson@novell.com>
Mon, 13 Jan 2003 15:52:01 +0000 (15:52 -0000)
svn path=/trunk/mcs/; revision=10462

mcs/jay/ChangeLog
mcs/jay/skeleton.cs

index a32b32b76e6ddd2640570aaddd60cc1affbe57f1..d27100ac78015d6e53a4e89868014dd500844450 100755 (executable)
@@ -1,3 +1,7 @@
+2003-01-13 Jackson Harper <jackson@latitudegeo.com>
+
+       * skeleton.cs: Call lexer.Cleanup when the lexer reaches the EOF.
+
 2002-08-20  Miguel de Icaza  <miguel@ximian.com>
 
        * skeleton.cs: Fix the code that expanded the arrays dynamically,
index 82d8f63e3d662f3ee77ba01ccc953381b7dc9d28..2c8bc9d78e36ba0cc4e0e7cb615040ec1522f165 100644 (file)
@@ -150,6 +150,8 @@ t      if (debug != null) debug.push(yyState, yyVal);
 .        if ((yyN = yyDefRed[yyState]) == 0) { // else [default] reduce (yyN)
 .          if (yyToken < 0) {
 .            yyToken = yyLex.advance() ? yyLex.token() : 0;
+.           if (yyToken == 0)
+.              yyLex.Cleanup ();
 t            if (debug != null)
 t              debug.lex(yyState, yyToken, yyname(yyToken), yyLex.value());
 .          }
@@ -219,6 +221,9 @@ t          if (debug != null) debug.shift(0, yyFinal);
 .          yyState = yyFinal;
 .          if (yyToken < 0) {
 .            yyToken = yyLex.advance() ? yyLex.token() : 0;
+.            if (yyToken == 0)
+.                 yyLex.Cleanup (); 
+               
 t            if (debug != null)
 t               debug.lex(yyState, yyToken,yyname(yyToken), yyLex.value());
 .          }
@@ -347,6 +352,9 @@ t        if (debug != null) debug.shift(yyStates[yyTop], yyState);
 .        @return value for token().
 .      */
 .    Object value ();
+.    /** Cleanup, this is called when advance returns false.
+.     */
+.    void Cleanup ();
 .  }
 . }
 .} // close outermost namespace, that MUST HAVE BEEN opened in the prolog