#ifndef LEXER_H #define LEXER_H #include "../libft/includes/libft.h" typedef enum { TOKEN_VARIABLE, // x, y, etc. TOKEN_NUMBER_INT, // int TOKEN_NUMBER_DOUBLE, // double TOKEN_POWER, // ^ or ** TOKEN_PLUS, // + TOKEN_MINUS, // - TOKEN_MULTIPLICATION, // * TOKEN_DIVISION, // / TOKEN_END // null (end of input) } token_type; typedef struct { token_type type; union { char value_char; int value_int; double value_double; }; } token; void lexerize(const char *input, token *tokens); #endif