Changeset 37f527b in mainline for uspace/app/sbi/src/p_expr.c


Ignore:
Timestamp:
2010-03-26T21:55:23Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4204ad9
Parents:
b535aeb
Message:

Update SBI to rev. 144.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/sbi/src/p_expr.c

    rb535aeb r37f527b  
    4949static stree_expr_t *parse_pf_call(parse_t *parse, stree_expr_t *a);
    5050static stree_expr_t *parse_pf_index(parse_t *parse, stree_expr_t *a);
     51static stree_expr_t *parse_pf_as(parse_t *parse, stree_expr_t *a);
    5152static stree_expr_t *parse_primitive(parse_t *parse);
    5253static stree_expr_t *parse_nameref(parse_t *parse);
     
    206207
    207208        while (lcur_lc(parse) == lc_period || lcur_lc(parse) == lc_lparen ||
    208             lcur_lc(parse) == lc_lsbr) {
     209            lcur_lc(parse) == lc_lsbr || lcur_lc(parse) == lc_as) {
    209210
    210211                switch (lcur_lc(parse)) {
     
    218219                        tmp = parse_pf_index(parse, a);
    219220                        break;
     221                case lc_as:
     222                        tmp = parse_pf_as(parse, a);
     223                        break;
    220224                default:
    221225                        assert(b_false);
     
    316320}
    317321
     322/** Parse @c as operator. */
     323static stree_expr_t *parse_pf_as(parse_t *parse, stree_expr_t *a)
     324{
     325        stree_expr_t *expr;
     326        stree_texpr_t *texpr;
     327        stree_as_t *as_op;
     328
     329        lmatch(parse, lc_as);
     330        texpr = parse_texpr(parse);
     331
     332        as_op = stree_as_new();
     333        as_op->arg = a;
     334        as_op->dtype = texpr;
     335        expr = stree_expr_new(ec_as);
     336        expr->u.as_op = as_op;
     337
     338        return expr;
     339}
     340
    318341/** Parse primitive expression. */
    319342static stree_expr_t *parse_primitive(parse_t *parse)
Note: See TracChangeset for help on using the changeset viewer.