Initial commit
This commit is contained in:
parent
6fabc85fab
commit
13495d95e7
7 changed files with 233 additions and 0 deletions
32
src/tokenizer.h
Normal file
32
src/tokenizer.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
#ifndef FLUP_TOKENIZER_H
|
||||
#define FLUP_TOKENIZER_H
|
||||
|
||||
#include "../include/utilitiec/StringView/StringView.h"
|
||||
#include <stdint.h>
|
||||
|
||||
enum TokenType {
|
||||
TOKENTYPE_NONE,
|
||||
TOKENTYPE_INTEGER,
|
||||
TOKENTYPE_DOUBLE,
|
||||
TOKENTYPE_IDENTIFIER,
|
||||
TOKENTYPE_ERROR,
|
||||
};
|
||||
|
||||
union TokenContent {
|
||||
StringView identifier;
|
||||
StringView error;
|
||||
int64_t integer;
|
||||
double decimal;
|
||||
};
|
||||
|
||||
typedef struct Token_s {
|
||||
enum TokenType type;
|
||||
union TokenContent get;
|
||||
} Token;
|
||||
|
||||
|
||||
#define TOKEN_NONE ((Token) {.type = TOKENTYPE_NONE, .get = {.error = STRINGVIEW_NONE } } )
|
||||
|
||||
Token Tokenizer_NextToken(StringView* source);
|
||||
|
||||
#endif //header guard
|
Loading…
Add table
Add a link
Reference in a new issue