#ifndef LEXER_H #define LEXER_H #include "../libft/includes/libft.h" typedef enum { TOKEN_PLUS, // + TOKEN_MINUS, // - TOKEN_VARIABLE, // x, y, etc. TOKEN_NUMBER, // int or double TOKEN_POWER, // ^ or ** TOKEN_MULTIPLICATION, // * TOKEN_DIVISION, // / TOKEN_END // null (end of input) } token_type; typedef struct { token_type type; union { double num_value; // For NUMBER char var_value; // For VARIABLE (single char, e.g., 'x') }; } token; #define MAX_TOKENS 100 int lexerize(const char *input, token tokens[MAX_TOKENS]); #endif