Lines Matching defs:flags

445   BcVec flags;
476 #define BC_PARSE_TOP_FLAG_PTR(p) ((uint16_t*) bc_vec_top(&(p)->flags))
506 #define BC_PARSE_NO_EXEC(p) ((p)->flags.len != 1 || BC_PARSE_TOP_FLAG(p) != 0)
538 BcStatus bc_parse_expr_status(BcParse *p, uint8_t flags, BcParseNext next);
3017 bc_vec_npop(&p->flags, p->flags.len - 1);
3026 bc_vec_free(&p->flags);
3036 bc_vec_init(&p->flags, sizeof(uint16_t), NULL);
3037 bc_vec_push(&p->flags, &flag);
3051 static BcStatus bc_parse_expr_err(BcParse *p, uint8_t flags, BcParseNext next);
3068 uint16_t *fptr = NULL, flags = BC_PARSE_FLAG_ELSE;
3070 for (i = 0; i < p->flags.len && BC_PARSE_BLOCK_STMT(flags); ++i) {
3071 fptr = bc_vec_item_rev(&p->flags, i);
3072 flags = *fptr;
3073 if ((flags & BC_PARSE_FLAG_BRACE) && p->l.last != BC_LEX_RBRACE)
3077 good = ((flags & BC_PARSE_FLAG_IF) != 0);
3083 for (i = 0; !good && i < p->flags.len; ++i) {
3084 uint16_t *fptr = bc_vec_item_rev(&p->flags, i);
3179 static BcStatus bc_parse_params(BcParse *p, uint8_t flags) {
3190 flags = (flags & ~(BC_PARSE_PRINT | BC_PARSE_REL)) | BC_PARSE_ARRAY;
3191 s = bc_parse_expr_status(p, flags, bc_parse_next_param);
3208 static BcStatus bc_parse_call(BcParse *p, char *name, uint8_t flags) {
3216 s = bc_parse_params(p, flags);
3241 static BcStatus bc_parse_name(BcParse *p, BcInst *type, uint8_t flags) {
3257 if (!(flags & BC_PARSE_ARRAY)) {
3268 flags &= ~(BC_PARSE_PRINT | BC_PARSE_REL);
3269 s = bc_parse_expr_status(p, flags, bc_parse_next_elem);
3286 if (flags & BC_PARSE_NOCALL) {
3294 return bc_parse_call(p, name, flags);
3325 uint8_t flags, BcInst *prev)
3336 flags = (flags & ~(BC_PARSE_PRINT | BC_PARSE_REL));
3337 if (type == BC_LEX_KEY_LENGTH) flags |= BC_PARSE_ARRAY;
3339 s = bc_parse_expr_status(p, flags, bc_parse_next_rel);
3350 static BcStatus bc_parse_scale(BcParse *p, BcInst *type, uint8_t flags) {
3364 flags &= ~(BC_PARSE_PRINT | BC_PARSE_REL);
3369 s = bc_parse_expr_status(p, flags, bc_parse_next_rel);
3379 size_t *nexs, uint8_t flags)
3408 s = bc_parse_name(p, prev, flags | BC_PARSE_NOCALL);
3539 if (p->flags.len <= 1) return bc_parse_err(p, BC_ERROR_PARSE_TOKEN);
3554 size_t len = p->flags.len;
3574 bc_vec_pop(&p->flags);
3580 bc_vec_pop(&p->flags);
3582 else if (BC_PARSE_BRACE(p) && !BC_PARSE_IF(p)) bc_vec_pop(&p->flags);
3585 if (BC_PARSE_IF(p) && (len == p->flags.len || !BC_PARSE_BRACE(p))) {
3592 bc_vec_pop(&p->flags);
3603 } while (p->flags.len > 1 && !new_else && (!BC_PARSE_IF_END(p) || brace) &&
3606 if (!s && p->flags.len == 1 && brace)
3609 uint16_t flags = BC_PARSE_TOP_FLAG(p);
3610 if (!(flags & (BC_PARSE_FLAG_FUNC_INNER | BC_PARSE_FLAG_LOOP_INNER)) &&
3611 !(flags & (BC_PARSE_FLAG_IF | BC_PARSE_FLAG_ELSE)) &&
3612 !(flags & (BC_PARSE_FLAG_IF_END)))
3614 bc_vec_pop(&p->flags);
3621 static void bc_parse_startBody(BcParse *p, uint16_t flags) {
3622 flags |= (BC_PARSE_TOP_FLAG(p) & (BC_PARSE_FLAG_FUNC | BC_PARSE_FLAG_LOOP));
3623 flags |= BC_PARSE_FLAG_BODY;
3624 bc_vec_push(&p->flags, &flags);
3815 uint16_t flags;
3887 flags = BC_PARSE_FLAG_FUNC | BC_PARSE_FLAG_FUNC_INNER | BC_PARSE_FLAG_BODY;
3888 bc_parse_startBody(p, flags);
3986 size_t len = p->flags.len;
3988 if (!s && !brace && !BC_PARSE_BODY(p) && len <= p->flags.len)
3999 uint16_t flags;
4011 if (p->flags.len > 1 && !BC_PARSE_BRACE(p))
4033 len = p->flags.len;
4034 flags = BC_PARSE_TOP_FLAG(p);
4157 if (!s && len == p->flags.len && flags == BC_PARSE_TOP_FLAG(p)) {
4183 static BcStatus bc_parse_expr_err(BcParse *p, uint8_t flags, BcParseNext next) {
4210 s = bc_parse_incdec(p, &prev, &nexprs, flags);
4315 s = bc_parse_name(p, &prev, flags & ~BC_PARSE_NOCALL);
4360 s = bc_parse_builtin(p, t, flags, &prev);
4371 else if (flags & BC_PARSE_NOREAD)
4387 s = bc_parse_scale(p, &prev, flags);
4427 if (!(flags & BC_PARSE_REL) && nrelops) {
4431 else if ((flags & BC_PARSE_REL) && nrelops > 1) {
4436 if (flags & BC_PARSE_PRINT) {
4452 BcStatus bc_parse_expr_status(BcParse *p, uint8_t flags, BcParseNext next) {
4454 BcStatus s = bc_parse_expr_err(p, flags, next);
5686 uint16_t *flags;
5696 flags = BC_PARSE_TOP_FLAG_PTR(&BC_VM->prs);
5698 if (!is_stdin && BC_VM->prs.flags.len == 1 && *flags == BC_PARSE_FLAG_IF_END)