Changeset a66ea217 in mainline for uspace/app/bithenge/script.c
- Timestamp:
- 2012-08-08T00:52:22Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d8bd2ec
- Parents:
- ad5c8a48
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/bithenge/script.c
rad5c8a48 ra66ea217 64 64 TOKEN_FALSE, 65 65 TOKEN_IF, 66 TOKEN_IN, 66 67 TOKEN_REPEAT, 67 68 TOKEN_STRUCT, … … 225 226 } else if (!str_cmp(value, "if")) { 226 227 state->token = TOKEN_IF; 228 free(value); 229 } else if (!str_cmp(value, "in")) { 230 state->token = TOKEN_IN; 227 231 free(value); 228 232 } else if (!str_cmp(value, "repeat")) { … … 434 438 435 439 return expr; 440 } else if (state->token == TOKEN_IN) { 441 next_token(state); 442 bithenge_expression_t *expr; 443 rc = bithenge_in_node_expression(&expr); 444 if (rc != EOK) { 445 error_errno(state, rc); 446 return NULL; 447 } 448 return expr; 436 449 } else if (state->token == TOKEN_INTEGER) { 437 450 bithenge_int_t val = state->token_int; … … 621 634 622 635 bithenge_transform_t *xform; 623 rc = bithenge_ expression_transform(&xform, expr);636 rc = bithenge_inputless_transform(&xform, expr); 624 637 if (rc != EOK) { 625 638 error_errno(state, rc); … … 867 880 static bithenge_transform_t *parse_transform_no_compose(state_t *state) 868 881 { 869 if (state->token == TOKEN_DO) { 882 if (state->token == '(') { 883 next_token(state); 884 bithenge_expression_t *expr = parse_expression(state); 885 expect(state, ')'); 886 if (state->error != EOK) { 887 bithenge_expression_dec_ref(expr); 888 return NULL; 889 } 890 891 bithenge_transform_t *xform; 892 int rc = bithenge_expression_transform(&xform, expr); 893 if (rc != EOK) { 894 error_errno(state, rc); 895 return NULL; 896 } 897 return xform; 898 } else if (state->token == TOKEN_DO) { 870 899 return parse_do_while(state); 871 900 } else if (state->token == TOKEN_IDENTIFIER) {
Note:
See TracChangeset
for help on using the changeset viewer.