diff options
author | dec05eba <dec05eba@protonmail.com> | 2019-03-20 18:53:47 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-07-25 14:36:46 +0200 |
commit | 5df7f92e715ba764ee57f65d78e73111492bb64c (patch) | |
tree | 87e25089674432d43d1ed8edad5c4c6ca3fd72b1 /src/tokenizer.c | |
parent | 071bdd4d6facb8786f089882d53c127e6163e3ce (diff) |
Add pub keyword, more import stuff, optimize hash map
Hash map now stores hash of keys to reduce the number of hash
operations.
Positive: faster insert/get.
Negative: more space required (to store usize hash).
Diffstat (limited to 'src/tokenizer.c')
-rw-r--r-- | src/tokenizer.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/tokenizer.c b/src/tokenizer.c index 4403251..c59f80c 100644 --- a/src/tokenizer.c +++ b/src/tokenizer.c @@ -175,6 +175,9 @@ static CHECK_RESULT int __tokenizer_next(Tokenizer *self, Token *token) { if(am_memeql(self->value.identifier.data, "var", 3)) { *token = TOK_VAR; return TOKENIZER_OK; + } else if(am_memeql(self->value.identifier.data, "pub", 3)) { + *token = TOK_PUB; + return TOKENIZER_OK; } break; } @@ -442,6 +445,9 @@ static BufferView tokenizer_expected_token_as_string(Token token) { case TOK_COLON: str = ":"; break; + case TOK_PUB: + str = "pub"; + break; } return create_buffer_view(str, strlen(str)); } |