authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-02-19 23:19:59-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-02-19 23:19:59-05:00
logaf10b0fec213172b0403abfd8ff6e53c88f8c3c6
tree33794b0c6f34b175ef03ff976c8637649f1ca28d
parentbde15cf0806f2b8d6fb0c90602b42a74863ec515

add async, await, suspend, resume, cancel keywords

See #727

2 files changed, 15 insertions(+), 0 deletions(-)

src/tokenizer.cpp+10
......@@ -110,7 +110,10 @@ static const struct ZigKeyword zig_keywords[] = {
110110 {"align", TokenIdKeywordAlign},
111111 {"and", TokenIdKeywordAnd},
112112 {"asm", TokenIdKeywordAsm},
113 {"async", TokenIdKeywordAsync},
114 {"await", TokenIdKeywordAwait},
113115 {"break", TokenIdKeywordBreak},
116 {"cancel", TokenIdKeywordCancel},
114117 {"catch", TokenIdKeywordCatch},
115118 {"comptime", TokenIdKeywordCompTime},
116119 {"const", TokenIdKeywordConst},
......@@ -133,10 +136,12 @@ static const struct ZigKeyword zig_keywords[] = {
133136 {"or", TokenIdKeywordOr},
134137 {"packed", TokenIdKeywordPacked},
135138 {"pub", TokenIdKeywordPub},
139 {"resume", TokenIdKeywordResume},
136140 {"return", TokenIdKeywordReturn},
137141 {"section", TokenIdKeywordSection},
138142 {"stdcallcc", TokenIdKeywordStdcallCC},
139143 {"struct", TokenIdKeywordStruct},
144 {"suspend", TokenIdKeywordSuspend},
140145 {"switch", TokenIdKeywordSwitch},
141146 {"test", TokenIdKeywordTest},
142147 {"this", TokenIdKeywordThis},
......@@ -1523,6 +1528,11 @@ const char * token_name(TokenId id) {
15231528 case TokenIdFatArrow: return "=>";
15241529 case TokenIdFloatLiteral: return "FloatLiteral";
15251530 case TokenIdIntLiteral: return "IntLiteral";
1531 case TokenIdKeywordAsync: return "async";
1532 case TokenIdKeywordAwait: return "await";
1533 case TokenIdKeywordResume: return "resume";
1534 case TokenIdKeywordSuspend: return "suspend";
1535 case TokenIdKeywordCancel: return "cancel";
15261536 case TokenIdKeywordAlign: return "align";
15271537 case TokenIdKeywordAnd: return "and";
15281538 case TokenIdKeywordAsm: return "asm";
src/tokenizer.hpp+5
......@@ -51,7 +51,10 @@ enum TokenId {
5151 TokenIdKeywordAlign,
5252 TokenIdKeywordAnd,
5353 TokenIdKeywordAsm,
54 TokenIdKeywordAsync,
55 TokenIdKeywordAwait,
5456 TokenIdKeywordBreak,
57 TokenIdKeywordCancel,
5558 TokenIdKeywordCatch,
5659 TokenIdKeywordCompTime,
5760 TokenIdKeywordConst,
......@@ -74,10 +77,12 @@ enum TokenId {
7477 TokenIdKeywordOr,
7578 TokenIdKeywordPacked,
7679 TokenIdKeywordPub,
80 TokenIdKeywordResume,
7781 TokenIdKeywordReturn,
7882 TokenIdKeywordSection,
7983 TokenIdKeywordStdcallCC,
8084 TokenIdKeywordStruct,
85 TokenIdKeywordSuspend,
8186 TokenIdKeywordSwitch,
8287 TokenIdKeywordTest,
8388 TokenIdKeywordThis,