support db_ref_e:

This commit is contained in:
Vitor Santos Costa 2010-03-06 22:43:21 +00:00
parent 9083dc5633
commit ba091eb2f9
4 changed files with 80 additions and 78 deletions

View File

@ -240,7 +240,7 @@ eval1(Int fi, Term t) {
RBIG(&new); RBIG(&new);
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_unot: case op_unot:
@ -259,7 +259,7 @@ eval1(Int fi, Term t) {
RBIG(&new); RBIG(&new);
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_exp: case op_exp:
@ -480,7 +480,7 @@ eval1(Int fi, Term t) {
} }
break; break;
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
#if HAVE_ISNAN #if HAVE_ISNAN
@ -518,7 +518,7 @@ eval1(Int fi, Term t) {
} }
break; break;
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
#if HAVE_ISNAN #if HAVE_ISNAN
@ -555,7 +555,7 @@ eval1(Int fi, Term t) {
} }
return t; return t;
break; break;
case db_ref_e: default:
#endif #endif
RERROR(); RERROR();
} }
@ -591,7 +591,7 @@ eval1(Int fi, Term t) {
return Yap_ArithError(TYPE_ERROR_FLOAT, t, "X is round(BIGNUM)"); return Yap_ArithError(TYPE_ERROR_FLOAT, t, "X is round(BIGNUM)");
} }
return t; return t;
case db_ref_e: default:
#endif #endif
RERROR(); RERROR();
} }
@ -629,7 +629,7 @@ eval1(Int fi, Term t) {
#ifdef USE_GMP #ifdef USE_GMP
RFLOAT(mpz_get_d(Yap_BigIntOfTerm(t))); RFLOAT(mpz_get_d(Yap_BigIntOfTerm(t)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_abs: case op_abs:
@ -648,7 +648,7 @@ eval1(Int fi, Term t) {
RBIG(&new); RBIG(&new);
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_msb: case op_msb:
@ -667,7 +667,7 @@ eval1(Int fi, Term t) {
RINT(mpz_sizeinbase(big,2)); RINT(mpz_sizeinbase(big,2));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_lsb: case op_lsb:
@ -686,7 +686,7 @@ eval1(Int fi, Term t) {
RINT(mpz_scan1(big,0)); RINT(mpz_scan1(big,0));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_popcount: case op_popcount:
@ -705,7 +705,7 @@ eval1(Int fi, Term t) {
RINT(mpz_popcount(big)); RINT(mpz_popcount(big));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_ffracp: case op_ffracp:
@ -731,7 +731,7 @@ eval1(Int fi, Term t) {
RFLOAT(0.0); RFLOAT(0.0);
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_fintp: case op_fintp:
@ -753,7 +753,7 @@ eval1(Int fi, Term t) {
RFLOAT(mpz_get_d(Yap_BigIntOfTerm(t))); RFLOAT(mpz_get_d(Yap_BigIntOfTerm(t)));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_sign: case op_sign:
@ -775,7 +775,7 @@ eval1(Int fi, Term t) {
#ifdef USE_GMP #ifdef USE_GMP
RINT(mpz_sgn(Yap_BigIntOfTerm(t))); RINT(mpz_sgn(Yap_BigIntOfTerm(t)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case op_random1: case op_random1:
@ -788,7 +788,7 @@ eval1(Int fi, Term t) {
#ifdef USE_GMP #ifdef USE_GMP
return Yap_ArithError(TYPE_ERROR_INTEGER, t, "random(%f)", FloatOfTerm(t)); return Yap_ArithError(TYPE_ERROR_INTEGER, t, "random(%f)", FloatOfTerm(t));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
} }

View File

@ -93,7 +93,7 @@ p_mod(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return Yap_gmp_mod_int_big(IntegerOfTerm(t1), Yap_BigIntOfTerm(t2)); return Yap_gmp_mod_int_big(IntegerOfTerm(t1), Yap_BigIntOfTerm(t2));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
break; break;
} }
@ -115,11 +115,11 @@ p_mod(Term t1, Term t2) {
return Yap_gmp_mod_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2)); return Yap_gmp_mod_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2));
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "mod/2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "mod/2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
zero_divisor: zero_divisor:
@ -157,7 +157,7 @@ p_rem(Term t1, Term t2) {
/* I know the term is much larger, so: */ /* I know the term is much larger, so: */
RINT(IntegerOfTerm(t1)); RINT(IntegerOfTerm(t1));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -191,11 +191,11 @@ p_rem(Term t1, Term t2) {
} }
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "mod/2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "mod/2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
zero_divisor: zero_divisor:
@ -234,7 +234,7 @@ p_fdiv(Term t1, Term t2)
RFLOAT(((Float)i1/f2)); RFLOAT(((Float)i1/f2));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -257,7 +257,7 @@ p_fdiv(Term t1, Term t2)
RFLOAT(FloatOfTerm(t1)/mpz_get_d(Yap_BigIntOfTerm(t2))); RFLOAT(FloatOfTerm(t1)/mpz_get_d(Yap_BigIntOfTerm(t2)));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -278,11 +278,11 @@ p_fdiv(Term t1, Term t2)
Float dbl = FloatOfTerm(t2); Float dbl = FloatOfTerm(t2);
RFLOAT(mpz_get_d(Yap_BigIntOfTerm(t1))/dbl); RFLOAT(mpz_get_d(Yap_BigIntOfTerm(t1))/dbl);
} }
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -334,7 +334,7 @@ p_xor(Term t1, Term t2)
RBIG(&new); RBIG(&new);
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -362,11 +362,11 @@ p_xor(Term t1, Term t2)
} }
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "#/2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "#/2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -394,7 +394,7 @@ p_atan2(Term t1, Term t2)
RFLOAT(atan2(i1,f2)); RFLOAT(atan2(i1,f2));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
break; break;
} }
@ -417,7 +417,7 @@ p_atan2(Term t1, Term t2)
RFLOAT(atan2(FloatOfTerm(t1),mpz_get_d(Yap_BigIntOfTerm(t2)))); RFLOAT(atan2(FloatOfTerm(t1),mpz_get_d(Yap_BigIntOfTerm(t2))));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -437,11 +437,11 @@ p_atan2(Term t1, Term t2)
Float dbl = FloatOfTerm(t2); Float dbl = FloatOfTerm(t2);
RFLOAT(atan2(mpz_get_d(Yap_BigIntOfTerm(t1)),dbl)); RFLOAT(atan2(mpz_get_d(Yap_BigIntOfTerm(t1)),dbl));
} }
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -479,7 +479,7 @@ p_power(Term t1, Term t2)
RFLOAT(pow(i1,f2)); RFLOAT(pow(i1,f2));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -502,7 +502,7 @@ p_power(Term t1, Term t2)
RFLOAT(pow(FloatOfTerm(t1),mpz_get_d(Yap_BigIntOfTerm(t2)))); RFLOAT(pow(FloatOfTerm(t1),mpz_get_d(Yap_BigIntOfTerm(t2))));
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -522,11 +522,11 @@ p_power(Term t1, Term t2)
Float dbl = FloatOfTerm(t2); Float dbl = FloatOfTerm(t2);
RFLOAT(pow(mpz_get_d(Yap_BigIntOfTerm(t1)),dbl)); RFLOAT(pow(mpz_get_d(Yap_BigIntOfTerm(t1)),dbl));
} }
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -605,7 +605,7 @@ p_exp(Term t1, Term t2)
return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, "^/2"); return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, "^/2");
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -628,7 +628,7 @@ p_exp(Term t1, Term t2)
return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, "^/2"); return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, "^/2");
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -649,11 +649,11 @@ p_exp(Term t1, Term t2)
Float dbl = FloatOfTerm(t2); Float dbl = FloatOfTerm(t2);
RFLOAT(pow(mpz_get_d(Yap_BigIntOfTerm(t1)),dbl)); RFLOAT(pow(mpz_get_d(Yap_BigIntOfTerm(t1)),dbl));
} }
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -741,7 +741,7 @@ p_gcd(Term t1, Term t2)
} }
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -774,11 +774,11 @@ p_gcd(Term t1, Term t2)
} }
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "gcd/2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "gcd/2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -821,7 +821,7 @@ p_min(Term t1, Term t2)
return t1; return t1;
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -858,7 +858,7 @@ p_min(Term t1, Term t2)
} }
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -897,11 +897,11 @@ p_min(Term t1, Term t2)
return t1; return t1;
} }
} }
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -944,7 +944,7 @@ p_max(Term t1, Term t2)
return t1; return t1;
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -981,7 +981,7 @@ p_max(Term t1, Term t2)
} }
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -1020,11 +1020,11 @@ p_max(Term t1, Term t2)
return t1; return t1;
} }
} }
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();

