summary refs log tree commit diff stats
path: root/compiler/parser.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-12-23 23:08:37 +0100
committerAraq <rumpf_a@web.de>2014-12-23 23:08:37 +0100
commit59e279ba9cd0cedb8021c9f8cd425cb38e128224 (patch)
tree58b39db0b5e51918236cb242fa8d207b5d791b7e /compiler/parser.nim
parentea4160b23ff154000b79b554c40565875c59a216 (diff)
downloadNim-59e279ba9cd0cedb8021c9f8cd425cb38e128224.tar.gz
fixes a small bug concerning semicolons for top level statements
Diffstat (limited to 'compiler/parser.nim')
-rw-r--r--compiler/parser.nim6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/parser.nim b/compiler/parser.nim
index a91760e15..87565ae3a 100644
--- a/compiler/parser.nim
+++ b/compiler/parser.nim
@@ -1980,15 +1980,17 @@ proc parseTopLevelStmt(p: var TParser): PNode =
   ## top-level statement or emptyNode if end of stream.
   result = ast.emptyNode
   while true:
-    if p.tok.indent != 0: 
+    if p.tok.indent != 0:
       if p.firstTok and p.tok.indent < 0: discard
-      else: parMessage(p, errInvalidIndentation)
+      elif p.tok.tokType != tkSemiColon:
+        parMessage(p, errInvalidIndentation)
     p.firstTok = false
     case p.tok.tokType
     of tkSemiColon:
       getTok(p)
       if p.tok.indent <= 0: discard
       else: parMessage(p, errInvalidIndentation)
+      p.firstTok = true
     of tkEof: break
     else:
       result = complexOrSimpleStmt(p)