compiler/include/tokenizer.h

28 lines
456 B
C
Raw Normal View History

2024-07-21 02:04:32 +12:00
#ifndef __TOKENIZER_H__
#define __TOKENIZER_H__
extern const char *TokenTypeText[];
2024-07-21 02:04:32 +12:00
typedef enum TokenType {
TOKEN_NONE,
TOKEN_LPAREN,
TOKEN_RPAREN,
TOKEN_NUMBER,
TOKEN_NAME,
TOKEN_STRING
2024-07-21 02:04:32 +12:00
} TokenType;
typedef struct Token {
char *value;
TokenType type;
2024-07-21 02:04:32 +12:00
} Token;
typedef sl_vec(Token) TokenVec;
2024-07-21 02:04:32 +12:00
void tokenize(char *input, TokenVec *tokens);
2024-07-22 15:46:25 +12:00
Token *token_create(char *value, TokenType type);
2024-07-22 15:46:25 +12:00
void tokens_print(TokenVec tokens);
2024-07-21 02:04:32 +12:00
#endif