add pub and export visibility modifiers and optimization

This commit is contained in:
Andrew Kelley
2015-11-27 15:46:06 -07:00
parent 9ca9a2c554
commit 024052b448
13 changed files with 350 additions and 119 deletions

View File

@@ -163,6 +163,10 @@ static void end_token(Tokenize *t) {
t->cur_tok->id = TokenIdKeywordExtern;
} else if (mem_eql_str(token_mem, token_len, "unreachable")) {
t->cur_tok->id = TokenIdKeywordUnreachable;
} else if (mem_eql_str(token_mem, token_len, "pub")) {
t->cur_tok->id = TokenIdKeywordPub;
} else if (mem_eql_str(token_mem, token_len, "export")) {
t->cur_tok->id = TokenIdKeywordExport;
}
t->cur_tok = nullptr;
@@ -407,6 +411,8 @@ static const char * token_name(Token *token) {
case TokenIdKeywordReturn: return "Return";
case TokenIdKeywordExtern: return "Extern";
case TokenIdKeywordUnreachable: return "Unreachable";
case TokenIdKeywordPub: return "Pub";
case TokenIdKeywordExport: return "Export";
case TokenIdLParen: return "LParen";
case TokenIdRParen: return "RParen";
case TokenIdComma: return "Comma";