Lines Matching defs:dfa_transitions
393 struct stack_item *dfa_transitions;
984 compiler_common->dfa_transitions = SLJIT_MALLOC(sizeof(struct stack_item) * compiler_common->dfa_size, NULL);
985 if (!compiler_common->dfa_transitions)
989 transitions_ptr = compiler_common->dfa_transitions + compiler_common->dfa_size;
1003 transitions_ptr = handle_iteratives(transitions_ptr, compiler_common->dfa_transitions, depth);
1010 if (stack_push(depth, type_close_br, transitions_ptr - compiler_common->dfa_transitions))
1017 SLJIT_ASSERT(compiler_common->dfa_transitions[item->value].type == type_jump);
1020 item->value = transitions_ptr - compiler_common->dfa_transitions;
1026 item->value = transitions_ptr - compiler_common->dfa_transitions;
1035 if (stack_push(depth, item->type, transitions_ptr - compiler_common->dfa_transitions))
1044 transitions_ptr = handle_iteratives(transitions_ptr, compiler_common->dfa_transitions, depth);
1053 SLJIT_ASSERT(compiler_common->dfa_transitions == transitions_ptr);
1064 struct stack_item *transitions_ptr = compiler_common->dfa_transitions;
1171 struct stack_item *transitions_ptr = compiler_common->dfa_transitions;
1236 struct stack_item *dfa_transitions = compiler_common->dfa_transitions;
1245 if (dfa_transitions[from].type == type_id)
1246 if (id < dfa_transitions[from].value)
1247 id = dfa_transitions[from].value;
1256 if (dfa_transitions[from].type == type_branch) {
1262 else if (dfa_transitions[from].type == type_jump) {
1263 from = dfa_transitions[from].value;
1275 from = dfa_transitions[stack_pop(depth)->value].value;
1354 SLJIT_ASSERT(compiler_common->dfa_transitions[1].type == type_newline && !compiler_common->dfa_transitions[1].value);
1636 struct stack_item *dfa_transitions = compiler_common->dfa_transitions;
1646 if (dfa_transitions[ind].type == type_char) {
1647 EMIT_CMP(jump, SLJIT_EQUAL, R_CURR_CHAR, 0, SLJIT_IMM, dfa_transitions[ind].value);
1650 else if (dfa_transitions[ind].type == type_rng_start) {
1651 SLJIT_ASSERT(!dfa_transitions[ind].value);
1653 while (dfa_transitions[ind].type != type_rng_end) {
1654 if (dfa_transitions[ind].type == type_rng_char) {
1655 EMIT_CMP(jump, SLJIT_EQUAL, R_CURR_CHAR, 0, SLJIT_IMM, dfa_transitions[ind].value);
1659 SLJIT_ASSERT(dfa_transitions[ind].type == type_rng_left);
1664 if (dfa_transitions[ind].value != prev_value) {
1666 prev_value -= dfa_transitions[ind].value;
1673 prev_value = dfa_transitions[ind].value;
1675 EMIT_CMP(jump, SLJIT_LESS_EQUAL, R_TEMP, 0, SLJIT_IMM, dfa_transitions[ind + 1].value - dfa_transitions[ind].value);
1683 SLJIT_ASSERT(dfa_transitions[ind].type == type_newline);
1736 struct stack_item *dfa_transitions = compiler_common->dfa_transitions;
1738 int invert = dfa_transitions[ind].value;
1746 while (dfa_transitions[ind].type != type_rng_end) {
1747 if (dfa_transitions[ind].type == type_rng_char) {
1748 EMIT_CMP(*range_jump_list, SLJIT_EQUAL, R_CURR_CHAR, 0, SLJIT_IMM, dfa_transitions[ind].value);
1752 SLJIT_ASSERT(dfa_transitions[ind].type == type_rng_left);
1757 if (dfa_transitions[ind].value != prev_value) {
1759 prev_value -= dfa_transitions[ind].value;
1766 prev_value = dfa_transitions[ind].value;
1768 EMIT_CMP(*range_jump_list, SLJIT_LESS_EQUAL, R_TEMP, 0, SLJIT_IMM, dfa_transitions[ind + 1].value - dfa_transitions[ind].value);
1879 if (compiler_common.dfa_transitions)
1880 SLJIT_FREE(compiler_common.dfa_transitions, NULL);
1889 SLJIT_FREE(compiler_common.dfa_transitions, NULL);
1940 SLJIT_ASSERT(compiler_common.dfa_transitions[ind].type == type_end);
1945 SLJIT_ASSERT(compiler_common.dfa_transitions[ind].type != type_end);
1946 if (compiler_common.dfa_transitions[ind].type == type_rng_start && compiler_common.dfa_transitions[ind].value)
1953 SLJIT_ASSERT(compiler_common.dfa_transitions[1].type == type_newline);
1958 SLJIT_ASSERT(compiler_common.dfa_transitions[ind].type == type_end);
2196 if (compiler_common.dfa_transitions[ind].type == type_char) {
2197 EMIT_CMP(jump, SLJIT_NOT_EQUAL, R_CURR_CHAR, 0, SLJIT_IMM, compiler_common.dfa_transitions[ind].value);
2199 else if (compiler_common.dfa_transitions[ind].type == type_rng_start) {
2204 SLJIT_ASSERT(compiler_common.dfa_transitions[ind].type == type_newline);
2215 if (compiler_common.dfa_transitions[ind].type == type_char) {
2219 else if (compiler_common.dfa_transitions[ind].type == type_rng_end) {
2224 SLJIT_ASSERT(compiler_common.dfa_transitions[ind].type == type_newline);
2284 SLJIT_FREE(compiler_common.dfa_transitions, NULL);