|
Derleyici Tasarımı
|
Bu dosyanın kaynak koduna git.
Sınıflar | |
| struct | tokenizer |
| tokenizer. Ayrıntılar... | |
| union | seminfo |
| [Tokenizer tanımı] Ayrıntılar... | |
| struct | token |
| Token. Ayrıntılar... | |
Fonksiyonlar | |
| void | tokenizer_init (struct tokenizer *tokenizer) |
| [Token tanımı] | |
| 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. | |
| void | tokenizer_add_punctuation (struct tokenizer *tokenizer, const char *punctuation, size_t id) |
| Tokenizera bir punctuation kaydeder.. | |
| size_t | tokenizer_ident_id2 (struct tokenizer *tokenizer, const char *ident, size_t ident_len) |
| Identifier'a ait ID'yi döner. | |
| size_t | tokenizer_ident_id (struct tokenizer *tokenizer, const char *ident) |
| Identifier'a ait ID'yi döner. | |
| void | tokenizer_feed (struct tokenizer *tokenizer, struct lexeme lexeme) |
| Lexemeyi tokenizere gönderir. | |
| struct token | tokenizer_next (struct tokenizer *tokenzier) |
| Sıradaki tokeni çek. | |
Değişkenler | |
| static const size_t | TK_NOTOKEN = INT16_MAX - 1 |
| tokenizer_feed() ile verilen lexemenin bittiğini belirtir. | |
| static const size_t | TK_INT = INT16_MAX - 2 |
| Tam sayı token ID'si. | |
| static const size_t | TK_FLOAT = INT16_MAX - 3 |
| Ondalık sayı token ID'si. | |
| static const size_t | TK_IDENT = INT16_MAX - 4 |
| Identifier token ID'si. | |
tokenizer.h dosyasında tanımlanmıştır.
Lexemeyi tokenizere gönderir.
[Tokenizerın esas işlevleri]
| size_t tokenizer_ident_id2 | ( | struct tokenizer * | tokenizer, |
| const char * | ident, | ||
| size_t | ident_len | ||
| ) |
Identifier'a ait ID'yi döner.
Hâlihazırda bir ID atanmamışsa identifier için yeni bir ID üretir.
| void tokenizer_init | ( | struct tokenizer * | tokenizer | ) |
[Token tanımı]
Yeni bir tokenizer oluşturur.
|
static |
Ondalık sayı token ID'si.
tokenizer.h dosyasının 25 numaralı satırında tanımlanmıştır.
|
static |
Identifier token ID'si.
tokenizer.h dosyasının 28 numaralı satırında tanımlanmıştır.
|
static |
Tam sayı token ID'si.
tokenizer.h dosyasının 22 numaralı satırında tanımlanmıştır.
|
static |
tokenizer_feed() ile verilen lexemenin bittiğini belirtir.
tokenizer.h dosyasının 19 numaralı satırında tanımlanmıştır.