|
Derleyici Tasarımı
|
Bu dosyanın kaynak koduna git.
Makrolar | |
| #define | BC_NT_COUNT 22 |
| [Gramer declaration] | |
| #define | BC_MAX_ALT_COUNT 13 |
| #define | BC_MAX_ALT_SIZE 10 |
Enümerasyonlar | |
| enum | bc_tk_id { TK_PLUS , TK_MINUS , TK_STAR , TK_SLASH , TK_PERCENT , TK_CARET , TK_PLUSEQ , TK_MINUSEQ , TK_STAREQ , TK_SLASHEQ , TK_PERCENTEQ , TK_CARETEQ , TK_EQ , TK_PLUSPLUS , TK_MINUSMINUS , TK_LT , TK_GT , TK_EQEQ , TK_EXCLEQ , TK_LTEQ , TK_GTEQ , TK_LPAREN , TK_RPAREN , TK_LCURLY , TK_RCURLY , TK_SEMI , TK_COMMA , TK_DEFINE , TK_BREAK , TK_QUIT , TK_PRINT , TK_RETURN , TK_FOR , TK_IF , TK_WHILE , TK_CST } |
| Token ID. Ayrıntılar... | |
| enum | bc_nt_id { NT_STMT , NT_STMTS , NT_ADD_OP , NT_MUL_OP , NT_ASGN_OP , NT_REL_OP , NT_UNARY_OP , NT_INCR_DECR_OP , NT_OPT_INCR_DECR_OP , NT_ADD_EXPR , NT_ADD_EXPR_REST , NT_MUL_EXPR , NT_MUL_EXPR_REST , NT_EXP_EXPR , NT_EXP_EXPR_REST , NT_FACTOR , NT_ATOM , NT_ASGN_EXPR , NT_REL_EXPR , NT_REL_EXPR_OPT_REL , NT_OPT_EXPR , NT_EXPR } |
| Nonterminal ID. Ayrıntılar... | |
Fonksiyonlar | |
| void | bc_tokenizer_init (struct tokenizer *tokenizer) |
| [Gramer declaration] | |
Değişkenler | |
| const char * | bc_tk_names [] |
| const char * | bc_nt_names [] |
| struct rdesc_grammar_symbol | bc_production_rules [BC_NT_COUNT][BC_MAX_ALT_COUNT+1][BC_MAX_ALT_SIZE+1] |
| [Token/nonterminal ID] | |
bc-grammar.h dosyasında tanımlanmıştır.
| #define BC_MAX_ALT_COUNT 13 |
_
bc-grammar.h dosyasının 18 numaralı satırında tanımlanmıştır.
| #define BC_MAX_ALT_SIZE 10 |
_
bc-grammar.h dosyasının 20 numaralı satırında tanımlanmıştır.
| #define BC_NT_COUNT 22 |
| enum bc_nt_id |
Nonterminal ID.
bc-grammar.h dosyasının 36 numaralı satırında tanımlanmıştır.
| enum bc_tk_id |
| void bc_tokenizer_init | ( | struct tokenizer * | tokenizer | ) |
[Gramer declaration]
Tokenizer oluşturur ve pucntuation'larla keyword'leri ekler.
| const char* bc_nt_names[] |
_
bc-grammar.h dosyasının 73 numaralı satırında tanımlanmıştır.
|
extern |
[Token/nonterminal ID]
_
| const char* bc_tk_names[] |
_
bc-grammar.h dosyasının 56 numaralı satırında tanımlanmıştır.