Lines Matching refs:trans
230 xmlRegTrans *trans; member
563 xmlRegTransPtr trans; in xmlRegEpxFromParse() local
573 trans = &(state->trans[j]); in xmlRegEpxFromParse()
574 if ((trans->to == -1) || (trans->atom == NULL)) in xmlRegEpxFromParse()
576 atomno = stringRemap[trans->atom->no]; in xmlRegEpxFromParse()
577 if ((trans->atom->data != NULL) && (transdata == NULL)) { in xmlRegEpxFromParse()
588 targetno = stateRemap[trans->to]; in xmlRegEpxFromParse()
600 i, j, trans->atom->no, trans->to, atomno, targetno); in xmlRegEpxFromParse()
616 i, j, trans->atom->no, trans->to, atomno, targetno); in xmlRegEpxFromParse()
622 trans->atom->data; in xmlRegEpxFromParse()
901 if (state->trans != NULL) in xmlRegFreeState()
902 xmlFree(state->trans); in xmlRegFreeState()
1115 xmlRegPrintTrans(FILE *output, xmlRegTransPtr trans) { in xmlRegPrintTrans() argument
1117 if (trans == NULL) { in xmlRegPrintTrans()
1121 if (trans->to < 0) { in xmlRegPrintTrans()
1125 if (trans->nd != 0) { in xmlRegPrintTrans()
1126 if (trans->nd == 2) in xmlRegPrintTrans()
1131 if (trans->counter >= 0) { in xmlRegPrintTrans()
1132 fprintf(output, "counted %d, ", trans->counter); in xmlRegPrintTrans()
1134 if (trans->count == REGEXP_ALL_COUNTER) { in xmlRegPrintTrans()
1136 } else if (trans->count >= 0) { in xmlRegPrintTrans()
1137 fprintf(output, "count based %d, ", trans->count); in xmlRegPrintTrans()
1139 if (trans->atom == NULL) { in xmlRegPrintTrans()
1140 fprintf(output, "epsilon to %d\n", trans->to); in xmlRegPrintTrans()
1143 if (trans->atom->type == XML_REGEXP_CHARVAL) in xmlRegPrintTrans()
1144 fprintf(output, "char %c ", trans->atom->codepoint); in xmlRegPrintTrans()
1145 fprintf(output, "atom %d, to %d\n", trans->atom->no, trans->to); in xmlRegPrintTrans()
1164 xmlRegPrintTrans(output, &(state->trans[i])); in xmlRegPrintState()
1369 xmlRegTransPtr trans = &(state->trans[nrtrans]); in xmlRegStateAddTrans() local
1370 if ((trans->atom == atom) && in xmlRegStateAddTrans()
1371 (trans->to == target->no) && in xmlRegStateAddTrans()
1372 (trans->counter == counter) && in xmlRegStateAddTrans()
1373 (trans->count == count)) { in xmlRegStateAddTrans()
1384 state->trans = (xmlRegTrans *) xmlMalloc(state->maxTrans * in xmlRegStateAddTrans()
1386 if (state->trans == NULL) { in xmlRegStateAddTrans()
1394 tmp = (xmlRegTrans *) xmlRealloc(state->trans, state->maxTrans * in xmlRegStateAddTrans()
1401 state->trans = tmp; in xmlRegStateAddTrans()
1417 state->trans[state->nbTrans].atom = atom; in xmlRegStateAddTrans()
1418 state->trans[state->nbTrans].to = target->no; in xmlRegStateAddTrans()
1419 state->trans[state->nbTrans].counter = counter; in xmlRegStateAddTrans()
1420 state->trans[state->nbTrans].count = count; in xmlRegStateAddTrans()
1421 state->trans[state->nbTrans].nd = 0; in xmlRegStateAddTrans()
1803 if (to->trans[transnr].to < 0) in xmlFAReduceEpsilonTransitions()
1805 if (to->trans[transnr].atom == NULL) { in xmlFAReduceEpsilonTransitions()
1810 if (to->trans[transnr].to != fromnr) { in xmlFAReduceEpsilonTransitions()
1811 if (to->trans[transnr].count >= 0) { in xmlFAReduceEpsilonTransitions()
1812 int newto = to->trans[transnr].to; in xmlFAReduceEpsilonTransitions()
1816 -1, to->trans[transnr].count); in xmlFAReduceEpsilonTransitions()
1820 transnr, tonr, to->trans[transnr].to); in xmlFAReduceEpsilonTransitions()
1822 if (to->trans[transnr].counter >= 0) { in xmlFAReduceEpsilonTransitions()
1824 to->trans[transnr].to, in xmlFAReduceEpsilonTransitions()
1825 to->trans[transnr].counter); in xmlFAReduceEpsilonTransitions()
1828 to->trans[transnr].to, in xmlFAReduceEpsilonTransitions()
1834 int newto = to->trans[transnr].to; in xmlFAReduceEpsilonTransitions()
1836 if (to->trans[transnr].counter >= 0) { in xmlFAReduceEpsilonTransitions()
1837 xmlRegStateAddTrans(ctxt, from, to->trans[transnr].atom, in xmlFAReduceEpsilonTransitions()
1839 to->trans[transnr].counter, -1); in xmlFAReduceEpsilonTransitions()
1841 xmlRegStateAddTrans(ctxt, from, to->trans[transnr].atom, in xmlFAReduceEpsilonTransitions()
1878 if ((state->trans[0].atom == NULL) && in xmlFAEliminateSimpleEpsilonTransitions()
1879 (state->trans[0].to >= 0) && in xmlFAEliminateSimpleEpsilonTransitions()
1880 (state->trans[0].to != statenr) && in xmlFAEliminateSimpleEpsilonTransitions()
1881 (state->trans[0].counter < 0) && in xmlFAEliminateSimpleEpsilonTransitions()
1882 (state->trans[0].count < 0)) { in xmlFAEliminateSimpleEpsilonTransitions()
1883 newto = state->trans[0].to; in xmlFAEliminateSimpleEpsilonTransitions()
1898 if (tmp->trans[j].to == statenr) { in xmlFAEliminateSimpleEpsilonTransitions()
1903 tmp->trans[j].to = -1; in xmlFAEliminateSimpleEpsilonTransitions()
1904 xmlRegStateAddTrans(ctxt, tmp, tmp->trans[j].atom, in xmlFAEliminateSimpleEpsilonTransitions()
1906 tmp->trans[j].counter, in xmlFAEliminateSimpleEpsilonTransitions()
1907 tmp->trans[j].count); in xmlFAEliminateSimpleEpsilonTransitions()
1971 if ((state->trans[transnr].atom == NULL) && in xmlFAEliminateEpsilonTransitions()
1972 (state->trans[transnr].to >= 0)) { in xmlFAEliminateEpsilonTransitions()
1973 if (state->trans[transnr].to == statenr) { in xmlFAEliminateEpsilonTransitions()
1974 state->trans[transnr].to = -1; in xmlFAEliminateEpsilonTransitions()
1979 } else if (state->trans[transnr].count < 0) { in xmlFAEliminateEpsilonTransitions()
1980 int newto = state->trans[transnr].to; in xmlFAEliminateEpsilonTransitions()
1987 state->trans[transnr].to = -2; in xmlFAEliminateEpsilonTransitions()
1990 newto, state->trans[transnr].counter); in xmlFAEliminateEpsilonTransitions()
2010 xmlRegTransPtr trans = &(state->trans[transnr]); in xmlFAEliminateEpsilonTransitions() local
2011 if ((trans->atom == NULL) && in xmlFAEliminateEpsilonTransitions()
2012 (trans->count < 0) && in xmlFAEliminateEpsilonTransitions()
2013 (trans->to >= 0)) { in xmlFAEliminateEpsilonTransitions()
2014 trans->to = -1; in xmlFAEliminateEpsilonTransitions()
2038 if ((state->trans[transnr].to >= 0) && in xmlFAEliminateEpsilonTransitions()
2039 ((state->trans[transnr].atom != NULL) || in xmlFAEliminateEpsilonTransitions()
2040 (state->trans[transnr].count >= 0))) { in xmlFAEliminateEpsilonTransitions()
2041 int newto = state->trans[transnr].to; in xmlFAEliminateEpsilonTransitions()
2610 t1 = &(state->trans[transnr]); in xmlFARecurseDeterminism()
2675 t1 = &(state->trans[transnr]); in xmlFAComputesDeterminism()
2687 t2 = &(state->trans[i]); in xmlFAComputesDeterminism()
2718 t1 = &(state->trans[transnr]); in xmlFAComputesDeterminism()
2729 t2 = &(state->trans[i]); in xmlFAComputesDeterminism()
3221 xmlRegTransPtr trans; in xmlFARegExec() local
3238 trans = &exec->state->trans[exec->transno]; in xmlFARegExec()
3239 if (trans->to >=0) { in xmlFARegExec()
3240 atom = trans->atom; in xmlFARegExec()
3250 trans = &exec->state->trans[exec->transno]; in xmlFARegExec()
3251 if (trans->to < 0) in xmlFARegExec()
3253 atom = trans->atom; in xmlFARegExec()
3256 if (trans->count >= 0) { in xmlFARegExec()
3268 count = exec->counts[trans->count]; in xmlFARegExec()
3269 counter = &exec->comp->counters[trans->count]; in xmlFARegExec()
3272 trans->count, count, counter->min, counter->max); in xmlFARegExec()
3285 xmlRegStatePtr to = comp->states[trans->to]; in xmlFARegExec()
3294 if (trans->counter >= 0) { in xmlFARegExec()
3303 counter = &exec->comp->counters[trans->counter]; in xmlFARegExec()
3304 if (exec->counts[trans->counter] >= counter->max) in xmlFARegExec()
3308 printf("Increasing count %d\n", trans->counter); in xmlFARegExec()
3310 exec->counts[trans->counter]++; in xmlFARegExec()
3361 if (trans->counter >= 0) { in xmlFARegExec()
3367 printf("Decreasing count %d\n", trans->counter); in xmlFARegExec()
3369 exec->counts[trans->counter]--; in xmlFARegExec()
3388 if ((trans->nd == 1) || in xmlFARegExec()
3389 ((trans->count >= 0) && (deter == 0) && in xmlFARegExec()
3392 if (trans->nd == 1) in xmlFARegExec()
3394 trans->atom->no, codepoint, exec->index); in xmlFARegExec()
3397 trans->count, codepoint, exec->index); in xmlFARegExec()
3401 if (trans->counter >= 0) { in xmlFARegExec()
3411 counter = &exec->comp->counters[trans->counter]; in xmlFARegExec()
3412 if (exec->counts[trans->counter] >= counter->max) in xmlFARegExec()
3415 printf("Increasing count %d\n", trans->counter); in xmlFARegExec()
3417 exec->counts[trans->counter]++; in xmlFARegExec()
3419 if ((trans->count >= 0) && in xmlFARegExec()
3420 (trans->count < REGEXP_ALL_COUNTER)) { in xmlFARegExec()
3427 trans->count); in xmlFARegExec()
3429 exec->counts[trans->count] = 0; in xmlFARegExec()
3432 printf("entering state %d\n", trans->to); in xmlFARegExec()
3434 exec->state = comp->states[trans->to]; in xmlFARegExec()
3436 if (trans->atom != NULL) { in xmlFARegExec()
3780 xmlRegTransPtr trans; in xmlRegExecPushStringInternal() local
3833 trans = &exec->state->trans[exec->transno]; in xmlRegExecPushStringInternal()
3834 if (trans->to < 0) in xmlRegExecPushStringInternal()
3836 atom = trans->atom; in xmlRegExecPushStringInternal()
3838 if (trans->count == REGEXP_ALL_LAX_COUNTER) { in xmlRegExecPushStringInternal()
3847 printf("testing all lax %d\n", trans->count); in xmlRegExecPushStringInternal()
3856 t = &exec->state->trans[i]; in xmlRegExecPushStringInternal()
3857 if ((t->counter < 0) || (t == trans)) in xmlRegExecPushStringInternal()
3876 } else if (trans->count == REGEXP_ALL_COUNTER) { in xmlRegExecPushStringInternal()
3885 printf("testing all %d\n", trans->count); in xmlRegExecPushStringInternal()
3891 t = &exec->state->trans[i]; in xmlRegExecPushStringInternal()
3892 if ((t->counter < 0) || (t == trans)) in xmlRegExecPushStringInternal()
3901 } else if (trans->count >= 0) { in xmlRegExecPushStringInternal()
3909 count = exec->counts[trans->count]; in xmlRegExecPushStringInternal()
3910 counter = &exec->comp->counters[trans->count]; in xmlRegExecPushStringInternal()
3913 trans->count, count, counter->min, counter->max); in xmlRegExecPushStringInternal()
3927 if ((ret == 1) && (trans->counter >= 0)) { in xmlRegExecPushStringInternal()
3931 count = exec->counts[trans->counter]; in xmlRegExecPushStringInternal()
3932 counter = &exec->comp->counters[trans->counter]; in xmlRegExecPushStringInternal()
3938 xmlRegStatePtr to = exec->comp->states[trans->to]; in xmlRegExecPushStringInternal()
4016 if (trans->counter >= 0) { in xmlRegExecPushStringInternal()
4018 printf("Increasing count %d\n", trans->counter); in xmlRegExecPushStringInternal()
4020 exec->counts[trans->counter]++; in xmlRegExecPushStringInternal()
4022 if ((trans->count >= 0) && in xmlRegExecPushStringInternal()
4023 (trans->count < REGEXP_ALL_COUNTER)) { in xmlRegExecPushStringInternal()
4026 trans->count); in xmlRegExecPushStringInternal()
4028 exec->counts[trans->count] = 0; in xmlRegExecPushStringInternal()
4031 printf("entering state %d\n", trans->to); in xmlRegExecPushStringInternal()
4033 if ((exec->comp->states[trans->to] != NULL) && in xmlRegExecPushStringInternal()
4034 (exec->comp->states[trans->to]->type == in xmlRegExecPushStringInternal()
4047 exec->state = exec->comp->states[trans->to]; in xmlRegExecPushStringInternal()
4049 if (trans->atom != NULL) { in xmlRegExecPushStringInternal()
4265 xmlRegTransPtr trans; in xmlRegExecGetValues() local
4286 trans = &state->trans[transno]; in xmlRegExecGetValues()
4287 if (trans->to < 0) in xmlRegExecGetValues()
4289 atom = trans->atom; in xmlRegExecGetValues()
4292 if (trans->count == REGEXP_ALL_LAX_COUNTER) { in xmlRegExecGetValues()
4295 } else if (trans->count == REGEXP_ALL_COUNTER) { in xmlRegExecGetValues()
4298 } else if (trans->counter >= 0) { in xmlRegExecGetValues()
4303 count = exec->errCounts[trans->counter]; in xmlRegExecGetValues()
4305 count = exec->counts[trans->counter]; in xmlRegExecGetValues()
4307 counter = &exec->comp->counters[trans->counter]; in xmlRegExecGetValues()
4316 if ((exec->comp != NULL) && (exec->comp->states[trans->to] != NULL) && in xmlRegExecGetValues()
4317 (exec->comp->states[trans->to]->type != in xmlRegExecGetValues()
4330 trans = &state->trans[transno]; in xmlRegExecGetValues()
4331 if (trans->to < 0) in xmlRegExecGetValues()
4333 atom = trans->atom; in xmlRegExecGetValues()
4336 if (trans->count == REGEXP_ALL_LAX_COUNTER) { in xmlRegExecGetValues()
4338 } else if (trans->count == REGEXP_ALL_COUNTER) { in xmlRegExecGetValues()
4340 } else if (trans->counter >= 0) { in xmlRegExecGetValues()
4343 if ((exec->comp->states[trans->to] != NULL) && in xmlRegExecGetValues()
4344 (exec->comp->states[trans->to]->type == in xmlRegExecGetValues()
4428 xmlRegTransPtr trans;
4452 trans = &exec->state->trans[exec->transno];
4453 if (trans->to < 0)
4455 atom = trans->atom;
4457 if (trans->count >= 0) {
4465 count = exec->counts[trans->count];
4466 counter = &exec->comp->counters[trans->count];
4469 trans->count, count, counter->min, counter->max);
4480 xmlRegStatePtr to = exec->comp->states[trans->to];
4543 if (trans->count >= 0) {
4545 printf("Reset count %d\n", trans->count);
4547 exec->counts[trans->count] = 0;
4549 if (trans->counter >= 0) {
4551 printf("Increasing count %d\n", trans->counter);
4553 exec->counts[trans->counter]++;
4556 printf("entering state %d\n", trans->to);
4558 exec->state = exec->comp->states[trans->to];
4560 if (trans->atom != NULL) {