-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathspl.structs
executable file
·138 lines (119 loc) · 2.22 KB
/
spl.structs
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
compound_statement:
sm_list decls;
sm_list statements;
declaration:
sm_list type_spec;
sm_ref sm_complex_type;
int static_var;
int param_num;
char *id;
sm_ref init_value;
srcpos lx_srcpos;
int is_subroutine;
int is_typedef;
int addr_taken;
int is_extern;
sm_list params;
int cg_oprnd;
int cg_type;
int closure_id;
void *cg_address;
label_statement:
char *name;
sm_ref statement;
return_statement:
sm_ref expression;
int cg_func_type;
srcpos lx_srcpos;
selection_statement:
sm_ref conditional;
sm_ref then_part;
sm_ref else_part;
srcpos lx_srcpos;
iteration_statement:
sm_ref init_expr;
sm_ref test_expr;
sm_ref iter_expr;
sm_ref statement;
srcpos lx_srcpos;
expression_statement:
sm_ref expression;
assignment_expression:
sm_ref left;
sm_ref right;
srcpos lx_srcpos;
int cg_type;
operator:
sm_ref left;
sm_ref right;
srcpos lx_srcpos;
int operation_type;
int result_type;
identifier:
char *id;
srcpos lx_srcpos;
sm_ref sm_declaration;
int cg_type;
constant:
int token;
char *const_val;
srcpos lx_srcpos;
type_specifier:
int token;
srcpos lx_srcpos;
sm_ref created_type_decl;
struct_type_decl:
srcpos lx_srcpos;
char *id;
sm_list fields;
int cg_size;
array_type_decl:
srcpos lx_srcpos;
sm_ref size_expr;
sm_ref element_ref;
int static_var;
sm_list type_spec;
int cg_static_size;
sm_ref sm_dynamic_size;
int cg_element_type;
sm_ref sm_complex_element_type;
int cg_element_size;
reference_type_decl:
srcpos lx_srcpos;
char *name;
sm_list type_spec;
int cg_referenced_type;
sm_ref sm_complex_referenced_type;
int cg_referenced_size;
int kernel_ref;
field:
char *name;
char *string_type;
sm_list type_spec;
sm_ref sm_complex_type;
int cg_size;
int cg_offset;
int cg_type;
field_ref:
srcpos lx_srcpos;
sm_ref struct_ref;
char *lx_field;
sm_ref sm_field_ref;
subroutine_call:
srcpos lx_srcpos;
sm_ref sm_func_ref;
sm_list arguments;
element_ref:
srcpos lx_srcpos;
sm_ref array_ref;
sm_ref sm_complex_element_type;
sm_ref sm_containing_structure_ref;
int cg_element_type;
int this_index_dimension;
sm_ref expression;
cast:
srcpos lx_srcpos;
sm_list type_spec;
int cg_type;
sm_ref expression;
sm_ref sm_complex_type;