diff options
author | c+1 | 2023-05-10 00:50:10 -0400 |
---|---|---|
committer | c+1 | 2023-05-10 00:50:10 -0400 |
commit | 266d3d6af1ba8d338bb8b9ad09431483276dae46 (patch) | |
tree | 4c4ce456e9c1bfc6e0fdc370dffa5da82d797868 /src/include/lexer.h | |
parent | deb8d97be58847031e7f4ef25d7107cb2dbc35a3 (diff) |
halk.
Diffstat (limited to 'src/include/lexer.h')
-rw-r--r-- | src/include/lexer.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/include/lexer.h b/src/include/lexer.h index a0e40af..eb80646 100644 --- a/src/include/lexer.h +++ b/src/include/lexer.h @@ -1,28 +1,32 @@ #ifndef LEXER_H #define LEXER_H + + #include "token.h" + typedef struct LEXER_STRUC { char c; // current character in content unsigned int i; // index of c char* content; // the code itself } lexer_t; -lexer_t* lexer_init(char* content); +extern lexer_t* lexer_init(char* content); + +extern void lexer_next(lexer_t* lexer); +extern void lexer_pass(lexer_t* lexer); -void lexer_next(lexer_t* lexer); -void lexer_pass(lexer_t* lexer); +extern token_t* lexer_get_next_token(lexer_t* lexer); -token_t* lexer_get_next_token(lexer_t* lexer); +extern token_t* lexer_get_string(lexer_t* lexer); -token_t* lexer_get_string(lexer_t* lexer); +extern token_t* lexer_get_comment(lexer_t* lexer); -token_t* lexer_get_comment(lexer_t* lexer); +extern token_t* lexer_get_id(lexer_t* lexer); -token_t* lexer_get_id(lexer_t* lexer); +extern token_t* lexer_next_token(lexer_t* lexer, token_t* token); -token_t* lexer_next_token(lexer_t* lexer, token_t* token); +extern char* lexer_get_c_as_string(lexer_t* lexer); -char* lexer_get_c_as_string(lexer_t* lexer); #endif |