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


Ignore:
Timestamp:
2010-02-27T17:59:14Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
94d484a
Parents:
09ababb7
Message:

Update SBI to rev. 75.

File:
1 edited

Legend:

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

    r09ababb7 rfa36f29  
    4848} stree_nameref_t;
    4949
     50/** Reference to currently active object. */
     51typedef struct {
     52} stree_self_ref_t;
     53
    5054typedef struct {
    5155        int value;
    5256} stree_lit_int_t;
    5357
     58/** Reference literal (there is only one: @c nil). */
     59typedef struct {
     60} stree_lit_ref_t;
     61
    5462typedef struct {
    5563        char *value;
     
    5866typedef enum {
    5967        ltc_int,
     68        ltc_ref,
    6069        ltc_string
    6170} literal_class_t;
     
    6675        union {
    6776                stree_lit_int_t lit_int;
     77                stree_lit_ref_t lit_ref;
    6878                stree_lit_string_t lit_string;
    6979        } u;
     
    107117} stree_unop_t;
    108118
     119/** New operation */
     120typedef struct {
     121        /** Type of object to construct. */
     122        struct stree_texpr *texpr;
     123} stree_new_t;
     124
    109125/** Member access operation */
    110126typedef struct {
     
    139155        ec_nameref,
    140156        ec_literal,
     157        ec_self_ref,
    141158        ec_binop,
    142159        ec_unop,
     160        ec_new,
    143161        ec_access,
    144162        ec_call,
     
    153171                stree_nameref_t *nameref;
    154172                stree_literal_t *literal;
     173                stree_self_ref_t *self_ref;
    155174                stree_binop_t *binop;
    156175                stree_unop_t *unop;
     176                stree_new_t *new_op;
    157177                stree_access_t *access;
    158178                stree_call_t *call;
     
    166186
    167187struct stree_texpr;
     188
     189/** Type literal class */
     190typedef enum {
     191        tlc_int,
     192        tlc_string
     193} tliteral_class_t;
     194
     195/** Type literal */
     196typedef struct {
     197        tliteral_class_t tlc;
     198} stree_tliteral_t;
    168199
    169200/** Type name reference */
     
    188219/** Type expression class */
    189220typedef enum {
     221        tc_tliteral,
    190222        tc_tnameref,
    191223        tc_taccess,
     
    198230
    199231        union {
     232                stree_tliteral_t *tliteral;
    200233                stree_tnameref_t *tnameref;
    201234                stree_taccess_t *taccess;
     
    241274typedef struct {
    242275} stree_raise_t;
     276
     277/** Return statement */
     278typedef struct {
     279        stree_expr_t *expr;
     280} stree_return_t;
    243281
    244282/** Expression statement */
     
    261299        st_for,
    262300        st_raise,
     301        st_return,
    263302        st_exps,
    264303        st_wef
     
    275314                stree_for_t *for_s;
    276315                stree_raise_t *raise_s;
     316                stree_return_t *return_s;
    277317                stree_exps_t *exp_s;
    278318                stree_wef_t *wef_s;
Note: See TracChangeset for help on using the changeset viewer.