Derleyici Tasarımı
Yüklüyor...
Arıyor...
Eşleşme Yok
include
recursive-parser.h
Bu dosyanın dokümantasyonuna git.
1
6
#ifndef PARSER_H
7
#define PARSER_H
8
9
10
#include "
lexer.h
"
11
#include "
map.h
"
12
#include "
tokenizer.h
"
13
14
#include <stddef.h>
15
16
19
struct
parser
{
21
struct
tokenizer
tokenizer
;
22
24
struct
map
variables
;
25
27
struct
token
token
;
29
struct
lexer
lexer
;
30
};
32
35
enum
token_id
{
36
TK_PRINT,
37
TK_LPAREN, TK_RPAREN,
38
TK_PLUS, TK_MINUS,
39
TK_STAR, TK_SLASH,
40
TK_EQ,
41
TK_SEMI,
42
};
44
45
48
void
parser_init
(
struct
parser
*
parser
);
49
51
void
parser_eval
(
struct
parser
*
parser
,
const
char
*text);
53
55
void
parser_destroy
(
struct
parser
*
parser
);
56
57
58
#endif
lexer.h
Lexer
map.h
Basit hashmap.
parser_destroy
void parser_destroy(struct parser *parser)
[Parser'ın işlevleri]
parser_eval
void parser_eval(struct parser *parser, const char *text)
Metin girdisini evaluate eder.
token_id
token_id
[Parser tanımı]
Definition
recursive-parser.h:35
parser_init
void parser_init(struct parser *parser)
[Token ID'leri]
lexer
lexer.
Definition
lexer.h:14
map
map.
Definition
map.h:18
parser
Parser.
Definition
recursive-parser.h:19
parser::variables
struct map variables
Tanımlı değişkenler.
Definition
recursive-parser.h:24
token
Token.
Definition
tokenizer.h:61
tokenizer
tokenizer.
Definition
tokenizer.h:33
tokenizer.h
Tokenizer
Oluşturan
1.9.8