From 640b395ef000dc20056ec04d6b5ff5d488baf2aa Mon Sep 17 00:00:00 2001 From: c+1 Date: Wed, 3 May 2023 12:42:57 -0400 Subject: HALK HALK HALK --- src/include/token.h | 7 ++++--- src/lexer.c | 13 +++++++++++-- src/token.c | 10 ++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/include/token.h b/src/include/token.h index c5ee9ec..33f28f1 100644 --- a/src/include/token.h +++ b/src/include/token.h @@ -1,6 +1,6 @@ #ifndef TOKEN_H #define TOKEN_H -typedef struct TOKEN_STRUCT { +typedef struct TOKEN_STRUC { enum { TOKEN_ID, // keyword TOKEN_EQ, // '=' @@ -12,11 +12,12 @@ typedef struct TOKEN_STRUCT { TOKEN_LBRAK, // '[' TOKEN_RBRAK, // ']' TOKEN_POUND, // '#'' - TOKEN_TILDE // '~' + TOKEN_TILDE, // '~' + TOKEN_EOF // '\0' } type; char* value; } token_T; -token_T* init_token(int type, char* value); +token_T* token_init(int type, char* value); #endif diff --git a/src/lexer.c b/src/lexer.c index 692a9c9..2a3839e 100644 --- a/src/lexer.c +++ b/src/lexer.c @@ -1,4 +1,5 @@ #include "include/lexer.h" +#include "include/token.h" #include #include @@ -33,20 +34,28 @@ token_T* lexer_get_next_token(lexer_T* lexer) { if (lexer->c == ' ' || lexer->c == '\t' || lexer->c == '\n') { - + lexer_pass(lexer); } } + + return token_init(TOKEN_EOF, "\0"); } token_T* lexer_get_string(lexer_T* lexer) { - + } + token_T* lexer_get_id(lexer_T* lexer) { } + token_T* lexer_next_token(lexer_T* lexer, token_T* token) { + lexer_next(lexer); + + return lexer; } + char* lexer_get_c_as_string(lexer_T* lexer) { } diff --git a/src/token.c b/src/token.c index e69de29..da38b9a 100644 --- a/src/token.c +++ b/src/token.c @@ -0,0 +1,10 @@ +#include "include/token.h" +#include + +token_T* token_init(int type, char* val) { + token_T* token = calloc(1, sizeof(struct TOKEN_STRUC)); + token->type = type; + token->value = val; + + return token; +} -- cgit v1.2.3