diff options
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 |