diff options
author | 2015-03-18 19:03:57 +0000 | |
---|---|---|
committer | 2015-03-20 14:31:01 +0000 | |
commit | 5c8ea36152216fb2b7cd1fd80ec568dfcb8bf428 (patch) | |
tree | 5ec43b645139c28a774260c8694f926bdf65bfa3 /src/main/java/com/google/devtools/build/lib/syntax | |
parent | 9bf65cb79ff6e2e9b76b37d1bc567bd362946165 (diff) |
Automated [] rollback of [].
*** Reason for rollback ***
This CL broke []
*** Original change description ***
Skylark: New error message in the lexer when an unsupported Python keyword is used.
--
MOS_MIGRATED_REVID=88954426
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/syntax')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/Lexer.java | 28 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/syntax/TokenKind.java | 4 |
2 files changed, 9 insertions, 23 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Lexer.java b/src/main/java/com/google/devtools/build/lib/syntax/Lexer.java index 0b96c00060..7531b84ae3 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/Lexer.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/Lexer.java @@ -441,46 +441,28 @@ public final class Lexer { private static final Map<String, TokenKind> keywordMap = new HashMap<>(); static { - // We insert TokenKind.ILLEGAL for every unsupported Python keyword. - // List of keywords come from "keyword.kwlist" in Python 3.4.0. keywordMap.put("and", TokenKind.AND); keywordMap.put("as", TokenKind.AS); - keywordMap.put("assert", TokenKind.ILLEGAL); - keywordMap.put("break", TokenKind.ILLEGAL); - keywordMap.put("class", TokenKind.CLASS); - keywordMap.put("continue", TokenKind.ILLEGAL); + keywordMap.put("class", TokenKind.CLASS); // reserved for future expansion keywordMap.put("def", TokenKind.DEF); - keywordMap.put("del", TokenKind.ILLEGAL); keywordMap.put("elif", TokenKind.ELIF); keywordMap.put("else", TokenKind.ELSE); - keywordMap.put("except", TokenKind.ILLEGAL); - keywordMap.put("finally", TokenKind.ILLEGAL); + keywordMap.put("except", TokenKind.EXCEPT); + keywordMap.put("finally", TokenKind.FINALLY); keywordMap.put("for", TokenKind.FOR); - keywordMap.put("from", TokenKind.ILLEGAL); - keywordMap.put("global", TokenKind.ILLEGAL); + keywordMap.put("from", TokenKind.FROM); keywordMap.put("if", TokenKind.IF); - keywordMap.put("import", TokenKind.ILLEGAL); + keywordMap.put("import", TokenKind.IMPORT); keywordMap.put("in", TokenKind.IN); - keywordMap.put("is", TokenKind.ILLEGAL); - keywordMap.put("lambda", TokenKind.ILLEGAL); - keywordMap.put("nonlocal", TokenKind.ILLEGAL); keywordMap.put("not", TokenKind.NOT); keywordMap.put("or", TokenKind.OR); keywordMap.put("pass", TokenKind.PASS); - keywordMap.put("raise", TokenKind.ILLEGAL); keywordMap.put("return", TokenKind.RETURN); keywordMap.put("try", TokenKind.TRY); - keywordMap.put("while", TokenKind.ILLEGAL); - keywordMap.put("with", TokenKind.ILLEGAL); - keywordMap.put("yield", TokenKind.ILLEGAL); } private TokenKind getTokenKindForIdentfier(String id) { TokenKind kind = keywordMap.get(id); - if (kind == TokenKind.ILLEGAL) { - error("The Python keyword '" + id + "' is not supported"); - return TokenKind.IDENTIFIER; - } return kind == null ? TokenKind.IDENTIFIER : kind; } diff --git a/src/main/java/com/google/devtools/build/lib/syntax/TokenKind.java b/src/main/java/com/google/devtools/build/lib/syntax/TokenKind.java index fa73a09852..e7e92b4260 100644 --- a/src/main/java/com/google/devtools/build/lib/syntax/TokenKind.java +++ b/src/main/java/com/google/devtools/build/lib/syntax/TokenKind.java @@ -32,12 +32,16 @@ public enum TokenKind { EOF("EOF"), EQUALS("="), EQUALS_EQUALS("=="), + EXCEPT("except"), + FINALLY("finally"), FOR("for"), + FROM("from"), GREATER(">"), GREATER_EQUALS(">="), IDENTIFIER("identifier"), IF("if"), ILLEGAL("illegal character"), + IMPORT("import"), IN("in"), INDENT("indent"), INT("integer"), |