Changeset 39e8406 in mainline for uspace/app/sbi/src/stree_t.h


Ignore:
Timestamp:
2010-03-20T21:57:13Z (15 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b535aeb
Parents:
6ba20a6b
Message:

Update SBI to rev. 128.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/sbi/src/stree_t.h

    r6ba20a6b r39e8406  
    8282/** Binary operation class */
    8383typedef enum {
    84         bo_period,
    85         bo_slash,
    86         bo_sbr,
    8784        bo_equal,
    8885        bo_notequal,
     
    178175        expr_class_t ec;
    179176
     177        struct tdata_item *titem;
     178
    180179        union {
    181180                stree_nameref_t *nameref;
     
    379378} stree_proc_arg_t;
    380379
     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 */
     386typedef 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
    381394/** Member function declaration */
    382 typedef struct {
     395typedef struct stree_fun {
    383396        /** Function name */
    384397        stree_ident_t *name;
     
    396409        stree_texpr_t *rtype;
    397410
    398         /** Function body */
    399         stree_block_t *body;
     411        /** Function implementation */
     412        stree_proc_t *proc;
    400413} stree_fun_t;
    401414
    402415/** Member variable declaration */
    403 typedef struct {
     416typedef struct stree_var {
    404417        stree_ident_t *name;
    405418        struct stree_symbol *symbol;
     
    408421
    409422/** Member property declaration */
    410 typedef struct {
     423typedef struct stree_prop {
    411424        stree_ident_t *name;
    412425        struct stree_symbol *symbol;
    413426        stree_texpr_t *type;
    414427
    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;
    418432
    419433        /** Formal parameters (for indexed properties) */
     
    425439
    426440/**
    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.)
    428443 */
    429444#define INDEXER_IDENT "$indexer"
     
    504519} symbol_class_t;
    505520
    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 */
    507526typedef struct stree_symbol {
    508527        symbol_class_t sc;
Note: See TracChangeset for help on using the changeset viewer.