static int r_particle_etc(struct SN_env * z) { /* backwardmode */ int among_var; { int mlimit1; /* setlimit, line 56 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 56 */ among_var = find_among_b(z, a_0, 10); /* substring, line 56 */ if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 56 */ z->lb = mlimit1; } switch (among_var) { /* among, line 57 */ case 1: if (in_grouping_b_U(z, g_particle_end, 97, 246, 0)) return 0; /* grouping particle_end, line 63 */ break; case 2: { int ret = r_R2(z); /* call R2, line 65 */ if (ret <= 0) return ret; } break; } { int ret = slice_del(z); /* delete, line 67 */ if (ret < 0) return ret; } return 1; }
static int r_other_endings(struct SN_env * z) { /* backwardmode */ int among_var; { int mlimit1; /* setlimit, line 143 */ if (z->c < z->I[1]) return 0; mlimit1 = z->lb; z->lb = z->I[1]; z->ket = z->c; /* [, line 143 */ among_var = find_among_b(z, a_7, 14); /* substring, line 143 */ if (!(among_var)) { z->lb = mlimit1; return 0; } z->bra = z->c; /* ], line 143 */ z->lb = mlimit1; } switch (among_var) { /* among, line 144 */ case 1: { int m2 = z->l - z->c; (void)m2; /* not, line 147 */ if (!(eq_s_b(z, 2, s_5))) goto lab0; /* literal, line 147 */ return 0; lab0: z->c = z->l - m2; } break; } { int ret = slice_del(z); /* delete, line 152 */ if (ret < 0) return ret; } return 1; }
static int r_consonant_pair(struct SN_env * z) { { int m_test = z->l - z->c; /* test, line 55 */ { int m3; /* setlimit, line 56 */ int m = z->l - z->c; (void) m; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 56 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 56 */ if (!(find_among_b(z, a_1, 4))) { z->lb = m3; return 0; } /* substring, line 56 */ z->bra = z->c; /* ], line 56 */ z->lb = m3; } z->c = z->l - m_test; } { int c = skip_utf8(z->p, z->c, z->lb, 0, -1); if (c < 0) return 0; z->c = c; /* next, line 62 */ } z->bra = z->c; /* ], line 62 */ { int ret; ret = slice_del(z); /* delete, line 62 */ if (ret < 0) return ret; } return 1; }
static int r_consonant_pair(struct SN_env * z) { { int m3; /* setlimit, line 50 */ int m = z->l - z->c; (void) m; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 50 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; { int m = z->l - z->c; (void) m; /* and, line 52 */ if (!(find_among_b(z, a_1, 7))) { z->lb = m3; /* among, line 51 */ return 0; } z->c = z->l - m; z->ket = z->c; /* [, line 52 */ if (z->c <= z->lb) { z->lb = m3; return 0; } z->c--; /* next, line 52 */ z->bra = z->c; /* ], line 52 */ { int ret; ret = slice_del(z); /* delete, line 52 */ if (ret < 0) return ret; } } z->lb = m3; } return 1; }
static int r_factive(struct SN_env * z) { int among_var; z->ket = z->c; /* [, line 133 */ among_var = find_among_b(z, a_7, 2); /* substring, line 133 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 133 */ { int ret = r_R1(z); if (ret == 0) return 0; /* call R1, line 133 */ if (ret < 0) return ret; } switch(among_var) { case 0: return 0; case 1: { int ret = r_double(z); if (ret == 0) return 0; /* call double, line 134 */ if (ret < 0) return ret; } break; case 2: { int ret = r_double(z); if (ret == 0) return 0; /* call double, line 135 */ if (ret < 0) return ret; } break; } { int ret; ret = slice_del(z); /* delete, line 137 */ if (ret < 0) return ret; } { int ret = r_undouble(z); if (ret == 0) return 0; /* call undouble, line 138 */ if (ret < 0) return ret; } return 1; }
static int r_verb_suffix(struct SN_env * z) { int among_var; { int m3; /* setlimit, line 159 */ int m = z->l - z->c; (void) m; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 159 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 160 */ among_var = find_among_b(z, a_6, 120); /* substring, line 160 */ if (!(among_var)) { z->lb = m3; return 0; } z->bra = z->c; /* ], line 160 */ switch(among_var) { case 0: { z->lb = m3; return 0; } case 1: { int ret; ret = slice_del(z); /* delete, line 179 */ if (ret < 0) return ret; } break; } z->lb = m3; } return 1; }
static int r_attached_pronoun(struct SN_env * z) { int among_var; z->ket = z->c; /* [, line 87 */ if (!(find_among_b(z, a_2, 37))) return 0; /* substring, line 87 */ z->bra = z->c; /* ], line 87 */ among_var = find_among_b(z, a_3, 5); /* among, line 97 */ if (!(among_var)) return 0; { int ret = r_RV(z); if (ret == 0) return 0; /* call RV, line 97 */ if (ret < 0) return ret; } switch(among_var) { case 0: return 0; case 1: { int ret; ret = slice_del(z); /* delete, line 98 */ if (ret < 0) return ret; } break; case 2: { int ret; ret = slice_from_s(z, 1, s_12); /* <-, line 99 */ if (ret < 0) return ret; } break; } return 1; }
static int r_en_ending(struct SN_env * z) { { int ret = r_R1(z); if (ret == 0) return 0; /* call R1, line 102 */ if (ret < 0) return ret; } { int m = z->l - z->c; (void) m; /* and, line 102 */ if (!(out_grouping_b_U(z, g_v, 97, 232))) return 0; z->c = z->l - m; { int m = z->l - z->c; (void) m; /* not, line 102 */ if (!(eq_s_b(z, 3, s_14))) goto lab0; return 0; lab0: z->c = z->l - m; } } { int ret; ret = slice_del(z); /* delete, line 102 */ if (ret < 0) return ret; } { int ret = r_undouble(z); if (ret == 0) return 0; /* call undouble, line 103 */ if (ret < 0) return ret; } return 1; }
static int r_other_endings(struct SN_env * z) { int among_var; { int m3; /* setlimit, line 142 */ int m = z->l - z->c; (void) m; if (z->c < z->I[1]) return 0; z->c = z->I[1]; /* tomark, line 142 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 142 */ among_var = find_among_b(z, a_7, 14); /* substring, line 142 */ if (!(among_var)) { z->lb = m3; return 0; } z->bra = z->c; /* ], line 142 */ z->lb = m3; } switch(among_var) { case 0: return 0; case 1: { int m = z->l - z->c; (void) m; /* not, line 146 */ if (!(eq_s_b(z, 2, s_12))) goto lab0; return 0; lab0: z->c = z->l - m; } break; } { int ret; ret = slice_del(z); /* delete, line 151 */ if (ret < 0) return ret; } return 1; }
static int r_particle_etc(struct SN_env * z) { int among_var; { int m3; /* setlimit, line 55 */ int m = z->l - z->c; (void) m; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 55 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 55 */ among_var = find_among_b(z, a_0, 10); /* substring, line 55 */ if (!(among_var)) { z->lb = m3; return 0; } z->bra = z->c; /* ], line 55 */ z->lb = m3; } switch(among_var) { case 0: return 0; case 1: if (!(in_grouping_b(z, g_particle_end, 97, 246))) return 0; break; case 2: { int ret = r_R2(z); if (ret == 0) return 0; /* call R2, line 64 */ if (ret < 0) return ret; } break; } { int ret; ret = slice_del(z); /* delete, line 66 */ if (ret < 0) return ret; } return 1; }
static int r_i_verb_suffix(struct SN_env * z) { int among_var; { int m3; /* setlimit, line 154 */ int m = z->l - z->c; (void) m; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 154 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 155 */ among_var = find_among_b(z, a_4, 35); /* substring, line 155 */ if (!(among_var)) { z->lb = m3; return 0; } z->bra = z->c; /* ], line 155 */ switch(among_var) { case 0: { z->lb = m3; return 0; } case 1: if (!(out_grouping_b_U(z, g_v, 97, 251))) { z->lb = m3; return 0; } { int ret; ret = slice_del(z); /* delete, line 161 */ if (ret < 0) return ret; } break; } z->lb = m3; } return 1; }
static int r_i_plural(struct SN_env * z) { { int mlimit; /* setlimit, line 154 */ int m1 = z->l - z->c; (void)m1; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 154 */ mlimit = z->lb; z->lb = z->c; z->c = z->l - m1; z->ket = z->c; /* [, line 154 */ if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 106)) { z->lb = mlimit; return 0; } if (!(find_among_b(z, a_8, 2))) { z->lb = mlimit; /* substring, line 154 */ return 0; } z->bra = z->c; /* ], line 154 */ z->lb = mlimit; } { int ret = slice_del(z); /* delete, line 158 */ if (ret < 0) return ret; } return 1; }
static int r_main_suffix(struct SN_env * z) { int among_var; { int m3; /* setlimit, line 38 */ int m = z->l - z->c; (void) m; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 38 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 38 */ among_var = find_among_b(z, a_0, 29); /* substring, line 38 */ if (!(among_var)) { z->lb = m3; return 0; } z->bra = z->c; /* ], line 38 */ z->lb = m3; } switch(among_var) { case 0: return 0; case 1: { int ret; ret = slice_del(z); /* delete, line 44 */ if (ret < 0) return ret; } break; case 2: { int m = z->l - z->c; (void) m; /* or, line 46 */ if (!(in_grouping_b_U(z, g_s_ending, 98, 122))) goto lab1; goto lab0; lab1: z->c = z->l - m; if (!(eq_s_b(z, 1, s_0))) return 0; if (!(out_grouping_b_U(z, g_v, 97, 248))) return 0; } lab0: { int ret; ret = slice_del(z); /* delete, line 46 */ if (ret < 0) return ret; } break; case 3: { int ret; ret = slice_from_s(z, 2, s_1); /* <-, line 48 */ if (ret < 0) return ret; } break; } return 1; }
extern int portuguese_stem(struct SN_env * z) { { int c = z->c; /* do, line 200 */ if (!r_prelude(z)) goto lab0; /* call prelude, line 200 */ lab0: z->c = c; } { int c = z->c; /* do, line 201 */ if (!r_mark_regions(z)) goto lab1; /* call mark_regions, line 201 */ lab1: z->c = c; } z->lb = z->c; z->c = z->l; /* backwards, line 202 */ { int m = z->l - z->c; /* do, line 203 */ { int m = z->l - z->c; /* or, line 207 */ { int m = z->l - z->c; /* or, line 204 */ if (!r_standard_suffix(z)) goto lab6; /* call standard_suffix, line 204 */ goto lab5; lab6: z->c = z->l - m; if (!r_verb_suffix(z)) goto lab4; /* call verb_suffix, line 204 */ } lab5: { int m = z->l - z->c; /* do, line 205 */ z->ket = z->c; /* [, line 205 */ if (!(eq_s_b(z, 1, s_16))) goto lab7; z->bra = z->c; /* ], line 205 */ { int m_test = z->l - z->c; /* test, line 205 */ if (!(eq_s_b(z, 1, s_17))) goto lab7; z->c = z->l - m_test; } if (!r_RV(z)) goto lab7; /* call RV, line 205 */ slice_del(z); /* delete, line 205 */ lab7: z->c = z->l - m; } goto lab3; lab4: z->c = z->l - m; if (!r_residual_suffix(z)) goto lab2; /* call residual_suffix, line 207 */ } lab3: lab2: z->c = z->l - m; } { int m = z->l - z->c; /* do, line 209 */ if (!r_residual_form(z)) goto lab8; /* call residual_form, line 209 */ lab8: z->c = z->l - m; } z->c = z->lb; { int c = z->c; /* do, line 211 */ if (!r_postlude(z)) goto lab9; /* call postlude, line 211 */ lab9: z->c = c; } return 1; }
static int r_vowel_suffix(struct SN_env * z) { { int m = z->l - z->c; (void) m; /* try, line 171 */ z->ket = z->c; /* [, line 172 */ if (!(in_grouping_b(z, g_AEIO, 97, 242))) { z->c = z->l - m; goto lab0; } z->bra = z->c; /* ], line 172 */ { int ret = r_RV(z); if (ret == 0) { z->c = z->l - m; goto lab0; } /* call RV, line 172 */ if (ret < 0) return ret; } { int ret; ret = slice_del(z); /* delete, line 172 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 173 */ if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m; goto lab0; } z->bra = z->c; /* ], line 173 */ { int ret = r_RV(z); if (ret == 0) { z->c = z->l - m; goto lab0; } /* call RV, line 173 */ if (ret < 0) return ret; } { int ret; ret = slice_del(z); /* delete, line 173 */ if (ret < 0) return ret; } lab0: ; } { int m = z->l - z->c; (void) m; /* try, line 175 */ z->ket = z->c; /* [, line 176 */ if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m; goto lab1; } z->bra = z->c; /* ], line 176 */ if (!(in_grouping_b(z, g_CG, 99, 103))) { z->c = z->l - m; goto lab1; } { int ret = r_RV(z); if (ret == 0) { z->c = z->l - m; goto lab1; } /* call RV, line 176 */ if (ret < 0) return ret; } { int ret; ret = slice_del(z); /* delete, line 176 */ if (ret < 0) return ret; } lab1: ; } return 1; }
static int r_t_plural(struct SN_env * z) { /* backwardmode */ int among_var; { int mlimit1; /* setlimit, line 162 */ if (z->c < z->I[0]) return 0; mlimit1 = z->lb; z->lb = z->I[0]; z->ket = z->c; /* [, line 163 */ if (z->c <= z->lb || z->p[z->c - 1] != 't') { z->lb = mlimit1; return 0; } /* literal, line 163 */ z->c--; z->bra = z->c; /* ], line 163 */ { int m_test2 = z->l - z->c; /* test, line 163 */ if (in_grouping_b_U(z, g_V1, 97, 246, 0)) { z->lb = mlimit1; return 0; } /* grouping V1, line 163 */ z->c = z->l - m_test2; } { int ret = slice_del(z); /* delete, line 164 */ if (ret < 0) return ret; } z->lb = mlimit1; } { int mlimit3; /* setlimit, line 166 */ if (z->c < z->I[1]) return 0; mlimit3 = z->lb; z->lb = z->I[1]; z->ket = z->c; /* [, line 166 */ if (z->c - 2 <= z->lb || z->p[z->c - 1] != 97) { z->lb = mlimit3; return 0; } /* substring, line 166 */ among_var = find_among_b(z, a_9, 2); if (!(among_var)) { z->lb = mlimit3; return 0; } z->bra = z->c; /* ], line 166 */ z->lb = mlimit3; } switch (among_var) { /* among, line 167 */ case 1: { int m4 = z->l - z->c; (void)m4; /* not, line 168 */ if (!(eq_s_b(z, 2, s_6))) goto lab0; /* literal, line 168 */ return 0; lab0: z->c = z->l - m4; } break; } { int ret = slice_del(z); /* delete, line 171 */ if (ret < 0) return ret; } return 1; }
static int r_prelude(struct SN_env * z) { z->B[0] = 0; /* unset Y_found, line 26 */ { int c = z->c; /* do, line 27 */ z->bra = z->c; /* [, line 27 */ if (!(eq_s(z, 1, s_0))) goto lab0; z->ket = z->c; /* ], line 27 */ { int ret; ret = slice_del(z); /* delete, line 27 */ if (ret < 0) return ret; } lab0: z->c = c; } { int c = z->c; /* do, line 28 */ z->bra = z->c; /* [, line 28 */ if (!(eq_s(z, 1, s_1))) goto lab1; z->ket = z->c; /* ], line 28 */ if (!(in_grouping(z, g_v, 97, 121))) goto lab1; { int ret; ret = slice_from_s(z, 1, s_2); /* <-, line 28 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 28 */ lab1: z->c = c; } { int c = z->c; /* do, line 29 */ while(1) { /* repeat, line 29 */ int c = z->c; while(1) { /* goto, line 29 */ int c = z->c; if (!(in_grouping(z, g_v, 97, 121))) goto lab4; z->bra = z->c; /* [, line 29 */ if (!(eq_s(z, 1, s_3))) goto lab4; z->ket = z->c; /* ], line 29 */ z->c = c; break; lab4: z->c = c; if (z->c >= z->l) goto lab3; z->c++; /* goto, line 29 */ } { int ret; ret = slice_from_s(z, 1, s_4); /* <-, line 29 */ if (ret < 0) return ret; } z->B[0] = 1; /* set Y_found, line 29 */ continue; lab3: z->c = c; break; } z->c = c; } return 1; }
static int r_remove_suffix(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 132 */ if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 110)) return 0; /* substring, line 132 */ if (!(find_among_b(z, a_2, 3))) return 0; z->bra = z->c; /* ], line 132 */ { int ret = slice_del(z); /* delete, line 134 */ if (ret < 0) return ret; } z->I[0] -= 1; /* $measure -= <integer expression>, line 134 */ return 1; }
static int r_remove_possessive_pronoun(struct SN_env * z) { /* backwardmode */ z->ket = z->c; /* [, line 57 */ if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 97 && z->p[z->c - 1] != 117)) return 0; /* substring, line 57 */ if (!(find_among_b(z, a_1, 3))) return 0; z->bra = z->c; /* ], line 57 */ { int ret = slice_del(z); /* delete, line 58 */ if (ret < 0) return ret; } z->I[0] -= 1; /* $measure -= <integer expression>, line 58 */ return 1; }
static int r_verb_suffix(struct SN_env * z) { int among_var; { int m3; /* setlimit, line 176 */ int m = z->l - z->c; (void) m; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 176 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 176 */ among_var = find_among_b(z, a_8, 96); /* substring, line 176 */ if (!(among_var)) { z->lb = m3; return 0; } z->bra = z->c; /* ], line 176 */ z->lb = m3; } switch(among_var) { case 0: return 0; case 1: { int m = z->l - z->c; (void) m; /* try, line 179 */ if (!(eq_s_b(z, 1, s_18))) { z->c = z->l - m; goto lab0; } { int m_test = z->l - z->c; /* test, line 179 */ if (!(eq_s_b(z, 1, s_19))) { z->c = z->l - m; goto lab0; } z->c = z->l - m_test; } lab0: ; } z->bra = z->c; /* ], line 179 */ { int ret; ret = slice_del(z); /* delete, line 179 */ if (ret < 0) return ret; } break; case 2: { int ret; ret = slice_del(z); /* delete, line 200 */ if (ret < 0) return ret; } break; } return 1; }
static int r_un_double(struct SN_env * z) { { int m_test = z->l - z->c; /* test, line 203 */ if (!(find_among_b(z, a_7, 5))) return 0; /* among, line 203 */ z->c = z->l - m_test; } z->ket = z->c; /* [, line 203 */ if (z->c <= z->lb) return 0; z->c--; /* next, line 203 */ z->bra = z->c; /* ], line 203 */ slice_del(z); /* delete, line 203 */ return 1; }
static int r_adjectival(struct SN_env * z) { int among_var; { int ret = r_adjective(z); if (ret == 0) return 0; /* call adjective, line 104 */ if (ret < 0) return ret; } { int m = z->l - z->c; (void) m; /* try, line 111 */ z->ket = z->c; /* [, line 112 */ among_var = find_among_b(z, a_2, 8); /* substring, line 112 */ if (!(among_var)) { z->c = z->l - m; goto lab0; } z->bra = z->c; /* ], line 112 */ switch(among_var) { case 0: { z->c = z->l - m; goto lab0; } case 1: { int m = z->l - z->c; (void) m; /* or, line 117 */ if (!(eq_s_b(z, 1, s_2))) goto lab2; goto lab1; lab2: z->c = z->l - m; if (!(eq_s_b(z, 1, s_3))) { z->c = z->l - m; goto lab0; } } lab1: { int ret; ret = slice_del(z); /* delete, line 117 */ if (ret < 0) return ret; } break; case 2: { int ret; ret = slice_del(z); /* delete, line 124 */ if (ret < 0) return ret; } break; } lab0: ; } return 1; }
static int r_case_other(struct SN_env * z) { int among_var; z->ket = z->c; /* [, line 124 */ among_var = find_among_b(z, a_6, 6); /* substring, line 124 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 124 */ { int ret = r_R1(z); if (ret == 0) return 0; /* call R1, line 124 */ if (ret < 0) return ret; } switch(among_var) { case 0: return 0; case 1: { int ret; ret = slice_del(z); /* delete, line 125 */ if (ret < 0) return ret; } break; case 2: { int ret; ret = slice_del(z); /* delete, line 126 */ if (ret < 0) return ret; } break; case 3: { int ret; ret = slice_from_s(z, 1, s_5); /* <-, line 127 */ if (ret < 0) return ret; } break; case 4: { int ret; ret = slice_from_s(z, 1, s_6); /* <-, line 128 */ if (ret < 0) return ret; } break; } return 1; }
static int r_residual_form(struct SN_env * z) { int among_var; z->ket = z->c; /* [, line 190 */ among_var = find_among_b(z, a_8, 4); /* substring, line 190 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 190 */ switch(among_var) { case 0: return 0; case 1: if (!r_RV(z)) return 0; /* call RV, line 192 */ slice_del(z); /* delete, line 192 */ z->ket = z->c; /* [, line 192 */ { int m = z->l - z->c; /* or, line 192 */ if (!(eq_s_b(z, 1, s_11))) goto lab1; z->bra = z->c; /* ], line 192 */ { int m_test = z->l - z->c; /* test, line 192 */ if (!(eq_s_b(z, 1, s_12))) goto lab1; z->c = z->l - m_test; } goto lab0; lab1: z->c = z->l - m; if (!(eq_s_b(z, 1, s_13))) return 0; z->bra = z->c; /* ], line 193 */ { int m_test = z->l - z->c; /* test, line 193 */ if (!(eq_s_b(z, 1, s_14))) return 0; z->c = z->l - m_test; } } lab0: if (!r_RV(z)) return 0; /* call RV, line 193 */ slice_del(z); /* delete, line 193 */ break; case 2: slice_from_s(z, 1, s_15); /* <-, line 194 */ break; } return 1; }
static int r_tidy_up(struct SN_env * z) { int among_var; z->ket = z->c; /* [, line 186 */ among_var = find_among_b(z, a_7, 4); /* substring, line 186 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 186 */ switch(among_var) { case 0: return 0; case 1: { int ret; ret = slice_del(z); /* delete, line 190 */ if (ret < 0) return ret; } z->ket = z->c; /* [, line 191 */ if (!(eq_s_b(z, 1, s_6))) return 0; z->bra = z->c; /* ], line 191 */ if (!(eq_s_b(z, 1, s_7))) return 0; { int ret; ret = slice_del(z); /* delete, line 191 */ if (ret < 0) return ret; } break; case 2: if (!(eq_s_b(z, 1, s_8))) return 0; { int ret; ret = slice_del(z); /* delete, line 194 */ if (ret < 0) return ret; } break; case 3: { int ret; ret = slice_del(z); /* delete, line 196 */ if (ret < 0) return ret; } break; } return 1; }
static int r_remove_second_order_prefix(struct SN_env * z) { /* forwardmode */ int among_var; z->bra = z->c; /* [, line 162 */ if (z->c + 1 >= z->l || z->p[z->c + 1] != 101) return 0; /* substring, line 162 */ among_var = find_among(z, a_4, 6); if (!(among_var)) return 0; z->ket = z->c; /* ], line 162 */ switch (among_var) { /* among, line 162 */ case 1: { int ret = slice_del(z); /* delete, line 163 */ if (ret < 0) return ret; } z->I[1] = 2; /* $prefix = <integer expression>, line 163 */ z->I[0] -= 1; /* $measure -= <integer expression>, line 163 */ break; case 2: { int ret = slice_from_s(z, 4, s_5); /* <-, line 164 */ if (ret < 0) return ret; } z->I[0] -= 1; /* $measure -= <integer expression>, line 164 */ break; case 3: { int ret = slice_del(z); /* delete, line 165 */ if (ret < 0) return ret; } z->I[1] = 4; /* $prefix = <integer expression>, line 165 */ z->I[0] -= 1; /* $measure -= <integer expression>, line 165 */ break; case 4: { int ret = slice_from_s(z, 4, s_6); /* <-, line 166 */ if (ret < 0) return ret; } z->I[1] = 4; /* $prefix = <integer expression>, line 166 */ z->I[0] -= 1; /* $measure -= <integer expression>, line 166 */ break; } return 1; }
static int r_main_suffix(struct SN_env * z) { int among_var; { int m3; /* setlimit, line 37 */ int m = z->l - z->c; (void) m; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 37 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 37 */ among_var = find_among_b(z, a_0, 37); /* substring, line 37 */ if (!(among_var)) { z->lb = m3; return 0; } z->bra = z->c; /* ], line 37 */ z->lb = m3; } switch(among_var) { case 0: return 0; case 1: { int ret; ret = slice_del(z); /* delete, line 44 */ if (ret < 0) return ret; } break; case 2: if (!(in_grouping_b(z, g_s_ending, 98, 121))) return 0; { int ret; ret = slice_del(z); /* delete, line 46 */ if (ret < 0) return ret; } break; } return 1; }
static int r_verb_suffix(struct SN_env * z) { int among_var; { int m = z->l - z->c; /* setlimit, line 165 */ int m3; if (z->c < z->I[0]) return 0; z->c = z->I[0]; /* tomark, line 165 */ m3 = z->lb; z->lb = z->c; z->c = z->l - m; z->ket = z->c; /* [, line 166 */ among_var = find_among_b(z, a_5, 38); /* substring, line 166 */ if (!(among_var)) { z->lb = m3; return 0; } z->bra = z->c; /* ], line 166 */ switch(among_var) { case 0: { z->lb = m3; return 0; } case 1: if (!r_R2(z)) { z->lb = m3; return 0; } /* call R2, line 168 */ slice_del(z); /* delete, line 168 */ break; case 2: slice_del(z); /* delete, line 176 */ break; case 3: slice_del(z); /* delete, line 181 */ { int m = z->l - z->c; /* try, line 182 */ z->ket = z->c; /* [, line 182 */ if (!(eq_s_b(z, 1, s_32))) { z->c = z->l - m; goto lab0; } z->bra = z->c; /* ], line 182 */ slice_del(z); /* delete, line 182 */ lab0: ; } break; } z->lb = m3; } return 1; }
static int r_Step_5b(struct SN_env * z) { z->ket = z->c; /* [, line 107 */ if (!(eq_s_b(z, 1, s_27))) return 0; z->bra = z->c; /* ], line 107 */ { int ret = r_R2(z); if (ret == 0) return 0; /* call R2, line 108 */ if (ret < 0) return ret; } if (!(eq_s_b(z, 1, s_28))) return 0; { int ret; ret = slice_del(z); /* delete, line 109 */ if (ret < 0) return ret; } return 1; }
static int r_residual_suffix(struct SN_env * z) { int among_var; z->ket = z->c; /* [, line 182 */ among_var = find_among_b(z, a_7, 7); /* substring, line 182 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 182 */ switch(among_var) { case 0: return 0; case 1: if (!r_RV(z)) return 0; /* call RV, line 185 */ slice_del(z); /* delete, line 185 */ break; } return 1; }