22static const size_t TK_INT = INT16_MAX - 2;
79 const char *keyword,
size_t id);
83 const char *punctuation,
size_t id);
91 const char *ident,
size_t ident_len);
size_t id
Token tipini ifade eden özgün ID.
struct lexeme current_lexeme
İşlenmekte olan lexeme.
size_t last_id
Identifier'lara eşsiz ID'ler ataybilmek için yardımcı sayaç.
struct map punctuations
Yazılım dilindeki punctuation'lar (sembol ve operatörler).
struct map ident_map
Identifier'a karşılık atanan sayısal ID.
struct map keywords
Yazılım dilindeki keyword'ler.
void tokenizer_destroy(struct tokenizer *tokenizer)
Tokenizerın tahsis ettiği belleği temizler.
void tokenizer_add_keyword(struct tokenizer *tokenizer, const char *keyword, size_t id)
Tokenizera bir keyword kaydeder.
size_t tokenizer_ident_id2(struct tokenizer *tokenizer, const char *ident, size_t ident_len)
Identifier'a ait ID'yi döner.
void tokenizer_add_punctuation(struct tokenizer *tokenizer, const char *punctuation, size_t id)
Tokenizera bir punctuation kaydeder..
static const size_t TK_FLOAT
Ondalık sayı token ID'si.
static const size_t TK_NOTOKEN
tokenizer_feed() ile verilen lexemenin bittiğini belirtir.
size_t tokenizer_ident_id(struct tokenizer *tokenizer, const char *ident)
Identifier'a ait ID'yi döner.
void tokenizer_init(struct tokenizer *tokenizer)
[Token tanımı]
static const size_t TK_IDENT
Identifier token ID'si.
static const size_t TK_INT
Tam sayı token ID'si.
void tokenizer_feed(struct tokenizer *tokenizer, struct lexeme lexeme)
Lexemeyi tokenizere gönderir.
struct token tokenizer_next(struct tokenizer *tokenzier)
Sıradaki tokeni çek.
size_t ident_id
TK_IDENT tipi için seminfo.
intmax_t num_int
TK_INT tipi için seminfo.
double num_float
TK_FLOAT tipi için seminfo.