From 266d3d6af1ba8d338bb8b9ad09431483276dae46 Mon Sep 17 00:00:00 2001 From: c+1 Date: Wed, 10 May 2023 00:50:10 -0400 Subject: halk. --- src/include/lexer.h | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/include/lexer.h') 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 -- cgit v1.2.3