New Zig formal grammar (#1685)

Reverted #1628 and changed the grammar+parser of the language to not allow certain expr where types are expected
This commit is contained in:
Jimmi Holst Christensen
2018-11-13 05:08:37 -08:00
committed by GitHub
parent 67fbb0434f
commit 8139c5a516
216 changed files with 93348 additions and 93327 deletions

View File

@@ -108,6 +108,7 @@ struct ZigKeyword {
static const struct ZigKeyword zig_keywords[] = {
{"align", TokenIdKeywordAlign},
{"and", TokenIdKeywordAnd},
{"anyerror", TokenIdKeywordAnyerror},
{"asm", TokenIdKeywordAsm},
{"async", TokenIdKeywordAsync},
{"await", TokenIdKeywordAwait},
@@ -1548,6 +1549,7 @@ const char * token_name(TokenId id) {
case TokenIdFloatLiteral: return "FloatLiteral";
case TokenIdIntLiteral: return "IntLiteral";
case TokenIdKeywordAsync: return "async";
case TokenIdKeywordAnyerror: return "anyerror";
case TokenIdKeywordAwait: return "await";
case TokenIdKeywordResume: return "resume";
case TokenIdKeywordSuspend: return "suspend";
@@ -1625,6 +1627,8 @@ const char * token_name(TokenId id) {
case TokenIdTimesPercent: return "*%";
case TokenIdTimesPercentEq: return "*%=";
case TokenIdBarBarEq: return "||=";
case TokenIdCount:
zig_unreachable();
}
return "(invalid token)";
}