26 lines
No EOL
456 B
C
26 lines
No EOL
456 B
C
#ifndef __TOKENIZER_H__
|
|
#define __TOKENIZER_H__
|
|
|
|
extern const char* TokenTypeText[];
|
|
|
|
typedef enum TokenType {
|
|
TOKEN_LPAREN,
|
|
TOKEN_RPAREN,
|
|
TOKEN_NUMBER,
|
|
TOKEN_NAME,
|
|
TOKEN_STRING
|
|
} TokenType;
|
|
|
|
typedef struct Token {
|
|
char* value;
|
|
TokenType type;
|
|
} Token;
|
|
|
|
typedef sl_vec(Token*) TokenVec;
|
|
|
|
void tokenize(char* input, TokenVec* tokens);
|
|
|
|
Token* token_create(char* value, TokenType type);
|
|
void tokens_print(TokenVec tokens);
|
|
|
|
#endif |