Derleyici Tasarımı
Yüklüyor...
Arıyor...
Eşleşme Yok
rdesc-parser.h
Bu dosyanın dokümantasyonuna git.
1
6#ifndef RDESC_PARSER_H
7#define RDESC_PARSER_H
8
9
10#include <stdio.h>
11
13#include <rdesc/grammar.h>
14
16/* toplam nonterminal sayısı */
17#define NT_COUNT 6
19/* bir nonterminal'deki maksimum alternatif sayısı */
20#define MAX_ALT_COUNT 2
22/* bir alternatifdeki maksimum sembol sayısı */
23#define MAX_ALT_SIZE 3
24
26enum tk_id {
27 TK_MINUS,
28 TK_STAR,
29 TK_SEMI,
30 /* TK_INT'i tokenizer tanımlıyor. */
31};
32
34enum nt_id {
35 NT_STMT,
36 NT_EXPR, NT_EXPR_REST,
37 NT_TERM, NT_TERM_REST,
38 NT_ATOM,
39};
40
42/* Gramer tanımını tutacak struct'ı declare ediyoruz.*/
43extern struct rdesc_grammar_symbol production_rules
46
47
48void node_printer(FILE *out, struct rdesc_node node);
49
50
51#endif
struct rdesc_grammar_symbol production_rules[NT_COUNT][MAX_ALT_COUNT+1][MAX_ALT_SIZE+1]
#define MAX_ALT_SIZE
tk_id
Token ID.
#define NT_COUNT
[Gramer declaration]
#define MAX_ALT_COUNT
void node_printer(FILE *out, struct rdesc_node node)
[Gramer declaration]
nt_id
Nonterminal ID.