Changeset fa36f29 in mainline for uspace/app/sbi/src/stree_t.h
- Timestamp:
- 2010-02-27T17:59:14Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 94d484a
- Parents:
- 09ababb7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/sbi/src/stree_t.h
r09ababb7 rfa36f29 48 48 } stree_nameref_t; 49 49 50 /** Reference to currently active object. */ 51 typedef struct { 52 } stree_self_ref_t; 53 50 54 typedef struct { 51 55 int value; 52 56 } stree_lit_int_t; 53 57 58 /** Reference literal (there is only one: @c nil). */ 59 typedef struct { 60 } stree_lit_ref_t; 61 54 62 typedef struct { 55 63 char *value; … … 58 66 typedef enum { 59 67 ltc_int, 68 ltc_ref, 60 69 ltc_string 61 70 } literal_class_t; … … 66 75 union { 67 76 stree_lit_int_t lit_int; 77 stree_lit_ref_t lit_ref; 68 78 stree_lit_string_t lit_string; 69 79 } u; … … 107 117 } stree_unop_t; 108 118 119 /** New operation */ 120 typedef struct { 121 /** Type of object to construct. */ 122 struct stree_texpr *texpr; 123 } stree_new_t; 124 109 125 /** Member access operation */ 110 126 typedef struct { … … 139 155 ec_nameref, 140 156 ec_literal, 157 ec_self_ref, 141 158 ec_binop, 142 159 ec_unop, 160 ec_new, 143 161 ec_access, 144 162 ec_call, … … 153 171 stree_nameref_t *nameref; 154 172 stree_literal_t *literal; 173 stree_self_ref_t *self_ref; 155 174 stree_binop_t *binop; 156 175 stree_unop_t *unop; 176 stree_new_t *new_op; 157 177 stree_access_t *access; 158 178 stree_call_t *call; … … 166 186 167 187 struct stree_texpr; 188 189 /** Type literal class */ 190 typedef enum { 191 tlc_int, 192 tlc_string 193 } tliteral_class_t; 194 195 /** Type literal */ 196 typedef struct { 197 tliteral_class_t tlc; 198 } stree_tliteral_t; 168 199 169 200 /** Type name reference */ … … 188 219 /** Type expression class */ 189 220 typedef enum { 221 tc_tliteral, 190 222 tc_tnameref, 191 223 tc_taccess, … … 198 230 199 231 union { 232 stree_tliteral_t *tliteral; 200 233 stree_tnameref_t *tnameref; 201 234 stree_taccess_t *taccess; … … 241 274 typedef struct { 242 275 } stree_raise_t; 276 277 /** Return statement */ 278 typedef struct { 279 stree_expr_t *expr; 280 } stree_return_t; 243 281 244 282 /** Expression statement */ … … 261 299 st_for, 262 300 st_raise, 301 st_return, 263 302 st_exps, 264 303 st_wef … … 275 314 stree_for_t *for_s; 276 315 stree_raise_t *raise_s; 316 stree_return_t *return_s; 277 317 stree_exps_t *exp_s; 278 318 stree_wef_t *wef_s;
Note:
See TracChangeset
for help on using the changeset viewer.