37 lines
733 B
C
37 lines
733 B
C
#ifndef COMPUTORV1_H
|
|
#define COMPUTORV1_H
|
|
|
|
#include "../libft/includes/libft.h"
|
|
|
|
typedef enum
|
|
{
|
|
ERROR_BASIC, // 0
|
|
ERROR_UNKNOWN_TOKEN, // 1
|
|
} program_error;
|
|
|
|
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)
|
|
} TokenType;
|
|
|
|
typedef struct
|
|
{
|
|
TokenType type;
|
|
union
|
|
{
|
|
double num_value; // For NUMBER
|
|
char var_value; // For VARIABLE (single char, e.g., 'x')
|
|
};
|
|
} t_token;
|
|
|
|
#define MAX_TOKENS 100
|
|
t_token tokens[MAX_TOKENS];
|
|
|
|
#endif |