Ignore:
File:
1 edited

Legend:

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

    rc5cb943d r051b3db8  
    11/*
    2  * Copyright (c) 2010 Jiri Svoboda
     2 * Copyright (c) 2011 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    364364} texpr_class_t;
    365365
    366 /** Arithmetic expression */
     366/** Type expression */
    367367typedef struct stree_texpr {
    368368        texpr_class_t tc;
     
    394394        stree_ident_t *name;
    395395        stree_texpr_t *type;
     396
     397        /** Type of this variable or @c NULL if not typed yet */
     398        struct tdata_item *titem;
    396399} stree_vdecl_t;
    397400
     
    401404        stree_texpr_t *etype;
    402405        stree_block_t *block;
     406
     407        /** Evaluated etype or @c NULL if not typed yet */
     408        struct tdata_item *titem;
    403409} stree_except_t;
    404410
     
    418424} stree_if_t;
    419425
     426/** @c when clause */
     427typedef struct {
     428        /** List of expressions -- cases -- for this clause */
     429        list_t exprs; /* of stree_expr_t */
     430        stree_block_t *block;
     431} stree_when_t;
     432
     433/** Switch statement */
     434typedef struct {
     435        /** Switch expression */
     436        stree_expr_t *expr;
     437
     438        /** When clauses */
     439        list_t when_clauses; /* of stree_when_t */
     440
     441        /** Else block */
     442        stree_block_t *else_block;
     443} stree_switch_t;
     444
    420445/** While statement */
    421446typedef struct {
     
    448473} stree_exps_t;
    449474
    450 /** With-try-except-finally statement (WEF) */
     475/** With-try-except-finally (WEF) statement */
    451476typedef struct {
    452477        stree_block_t *with_block;
     
    459484        st_vdecl,
    460485        st_if,
     486        st_switch,
    461487        st_while,
    462488        st_for,
     
    475501                stree_vdecl_t *vdecl_s;
    476502                stree_if_t *if_s;
     503                stree_switch_t *switch_s;
    477504                stree_while_t *while_s;
    478505                stree_for_t *for_s;
     
    510537/** Function signature.
    511538 *
    512  * Foormal parameters and return type. This is common to function and delegate
     539 * Formal parameters and return type. This is common to function and delegate
    513540 * delcarations.
    514541 */
     
    788815        } u;
    789816
    790         /** Containing CSI (for all symbols) */
     817        /** Containing CSI */
    791818        stree_csi_t *outer_csi;
    792819
    793         /** Containing block (for block-level symbols) */
    794         stree_block_t *outer_block;
    795 
    796         /** Symbol attributes. */
     820        /** Symbol attributes */
    797821        list_t attr; /* of stree_symbol_attr_t */
    798822} stree_symbol_t;
Note: See TracChangeset for help on using the changeset viewer.