add labels and goto

This commit is contained in:
Andrew Kelley
2015-12-03 00:47:35 -07:00
parent c89f77dd8e
commit f8ca6c70c7
14 changed files with 270 additions and 27 deletions

View File

@@ -189,6 +189,8 @@ static void end_token(Tokenize *t) {
t->cur_tok->id = TokenIdKeywordIf;
} else if (mem_eql_str(token_mem, token_len, "else")) {
t->cur_tok->id = TokenIdKeywordElse;
} else if (mem_eql_str(token_mem, token_len, "goto")) {
t->cur_tok->id = TokenIdKeywordGoto;
}
t->cur_tok = nullptr;
@@ -586,6 +588,7 @@ static const char * token_name(Token *token) {
case TokenIdKeywordVoid: return "Void";
case TokenIdKeywordIf: return "If";
case TokenIdKeywordElse: return "Else";
case TokenIdKeywordGoto: return "Goto";
case TokenIdLParen: return "LParen";
case TokenIdRParen: return "RParen";
case TokenIdComma: return "Comma";