Przeglądaj źródła

Handle blank lines after label. Fixes #147

woollybah 9 lat temu
rodzic
commit
51761bbf93
1 zmienionych plików z 21 dodań i 12 usunięć
  1. 21 12
      parser.bmx

+ 21 - 12
parser.bmx

@@ -2109,18 +2109,27 @@ End Rem
 			Case "#"
 			Case "#"
 				Local decl:TLoopLabelDecl = ParseLoopLabelDecl()
 				Local decl:TLoopLabelDecl = ParseLoopLabelDecl()
 				NextToke
 				NextToke
-				Select _toke.ToLower()
-					Case "while"
-						ParseWhileStmt(decl)
-					Case "repeat"
-						ParseRepeatStmt(decl)
-					Case "for"
-						ParseForStmt(decl)
-					Case "defdata"
-						ParseDefDataStmt(decl)
-					Default
-						Err "Labels must appear before a loop or DefData statement"
-				End Select
+				While _toke
+					SetErr
+					Select _toke.ToLower()
+						Case "~n"
+							NextToke
+						Case "while"
+							ParseWhileStmt(decl)
+							Exit
+						Case "repeat"
+							ParseRepeatStmt(decl)
+							Exit
+						Case "for"
+							ParseForStmt(decl)
+							Exit
+						Case "defdata"
+							ParseDefDataStmt(decl)
+							Exit
+						Default
+							Err "Labels must appear before a loop or DefData statement"
+					End Select
+				Wend
 			Case "release"
 			Case "release"
 				ParseReleaseStmt()
 				ParseReleaseStmt()
 			Case "defdata"
 			Case "defdata"