📄 english_stem.c
字号:
return 1;}static intr_Step_1b(struct SN_env * z){ int among_var; z->ket = z->c; /* [, line 64 */ among_var = find_among_b(z, a_3, 6); /* substring, line 64 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 64 */ switch (among_var) { case 0: return 0; case 1: if (!r_R1(z)) return 0; /* call R1, line 66 */ slice_from_s(z, 2, s_7); /* <-, line 66 */ break; case 2: { int m_test = z->l - z->c; /* test, line 69 */ while (1) { /* gopast, line 69 */ if (!(in_grouping_b(z, g_v, 97, 121))) goto lab0; break; lab0: if (z->c <= z->lb) return 0; z->c--; } z->c = z->l - m_test; } slice_del(z); /* delete, line 69 */ { int m_test = z->l - z->c; /* test, line 70 */ among_var = find_among_b(z, a_2, 13); /* substring, line 70 */ if (!(among_var)) return 0; z->c = z->l - m_test; } switch (among_var) { case 0: return 0; case 1: { int c = z->c; insert_s(z, z->c, z->c, 1, s_8); /* <+, line 72 */ z->c = c; } break; case 2: z->ket = z->c; /* [, line 75 */ if (z->c <= z->lb) return 0; z->c--; /* next, line 75 */ z->bra = z->c; /* ], line 75 */ slice_del(z); /* delete, line 75 */ break; case 3: if (z->c != z->I[0]) return 0; /* atmark, line 76 */ { int m_test = z->l - z->c; /* test, line 76 */ if (!r_shortv(z)) return 0; /* call shortv, line 76 */ z->c = z->l - m_test; } { int c = z->c; insert_s(z, z->c, z->c, 1, s_9); /* <+, line 76 */ z->c = c; } break; } break; } return 1;}static intr_Step_1c(struct SN_env * z){ z->ket = z->c; /* [, line 83 */ { int m = z->l - z->c; /* or, line 83 */ if (!(eq_s_b(z, 1, s_10))) goto lab1; goto lab0;lab1: z->c = z->l - m; if (!(eq_s_b(z, 1, s_11))) return 0; }lab0: z->bra = z->c; /* ], line 83 */ if (!(out_grouping_b(z, g_v, 97, 121))) return 0; { int m = z->l - z->c; /* not, line 84 */ if (z->c > z->lb) goto lab2; /* atlimit, line 84 */ return 0;lab2: z->c = z->l - m; } slice_from_s(z, 1, s_12); /* <-, line 85 */ return 1;}static intr_Step_2(struct SN_env * z){ int among_var; z->ket = z->c; /* [, line 89 */ among_var = find_among_b(z, a_4, 24); /* substring, line 89 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 89 */ if (!r_R1(z)) return 0; /* call R1, line 89 */ switch (among_var) { case 0: return 0; case 1: slice_from_s(z, 4, s_13); /* <-, line 90 */ break; case 2: slice_from_s(z, 4, s_14); /* <-, line 91 */ break; case 3: slice_from_s(z, 4, s_15); /* <-, line 92 */ break; case 4: slice_from_s(z, 4, s_16); /* <-, line 93 */ break; case 5: slice_from_s(z, 3, s_17); /* <-, line 94 */ break; case 6: slice_from_s(z, 3, s_18); /* <-, line 96 */ break; case 7: slice_from_s(z, 3, s_19); /* <-, line 98 */ break; case 8: slice_from_s(z, 2, s_20); /* <-, line 100 */ break; case 9: slice_from_s(z, 3, s_21); /* <-, line 101 */ break; case 10: slice_from_s(z, 3, s_22); /* <-, line 103 */ break; case 11: slice_from_s(z, 3, s_23); /* <-, line 105 */ break; case 12: slice_from_s(z, 3, s_24); /* <-, line 107 */ break; case 13: if (!(eq_s_b(z, 1, s_25))) return 0; slice_from_s(z, 2, s_26); /* <-, line 108 */ break; case 14: slice_from_s(z, 3, s_27); /* <-, line 109 */ break; case 15: slice_from_s(z, 4, s_28); /* <-, line 110 */ break; case 16: if (!(in_grouping_b(z, g_valid_LI, 99, 116))) return 0; slice_del(z); /* delete, line 111 */ break; } return 1;}static intr_Step_3(struct SN_env * z){ int among_var; z->ket = z->c; /* [, line 116 */ among_var = find_among_b(z, a_5, 9); /* substring, line 116 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 116 */ if (!r_R1(z)) return 0; /* call R1, line 116 */ switch (among_var) { case 0: return 0; case 1: slice_from_s(z, 4, s_29); /* <-, line 117 */ break; case 2: slice_from_s(z, 3, s_30); /* <-, line 118 */ break; case 3: slice_from_s(z, 2, s_31); /* <-, line 119 */ break; case 4: slice_from_s(z, 2, s_32); /* <-, line 121 */ break; case 5: slice_del(z); /* delete, line 123 */ break; case 6: if (!r_R2(z)) return 0; /* call R2, line 125 */ slice_del(z); /* delete, line 125 */ break; } return 1;}static intr_Step_4(struct SN_env * z){ int among_var; z->ket = z->c; /* [, line 130 */ among_var = find_among_b(z, a_6, 18); /* substring, line 130 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 130 */ if (!r_R2(z)) return 0; /* call R2, line 130 */ switch (among_var) { case 0: return 0; case 1: slice_del(z); /* delete, line 133 */ break; case 2: { int m = z->l - z->c; /* or, line 134 */ if (!(eq_s_b(z, 1, s_33))) goto lab1; goto lab0; lab1: z->c = z->l - m; if (!(eq_s_b(z, 1, s_34))) return 0; } lab0: slice_del(z); /* delete, line 134 */ break; } return 1;}static intr_Step_5(struct SN_env * z){ int among_var; z->ket = z->c; /* [, line 139 */ among_var = find_among_b(z, a_7, 2); /* substring, line 139 */ if (!(among_var)) return 0; z->bra = z->c; /* ], line 139 */ switch (among_var) { case 0: return 0; case 1: { int m = z->l - z->c; /* or, line 140 */ if (!r_R2(z)) goto lab1; /* call R2, line 140 */ goto lab0; lab1: z->c = z->l - m; if (!r_R1(z)) return 0; /* call R1, line 140 */ { int m = z->l - z->c; /* not, line 140 */ if (!r_shortv(z)) goto lab2; /* call shortv, line 140 */ return 0; lab2: z->c = z->l - m; } } lab0: slice_del(z); /* delete, line 140 */ break; case 2: if (!r_R2(z)) return 0; /* call R2, line 141 */ if (!(eq_s_b(z, 1, s_35))) return 0; slice_del(z); /* delete, line 141 */ break; } return 1;}static intr_exception2(struct SN_env * z){ z->ket = z->c; /* [, line 147 */ if (!(find_among_b(z, a_8, 8))) return 0; /* substring, line 147 */ z->bra = z->c; /* ], line 147 */ if (z->c > z->lb) return 0; /* atlimit, line 147 */ return 1;}static intr_exception1(struct SN_env * z){ int among_var; z->bra = z->c; /* [, line 159 */ among_var = find_among(z, a_9, 18); /* substring, line 159 */ if (!(among_var)) return 0; z->ket = z->c; /* ], line 159 */ if (z->c < z->l) return 0; /* atlimit, line 159 */ switch (among_var) { case 0: return 0; case 1: slice_from_s(z, 3, s_36); /* <-, line 163 */ break; case 2: slice_from_s(z, 3, s_37); /* <-, line 164 */ break; case 3: slice_from_s(z, 3, s_38); /* <-, line 165 */ break; case 4: slice_from_s(z, 3, s_39); /* <-, line 166 */ break; case 5: slice_from_s(z, 3, s_40); /* <-, line 167 */ break; case 6: slice_from_s(z, 3, s_41); /* <-, line 171 */ break; case 7: slice_from_s(z, 5, s_42); /* <-, line 172 */ break; case 8: slice_from_s(z, 4, s_43); /* <-, line 173 */ break; case 9: slice_from_s(z, 5, s_44); /* <-, line 174 */ break; case 10: slice_from_s(z, 4, s_45); /* <-, line 175 */ break; case 11: slice_from_s(z, 5, s_46); /* <-, line 176 */ break; } return 1;}static intr_postlude(struct SN_env * z){ if (!(z->B[0])) return 0; /* Boolean test Y_found, line 192 */ while (1) { /* repeat, line 192 */ int c = z->c; while (1) { /* goto, line 192 */ int c = z->c; z->bra = z->c; /* [, line 192 */ if (!(eq_s(z, 1, s_47))) goto lab1; z->ket = z->c; /* ], line 192 */ z->c = c; break; lab1: z->c = c; if (z->c >= z->l) goto lab0; z->c++; } slice_from_s(z, 1, s_48); /* <-, line 192 */ continue;lab0: z->c = c; break; } return 1;}extern intenglish_stem(struct SN_env * z){ { int c = z->c; /* or, line 196 */ if (!r_exception1(z)) goto lab1; /* call exception1, line 196 */ goto lab0;lab1: z->c = c; { int c_test = z->c; /* test, line 198 */ { int c = z->c + 3; if (0 > c || c > z->l) return 0; z->c = c; /* hop, line 198 */ } z->c = c_test; } { int c = z->c; /* do, line 199 */ if (!r_prelude(z)) goto lab2; /* call prelude, line 199 */ lab2: z->c = c; } { int c = z->c; /* do, line 200 */ if (!r_mark_regions(z)) goto lab3; /* call mark_regions, line 200 */ lab3: z->c = c; } z->lb = z->c; z->c = z->l; /* backwards, line 201 */ { int m = z->l - z->c; /* do, line 203 */ if (!r_Step_1a(z)) goto lab4; /* call Step_1a, line 203 */ lab4: z->c = z->l - m; } { int m = z->l - z->c; /* or, line 205 */ if (!r_exception2(z)) goto lab6; /* call exception2, line 205 */ goto lab5; lab6: z->c = z->l - m; { int m = z->l - z->c; /* do, line 207 */ if (!r_Step_1b(z)) goto lab7; /* call Step_1b, line 207 */ lab7: z->c = z->l - m; } { int m = z->l - z->c; /* do, line 208 */ if (!r_Step_1c(z)) goto lab8; /* call Step_1c, line 208 */ lab8: z->c = z->l - m; } { int m = z->l - z->c; /* do, line 210 */ if (!r_Step_2(z)) goto lab9; /* call Step_2, line 210 */ lab9: z->c = z->l - m; } { int m = z->l - z->c; /* do, line 211 */ if (!r_Step_3(z)) goto lab10; /* call Step_3, line 211 */ lab10: z->c = z->l - m; } { int m = z->l - z->c; /* do, line 212 */ if (!r_Step_4(z)) goto lab11; /* call Step_4, line 212 */ lab11: z->c = z->l - m; } { int m = z->l - z->c; /* do, line 214 */ if (!r_Step_5(z)) goto lab12; /* call Step_5, line 214 */ lab12: z->c = z->l - m; } }lab5: z->c = z->lb; { int c = z->c; /* do, line 217 */ if (!r_postlude(z)) goto lab13; /* call postlude, line 217 */ lab13: z->c = c; } }lab0: return 1;}extern struct SN_env *english_create_env(void){ return SN_create_env(0, 2, 1);}extern voidenglish_close_env(struct SN_env * z){ SN_close_env(z);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -