Add error message for skylark for-else statement, and fix error message for single else statement.

--
MOS_MIGRATED_REVID=119260729
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Parser.java b/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
index b6fe82a..d446e3f 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
@@ -1404,7 +1404,8 @@
       list.add(parseIfStatement());
     } else if (token.kind == TokenKind.FOR && parsingMode == SKYLARK) {
       if (isTopLevel) {
-        reportError(lexer.createLocation(token.left, token.right),
+        reportError(
+            lexer.createLocation(token.left, token.right),
             "for loops are not allowed on top-level. Put it into a function");
       }
       parseForStatement(list);
@@ -1446,7 +1447,11 @@
     int start = token.left;
     Token blockToken = token;
     syncTo(EnumSet.of(TokenKind.COLON, TokenKind.EOF)); // skip over expression or name
-    if (parsingMode != PYTHON) {
+    if (blockToken.kind == TokenKind.ELSE && parsingMode == SKYLARK) {
+      reportError(
+          lexer.createLocation(blockToken.left, blockToken.right),
+          "syntax error at 'else': not allowed here.");
+    } else if (parsingMode != PYTHON) {
       String msg =
           ILLEGAL_BLOCK_KEYWORDS.containsKey(blockToken.kind)
               ? String.format("%ss are not supported.", ILLEGAL_BLOCK_KEYWORDS.get(blockToken.kind))