Changeset fa36f29 in mainline for uspace/app/sbi/src/p_type.c


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/p_type.c

    r09ababb7 rfa36f29  
    4242static stree_texpr_t *parse_tpostfix(parse_t *parse);
    4343static stree_texpr_t *parse_tprimitive(parse_t *parse);
     44static stree_tliteral_t *parse_tliteral(parse_t *parse);
    4445static stree_tnameref_t *parse_tnameref(parse_t *parse);
    4546
     
    104105        stree_texpr_t *texpr;
    105106
    106         lcheck(parse, lc_ident);
    107         texpr = stree_texpr_new(tc_tnameref);
    108         texpr->u.tnameref = parse_tnameref(parse);
     107        switch (lcur_lc(parse)) {
     108        case lc_ident:
     109                texpr = stree_texpr_new(tc_tnameref);
     110                texpr->u.tnameref = parse_tnameref(parse);
     111                break;
     112        case lc_int:
     113        case lc_string:
     114                texpr = stree_texpr_new(tc_tliteral);
     115                texpr->u.tliteral = parse_tliteral(parse);
     116                break;
     117        default:
     118                lunexpected_error(parse);
     119                exit(1);
     120        }
    109121
    110122        return texpr;
     123}
     124
     125/** Parse type literal. */
     126static stree_tliteral_t *parse_tliteral(parse_t *parse)
     127{
     128        stree_tliteral_t *tliteral;
     129
     130        tliteral = stree_tliteral_new();
     131
     132        switch (lcur_lc(parse)) {
     133        case lc_int:
     134                tliteral->tlc = tlc_int;
     135                break;
     136        case lc_string:
     137                tliteral->tlc = tlc_string;
     138                break;
     139        default:
     140                assert(b_false);
     141        }
     142
     143        lskip(parse);
     144
     145        return tliteral;
    111146}
    112147
Note: See TracChangeset for help on using the changeset viewer.