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_LPAREN, TK_RPAREN,
31 /* TK_INT'i tokenizer tanımlıyor. */
32};
33
35enum nt_id {
36 NT_STMT,
37 NT_EXPR, NT_EXPR_REST,
38 NT_TERM, NT_TERM_REST,
39 NT_ATOM,
40};
41
43/* Gramer tanımını tutacak struct'ı declare ediyoruz.*/
44extern struct rdesc_grammar_symbol production_rules
47
48
49void node_printer(FILE *out, struct rdesc_node node);
50
51
52#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.