Changeset 39e8406 in mainline for uspace/app/sbi/src/stree_t.h
- Timestamp:
- 2010-03-20T21:57:13Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b535aeb
- Parents:
- 6ba20a6b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/sbi/src/stree_t.h
r6ba20a6b r39e8406 82 82 /** Binary operation class */ 83 83 typedef enum { 84 bo_period,85 bo_slash,86 bo_sbr,87 84 bo_equal, 88 85 bo_notequal, … … 178 175 expr_class_t ec; 179 176 177 struct tdata_item *titem; 178 180 179 union { 181 180 stree_nameref_t *nameref; … … 379 378 } stree_proc_arg_t; 380 379 380 /** Procedure 381 * 382 * Procedure is the common term for a getter, setter or function body. 383 * A procedure can be invoked. However, the arguments are specified by 384 * the containing symbol. 385 */ 386 typedef struct stree_proc { 387 /** Symbol (function or property) containing the procedure */ 388 struct stree_symbol *outer_symbol; 389 390 /** Main block */ 391 stree_block_t *body; 392 } stree_proc_t; 393 381 394 /** Member function declaration */ 382 typedef struct {395 typedef struct stree_fun { 383 396 /** Function name */ 384 397 stree_ident_t *name; … … 396 409 stree_texpr_t *rtype; 397 410 398 /** Function body*/399 stree_ block_t *body;411 /** Function implementation */ 412 stree_proc_t *proc; 400 413 } stree_fun_t; 401 414 402 415 /** Member variable declaration */ 403 typedef struct {416 typedef struct stree_var { 404 417 stree_ident_t *name; 405 418 struct stree_symbol *symbol; … … 408 421 409 422 /** Member property declaration */ 410 typedef struct {423 typedef struct stree_prop { 411 424 stree_ident_t *name; 412 425 struct stree_symbol *symbol; 413 426 stree_texpr_t *type; 414 427 415 stree_block_t *getter_body; 416 stree_ident_t *setter_arg_name; 417 stree_block_t *setter_body; 428 stree_proc_t *getter; 429 430 stree_proc_t *setter; 431 stree_proc_arg_t *setter_arg; 418 432 419 433 /** Formal parameters (for indexed properties) */ … … 425 439 426 440 /** 427 * Fake identifier used with indexed properties. (Mostly for error messages.) 441 * Fake identifiers used with symbols that do not really have one. 442 * (Mostly for error messages.) 428 443 */ 429 444 #define INDEXER_IDENT "$indexer" … … 504 519 } symbol_class_t; 505 520 506 /** Symbol */ 521 /** Symbol 522 * 523 * A symbol is a common superclass of different program elements that 524 * allow us to refer to them, print their fully qualified names, etc. 525 */ 507 526 typedef struct stree_symbol { 508 527 symbol_class_t sc;
Note:
See TracChangeset
for help on using the changeset viewer.