Initial commit

This commit is contained in:
vegowotenks 2024-09-24 15:34:51 +02:00
parent 6fabc85fab
commit 13495d95e7
7 changed files with 233 additions and 0 deletions

32
src/tokenizer.h Normal file
View 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