check after comments, too (#13832)
diff --git a/Parser/parsetok.c b/Parser/parsetok.c
index c4b7690..7beb735 100644
--- a/Parser/parsetok.c
+++ b/Parser/parsetok.c
@@ -234,13 +234,23 @@
             char *cur = tok->cur;
             char c = *tok->cur;
 
-            while (c == ' ' || c == '\t' || c == '\n' || c == '\014')
-                c = *++cur;
+            for (;;) {
+                while (c == ' ' || c == '\t' || c == '\n' || c == '\014')
+                    c = *++cur;
 
-            if (c && c != '#') {
-                err_ret->error = E_BADSINGLE;
-                PyNode_Free(n);
-                n = NULL;
+                if (!c)
+                    break;
+
+                if (c != '#') {
+                    err_ret->error = E_BADSINGLE;
+                    PyNode_Free(n);
+                    n = NULL;
+                    break;
+                }
+
+                /* Suck up comment. */
+                while (c && c != '\n')
+                    c = *++cur;
             }
         }
 #endif