View File

@ -518,6 +518,8 @@ unify_extension (Functor f, CELL d0, CELL * pt0, CELL d1)
{ {
case db_ref_e: case db_ref_e:
return (d0 == d1); return (d0 == d1);
case attvar_e:
return (d0 == d1);
case long_int_e: case long_int_e:
return (pt0[1] == RepAppl (d1)[1]); return (pt0[1] == RepAppl (d1)[1]);
case big_int_e: case big_int_e:

View File

@ -158,7 +158,7 @@ p_plus(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return(Yap_gmp_add_int_big(IntegerOfTerm(t1), Yap_BigIntOfTerm(t2))); return(Yap_gmp_add_int_big(IntegerOfTerm(t1), Yap_BigIntOfTerm(t2)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case double_e: case double_e:
@ -172,7 +172,7 @@ p_plus(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return(Yap_gmp_add_float_big(FloatOfTerm(t1),Yap_BigIntOfTerm(t2))); return(Yap_gmp_add_float_big(FloatOfTerm(t1),Yap_BigIntOfTerm(t2)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
case big_int_e: case big_int_e:
@ -185,11 +185,11 @@ p_plus(Term t1, Term t2) {
return(Yap_gmp_add_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2))); return(Yap_gmp_add_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2)));
case double_e: case double_e:
return(Yap_gmp_add_float_big(FloatOfTerm(t2),Yap_BigIntOfTerm(t1))); return(Yap_gmp_add_float_big(FloatOfTerm(t2),Yap_BigIntOfTerm(t1)));
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -214,7 +214,7 @@ p_minus(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return(Yap_gmp_sub_int_big(IntegerOfTerm(t1), Yap_BigIntOfTerm(t2))); return(Yap_gmp_sub_int_big(IntegerOfTerm(t1), Yap_BigIntOfTerm(t2)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -231,7 +231,7 @@ p_minus(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return(Yap_gmp_sub_float_big(FloatOfTerm(t1),Yap_BigIntOfTerm(t2))); return(Yap_gmp_sub_float_big(FloatOfTerm(t1),Yap_BigIntOfTerm(t2)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -244,11 +244,11 @@ p_minus(Term t1, Term t2) {
return(Yap_gmp_sub_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2))); return(Yap_gmp_sub_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2)));
case double_e: case double_e:
return(Yap_gmp_sub_big_float(Yap_BigIntOfTerm(t1),FloatOfTerm(t2))); return(Yap_gmp_sub_big_float(Yap_BigIntOfTerm(t1),FloatOfTerm(t2)));
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -274,7 +274,7 @@ p_times(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return(Yap_gmp_mul_int_big(IntegerOfTerm(t1), Yap_BigIntOfTerm(t2))); return(Yap_gmp_mul_int_big(IntegerOfTerm(t1), Yap_BigIntOfTerm(t2)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -289,7 +289,7 @@ p_times(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return(Yap_gmp_mul_float_big(FloatOfTerm(t1),Yap_BigIntOfTerm(t2))); return(Yap_gmp_mul_float_big(FloatOfTerm(t1),Yap_BigIntOfTerm(t2)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -303,11 +303,11 @@ p_times(Term t1, Term t2) {
return(Yap_gmp_mul_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2))); return(Yap_gmp_mul_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2)));
case double_e: case double_e:
return(Yap_gmp_mul_float_big(FloatOfTerm(t2),Yap_BigIntOfTerm(t1))); return(Yap_gmp_mul_float_big(FloatOfTerm(t2),Yap_BigIntOfTerm(t1)));
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -343,7 +343,7 @@ p_div(Term t1, Term t2) {
/* Cool */ /* Cool */
RINT(0); RINT(0);
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -360,11 +360,11 @@ p_div(Term t1, Term t2) {
return Yap_gmp_div_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2)); return Yap_gmp_div_big_big(Yap_BigIntOfTerm(t1), Yap_BigIntOfTerm(t2));
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "// /2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "// /2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -384,7 +384,7 @@ p_and(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return(Yap_gmp_and_int_big(IntegerOfTerm(t1),Yap_BigIntOfTerm(t2))); return(Yap_gmp_and_int_big(IntegerOfTerm(t1),Yap_BigIntOfTerm(t2)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -401,11 +401,11 @@ p_and(Term t1, Term t2) {
return(Yap_gmp_and_big_big(Yap_BigIntOfTerm(t2), Yap_BigIntOfTerm(t1))); return(Yap_gmp_and_big_big(Yap_BigIntOfTerm(t2), Yap_BigIntOfTerm(t1)));
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "/\\ /2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "/\\ /2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -425,7 +425,7 @@ p_or(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return(Yap_gmp_ior_int_big(IntegerOfTerm(t1),Yap_BigIntOfTerm(t2))); return(Yap_gmp_ior_int_big(IntegerOfTerm(t1),Yap_BigIntOfTerm(t2)));
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -442,11 +442,11 @@ p_or(Term t1, Term t2) {
return Yap_gmp_ior_big_big(Yap_BigIntOfTerm(t2), Yap_BigIntOfTerm(t1)); return Yap_gmp_ior_big_big(Yap_BigIntOfTerm(t2), Yap_BigIntOfTerm(t1));
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "\\/ /2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "\\/ /2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -473,7 +473,7 @@ p_sll(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, "<</2"); return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, "<</2");
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -488,11 +488,11 @@ p_sll(Term t1, Term t2) {
return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, ">>/2"); return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, ">>/2");
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "<</2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, "<</2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();
@ -519,7 +519,7 @@ p_slr(Term t1, Term t2) {
#ifdef USE_GMP #ifdef USE_GMP
return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, ">>/2"); return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, ">>/2");
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
break; break;
@ -534,11 +534,11 @@ p_slr(Term t1, Term t2) {
return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, ">>/2"); return Yap_ArithError(RESOURCE_ERROR_HUGE_INT, t2, ">>/2");
case double_e: case double_e:
return Yap_ArithError(TYPE_ERROR_INTEGER, t2, ">>/2"); return Yap_ArithError(TYPE_ERROR_INTEGER, t2, ">>/2");
case db_ref_e: default:
RERROR(); RERROR();
} }
#endif #endif
case db_ref_e: default:
RERROR(); RERROR();
} }
RERROR(); RERROR();