diff trunk/src/dil/Parser.d @ 414:9c69615a4876

Added method insertEmptyTokenBefore() to Lexer. Made some fixes, too. Fixed the while statement that skips to the next valid UTF-8 sequence.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Thu, 27 Sep 2007 10:28:08 +0200
parents 38fccd2640eb
children b18b0cd8f8cd
line wrap: on
line diff
--- a/trunk/src/dil/Parser.d	Wed Sep 26 17:12:00 2007 +0200
+++ b/trunk/src/dil/Parser.d	Thu Sep 27 10:28:08 2007 +0200
@@ -2966,7 +2966,12 @@
     default:
       error(MID.ExpectedButFound, "Expression", token.srcText);
       e = new EmptyExpression();
-      break;
+      if (!trying)
+      {
+        // Insert a dummy token and don't consume current one.
+        begin = lx.insertEmptyTokenBefore(token);
+        prevToken = begin;
+      }
     }
     set(e, begin);
     return e;
@@ -3633,6 +3638,12 @@
 
       error(MID.ExpectedButFound, "Expression", token.srcText);
       e = new EmptyExpression();
+      if (!trying)
+      {
+        // Insert a dummy token and don't consume current one.
+        begin = lx.insertEmptyTokenBefore(token);
+        prevToken = begin;
+      }
     }
     set(e, begin);
     return e;