-
Notifications
You must be signed in to change notification settings - Fork 1
/
interpreter.h
80 lines (57 loc) · 2.11 KB
/
interpreter.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#ifndef MYYMT_INTERPRETER_H
#define MYYMT_INTERPRETER_H
#include "constant.h"
#include "utility.h"
#include <cstring>
namespace sjtu {
/**
* interpreter class is an organizer that reads in command, and assign command to different modules
* to process. */
class interpreter {
public:
interpreter() {}
command parser() {
char cmd[COMMAND_SIZE];
// read command, terminate when space, newline, eof encountered.
reader(cmd);
// interpret different command.
if(strcmp(cmd, "register") == 0)
return REGISTER;
else if(strcmp(cmd, "query_profile") == 0)
return QUERY_PROFILE;
else if(strcmp(cmd, "login") == 0)
return LOGIN;
else if(strcmp(cmd, "modify_profile") == 0)
return MODIFY_PROFILE;
else if(strcmp(cmd, "modify_privilege") == 0)
return MODIFY_PRIVILEGE;
else if(strcmp(cmd, "add_train") == 0)
return ADD_TRAIN;
else if(strcmp(cmd, "query_train") == 0)
return QUERY_TRAIN;
else if(strcmp(cmd, "delete_train") == 0)
return DELETE_TRAIN;
else if(strcmp(cmd, "modify_train") == 0)
return MODIFY_TRAIN;
else if(strcmp(cmd, "sale_train") == 0)
return SALE_TRAIN;
else if(strcmp(cmd, "buy_ticket") == 0)
return BUY_TICKET;
else if(strcmp(cmd, "query_order") == 0)
return QUERY_ORDER;
else if(strcmp(cmd, "query_ticket") == 0)
return QUERY_TICKET;
else if(strcmp(cmd, "refund_ticket") == 0)
return REFUND_TICKET;
else if(strcmp(cmd, "query_transfer") == 0)
return QUERY_TRANSFER;
else if(strcmp(cmd, "clean") == 0)
return CLEAN;
else if(strcmp(cmd, "exit") == 0)
return EXIT;
else
return NULLCOMMAND;
}
};
};
#endif //MYYMT_INTERPRETER_H