• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/timemachine/gettext-0.17/gnulib-local/lib/libxml/

Lines Matching defs:sub

81     XML_REGEXP_SUBREG,  /* used for () sub regexps */
6264 * of sub-expressions pointers *
7010 xmlExpCheckCard(xmlExpNodePtr exp, xmlExpNodePtr sub) {
7013 if (sub->c_max == -1) {
7016 } else if ((exp->c_max >= 0) && (exp->c_max < sub->c_max)) {
7020 if ((IS_NILLABLE(sub)) && (!IS_NILLABLE(exp)))
7027 xmlExpNodePtr sub);
7032 * @sub: the subexpression
7036 * Check if exp is a multiple of sub, i.e. if there is a finite number n
7037 * so that sub{n} subsume exp
7044 xmlExpDivide(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub,
7052 if (IS_NILLABLE(exp) && (!IS_NILLABLE(sub))) return(0);
7055 sub->ref++;
7057 sub, NULL, NULL, i, i);
7097 * @sub: the subexpression
7105 xmlExpExpDeriveInt(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) {
7114 if ((exp == sub) && (exp->c_max >= 0)) {
7116 printf("Equal(exp, sub) and finite -> Empty\n");
7121 * decompose sub sequence first
7123 if (sub->type == XML_EXP_EMPTY) {
7125 printf("Empty(sub) -> Empty\n");
7130 if (sub->type == XML_EXP_SEQ) {
7132 printf("Seq(sub) -> decompose\n");
7134 tmp = xmlExpExpDeriveInt(ctxt, exp, sub->exp_left);
7139 ret = xmlExpExpDeriveInt(ctxt, tmp, sub->exp_right);
7143 if (sub->type == XML_EXP_OR) {
7145 printf("Or(sub) -> decompose\n");
7147 tmp = xmlExpExpDeriveInt(ctxt, exp, sub->exp_left);
7152 ret = xmlExpExpDeriveInt(ctxt, exp, sub->exp_right);
7159 if (!xmlExpCheckCard(exp, sub)) {
7161 printf("CheckCard(exp, sub) failed -> Forbid\n");
7167 if (sub == emptyExp)
7179 if (sub->type == XML_EXP_ATOM) {
7181 if (exp->exp_str == sub->exp_str) {
7192 if ((sub->type == XML_EXP_COUNT) &&
7193 (sub->exp_max == 1) &&
7194 (sub->exp_left->type == XML_EXP_ATOM)) {
7196 if (exp->exp_str == sub->exp_left->exp_str) {
7213 if (xmlExpCheckCard(exp->exp_left, sub)) {
7218 ret = xmlExpExpDeriveInt(ctxt, exp->exp_left, sub);
7240 if (sub->type == XML_EXP_COUNT) {
7244 printf("Seq: sub is a count\n");
7246 ret = xmlExpExpDeriveInt(ctxt, exp->exp_left, sub->exp_left);
7253 if (sub->exp_max < 0)
7256 max = sub->exp_max -1;
7257 if (sub->exp_min > 0)
7258 min = sub->exp_min -1;
7267 sub->exp_left->ref++;
7269 sub->exp_left, NULL, NULL, min, max);
7286 ret = xmlExpExpDeriveInt(ctxt, exp->exp_left, sub);
7289 tmp = xmlExpExpDeriveInt(ctxt, exp->exp_right, sub);
7298 if (sub->type == XML_EXP_COUNT) {
7302 tmp = xmlExpExpDeriveInt(ctxt, exp->exp_left, sub->exp_left);
7311 mult = xmlExpDivide(ctxt, sub->exp_left, exp->exp_left,
7319 if (sub->exp_max == -1) {
7322 if (exp->exp_min <= sub->exp_min * mult)
7325 min = exp->exp_min - sub->exp_min * mult;
7338 if (exp->exp_min > sub->exp_min * mult) {
7340 min = exp->exp_min - sub->exp_min * mult;
7346 if (exp->exp_max < sub->exp_max * mult) {
7353 if (sub->exp_max * mult > exp->exp_min)
7356 min = exp->exp_min - sub->exp_max * mult;
7357 max = exp->exp_max - sub->exp_max * mult;
7370 } else if (sub->exp_max == -1) {
7372 if (exp->exp_min <= sub->exp_min) {
7383 min = exp->exp_min - sub->exp_min;
7385 } else if (exp->exp_min > sub->exp_min) {
7400 if (exp->exp_min > sub->exp_min) {
7402 min = exp->exp_min - sub->exp_min;
7408 if (exp->exp_max < sub->exp_max) {
7415 if (sub->exp_max > exp->exp_min)
7418 min = exp->exp_min - sub->exp_max;
7419 max = exp->exp_max - sub->exp_max;
7435 tmp = xmlExpExpDeriveInt(ctxt, exp->exp_left, sub);
7470 if (IS_NILLABLE(sub)) {
7493 len = xmlExpGetStartInt(ctxt, sub, tab, ctxt->tabSize, 0);
7504 len = xmlExpGetStartInt(ctxt, sub, tab, ctxt->tabSize, 0);
7513 tmp2 = xmlExpStringDeriveInt(ctxt, sub, tab[i]);
7548 * @sub: the subexpression
7550 * Evaluates the expression resulting from @exp consuming a sub expression @sub
7559 xmlExpExpDerive(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) {
7560 if ((exp == NULL) || (ctxt == NULL) || (sub == NULL))
7566 if (IS_NILLABLE(sub) && (!IS_NILLABLE(exp))) {
7572 if (xmlExpCheckCard(exp, sub) == 0) {
7574 printf("sub generate longuer sequances than exp : can't subsume\n");
7578 return(xmlExpExpDeriveInt(ctxt, exp, sub));
7585 * @sub: the subexpression
7587 * Check whether @exp accepts all the languages accexpted by @sub
7593 xmlExpSubsume(xmlExpCtxtPtr ctxt, xmlExpNodePtr exp, xmlExpNodePtr sub) {
7596 if ((exp == NULL) || (ctxt == NULL) || (sub == NULL))
7600 * TODO: speedup by checking the language of sub is a subset of the
7606 if (IS_NILLABLE(sub) && (!IS_NILLABLE(exp))) {
7612 if (xmlExpCheckCard(exp, sub) == 0) {
7614 printf("sub generate longuer sequances than exp : can't subsume\n");
7618 tmp = xmlExpExpDeriveInt(ctxt, exp, sub);