express.h
/* [<][>][^][v][top][bottom][index][help] */
FUNCTIONS
This source file includes following functions.
1 #if !defined _EXPRESS_H_
2 #define _EXPRESS_H_
3
4 #include "lang_dep.h"
5 #include "name.h"
6
7 typedef struct exp_node_ exp_node;
8
9 typedef enum exp_type_ {
10 EXP_ISEQ,
11 EXP_ISNOTEQ,
12 EXP_ISLT,
13 EXP_ISGT,
14 EXP_ISLTEQ,
15 EXP_ISGTEQ,
16 EXP_ADD,
17 EXP_SUB,
18 EXP_OR,
19 EXP_MUL,
20 EXP_DIV,
21 EXP_MOD,
22 EXP_LSL,
23 EXP_ASR,
24 EXP_LSR,
25 EXP_AND,
26 EXP_NOT,
27 EXP_PLUS,
28 EXP_MINUS,
29 EXP_CONST,
30 EXP_VAR
31 } exp_type;
32
33 struct exp_node_ {
34 exp_type type;
35 union {
36 struct {
37 exp_node *_0;
38 exp_node *_1;
39 } _2;
40 struct {
41 exp_node *_0;
42 } _1;
43 zinc_word constval;
44 name_info *var;
45 } val;
46 };
47
48 #endif /* _EXPRESS_H_ */