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[] = {...@@ -110,7 +110,10 @@ static const struct ZigKeyword zig_keywords[] = {
110 {"align", TokenIdKeywordAlign},110 {"align", TokenIdKeywordAlign},
111 {"and", TokenIdKeywordAnd},111 {"and", TokenIdKeywordAnd},
112 {"asm", TokenIdKeywordAsm},112 {"asm", TokenIdKeywordAsm},
113 {"async", TokenIdKeywordAsync},
114 {"await", TokenIdKeywordAwait},
113 {"break", TokenIdKeywordBreak},115 {"break", TokenIdKeywordBreak},
116 {"cancel", TokenIdKeywordCancel},
114 {"catch", TokenIdKeywordCatch},117 {"catch", TokenIdKeywordCatch},
115 {"comptime", TokenIdKeywordCompTime},118 {"comptime", TokenIdKeywordCompTime},
116 {"const", TokenIdKeywordConst},119 {"const", TokenIdKeywordConst},
...@@ -133,10 +136,12 @@ static const struct ZigKeyword zig_keywords[] = {...@@ -133,10 +136,12 @@ static const struct ZigKeyword zig_keywords[] = {
133 {"or", TokenIdKeywordOr},136 {"or", TokenIdKeywordOr},
134 {"packed", TokenIdKeywordPacked},137 {"packed", TokenIdKeywordPacked},
135 {"pub", TokenIdKeywordPub},138 {"pub", TokenIdKeywordPub},
139 {"resume", TokenIdKeywordResume},
136 {"return", TokenIdKeywordReturn},140 {"return", TokenIdKeywordReturn},
137 {"section", TokenIdKeywordSection},141 {"section", TokenIdKeywordSection},
138 {"stdcallcc", TokenIdKeywordStdcallCC},142 {"stdcallcc", TokenIdKeywordStdcallCC},
139 {"struct", TokenIdKeywordStruct},143 {"struct", TokenIdKeywordStruct},
144 {"suspend", TokenIdKeywordSuspend},
140 {"switch", TokenIdKeywordSwitch},145 {"switch", TokenIdKeywordSwitch},
141 {"test", TokenIdKeywordTest},146 {"test", TokenIdKeywordTest},
142 {"this", TokenIdKeywordThis},147 {"this", TokenIdKeywordThis},
...@@ -1523,6 +1528,11 @@ const char * token_name(TokenId id) {...@@ -1523,6 +1528,11 @@ const char * token_name(TokenId id) {
1523 case TokenIdFatArrow: return "=>";1528 case TokenIdFatArrow: return "=>";
1524 case TokenIdFloatLiteral: return "FloatLiteral";1529 case TokenIdFloatLiteral: return "FloatLiteral";
1525 case TokenIdIntLiteral: return "IntLiteral";1530 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";
1526 case TokenIdKeywordAlign: return "align";1536 case TokenIdKeywordAlign: return "align";
1527 case TokenIdKeywordAnd: return "and";1537 case TokenIdKeywordAnd: return "and";
1528 case TokenIdKeywordAsm: return "asm";1538 case TokenIdKeywordAsm: return "asm";
src/tokenizer.hpp+5
...@@ -51,7 +51,10 @@ enum TokenId {...@@ -51,7 +51,10 @@ enum TokenId {
51 TokenIdKeywordAlign,51 TokenIdKeywordAlign,
52 TokenIdKeywordAnd,52 TokenIdKeywordAnd,
53 TokenIdKeywordAsm,53 TokenIdKeywordAsm,
54 TokenIdKeywordAsync,
55 TokenIdKeywordAwait,
54 TokenIdKeywordBreak,56 TokenIdKeywordBreak,
57 TokenIdKeywordCancel,
55 TokenIdKeywordCatch,58 TokenIdKeywordCatch,
56 TokenIdKeywordCompTime,59 TokenIdKeywordCompTime,
57 TokenIdKeywordConst,60 TokenIdKeywordConst,
...@@ -74,10 +77,12 @@ enum TokenId {...@@ -74,10 +77,12 @@ enum TokenId {
74 TokenIdKeywordOr,77 TokenIdKeywordOr,
75 TokenIdKeywordPacked,78 TokenIdKeywordPacked,
76 TokenIdKeywordPub,79 TokenIdKeywordPub,
80 TokenIdKeywordResume,
77 TokenIdKeywordReturn,81 TokenIdKeywordReturn,
78 TokenIdKeywordSection,82 TokenIdKeywordSection,
79 TokenIdKeywordStdcallCC,83 TokenIdKeywordStdcallCC,
80 TokenIdKeywordStruct,84 TokenIdKeywordStruct,
85 TokenIdKeywordSuspend,
81 TokenIdKeywordSwitch,86 TokenIdKeywordSwitch,
82 TokenIdKeywordTest,87 TokenIdKeywordTest,
83 TokenIdKeywordThis,88 TokenIdKeywordThis,