keywordsSearchTree fixed

This commit is contained in:
timerix 2022-08-16 22:26:55 +06:00
parent 8f36aac35e
commit 78e8c1ba14
4 changed files with 9 additions and 6 deletions

View File

@ -2,7 +2,7 @@
int main(){
init_keywordsSearchTree();
printf("keywordsSearchTree: %p\n", keywordsSearchTree);
STNode_free(keywordsSearchTree);
return 0;
}

View File

@ -4,5 +4,6 @@
typedef enum lexer_type{
AutoarrTokenPtr=my_type_last+1
TokenPtr=my_type_last+1,
AutoarrTokenPtr
} lexer_type;

View File

@ -2,11 +2,13 @@
Autoarr_define(Token)
STNode* keywordsSearchTree=NULL;
void init_keywordsSearchTree(){
keywordsSearchTree=STNode_create();
for(TokenId keywordId=0; keywordId<=tok_typeof; keywordId++){
Token keyword=default_tokens[keywordId];
Unitype fake_uni=*(Unitype*)(void*)&keyword;
ST_push(keywordsSearchTree, keyword.value, fake_uni);
const Token* keywordptr=&default_tokens[keywordId];
Unitype uni=UniPtr(Int64, keywordptr);
ST_push(keywordsSearchTree, keywordptr->value, uni);
}
}

View File

@ -105,7 +105,7 @@ typedef struct Token{
TokenId id;
} Token;
static STNode* keywordsSearchTree;
extern STNode* keywordsSearchTree;
// dont forget to free it
void init_keywordsSearchTree();