implemented basic parsing
This commit is contained in:
parent
038930d881
commit
abf1d7c066
10 changed files with 588 additions and 486 deletions
5
lexer.c
5
lexer.c
|
|
@ -381,8 +381,8 @@ static void parse(lexer *l)
|
|||
lexer *lexer_init(char *source, usize size, arena *arena)
|
||||
{
|
||||
lexer *lex = arena_alloc(arena, sizeof(lexer));
|
||||
lex->column = 0;
|
||||
lex->row = 0;
|
||||
lex->column = 1;
|
||||
lex->row = 1;
|
||||
lex->index = 0;
|
||||
lex->size = size;
|
||||
lex->tokens = 0;
|
||||
|
|
@ -403,6 +403,7 @@ lexer *lexer_init(char *source, usize size, arena *arena)
|
|||
trie_insert(keywords, lex->allocator, "case", TOKEN_CASE);
|
||||
trie_insert(keywords, lex->allocator, "do", TOKEN_DO);
|
||||
trie_insert(keywords, lex->allocator, "defer", TOKEN_DEFER);
|
||||
trie_insert(keywords, lex->allocator, "return", TOKEN_RETURN);
|
||||
trie_insert(keywords, lex->allocator, "module", TOKEN_MODULE);
|
||||
trie_insert(keywords, lex->allocator, "static", TOKEN_STATIC);
|
||||
trie_insert(keywords, lex->allocator, "const", TOKEN_CONST);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue