return t_int;
}
-OP_CHECK(opck_unary_meta2_uniq) {
- const Exp_Unary* unary = (Exp_Unary*)data;
- CHECK_OO(opck_unary_meta2(env, data, mut))
- if(unary->exp->next)
- ERR_N(exp_self(unary)->pos,
- _("'%s' must be applied to a unique expression"), s_name(unary->op))
- return t_int;
-}
-
OP_CHECK(opck_unary) {
const Exp_Unary* unary = (Exp_Unary*)data;
if(unary->exp->meta != ae_meta_var)
GWI_BB(gwi_oper_ini(gwi, NULL, "int", "int"))
GWI_BB(gwi_oper_add(gwi, opck_unary_meta))
GWI_BB(gwi_oper_end(gwi, "-", int_negate))
- GWI_BB(gwi_oper_add(gwi, opck_unary_meta2_uniq))
GWI_BB(gwi_oper_end(gwi, "!", IntNot))
CHECK_OP("++", unary, pre_inc)
CHECK_OP("--", unary, pre_dec)
GWI_BB(gwi_oper_ini(gwi, NULL, "float", "float"))
CHECK_FF("-", unary_meta, negate)
GWI_BB(gwi_oper_ini(gwi, NULL, "float", "int"))
- CHECK_FF("!", unary_meta2_uniq, not)
GWI_BB(gwi_oper_ini(gwi, NULL, "time", "int"))
- CHECK_FF("!", unary_meta2_uniq, not)
GWI_BB(gwi_oper_ini(gwi, NULL, "dur", "int"))
- CHECK_FF("!", unary_meta2_uniq, not)
GWI_BB(gwi_oper_ini(gwi, "int", "dur", "dur"))
GWI_BB(gwi_oper_end(gwi, "::", int_float_mul))
GWI_BB(gwi_oper_ini(gwi, "float", "dur", "dur"))