ferret 0.11.6 → 0.11.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (185) hide show
  1. data/README +10 -22
  2. data/RELEASE_CHANGES +137 -0
  3. data/RELEASE_NOTES +60 -0
  4. data/Rakefile +379 -274
  5. data/TODO +100 -8
  6. data/bin/ferret-browser +0 -0
  7. data/ext/BZLIB_blocksort.c +1094 -0
  8. data/ext/BZLIB_bzlib.c +1578 -0
  9. data/ext/BZLIB_compress.c +672 -0
  10. data/ext/BZLIB_crctable.c +104 -0
  11. data/ext/BZLIB_decompress.c +626 -0
  12. data/ext/BZLIB_huffman.c +205 -0
  13. data/ext/BZLIB_randtable.c +84 -0
  14. data/ext/{api.c → STEMMER_api.c} +7 -10
  15. data/ext/{libstemmer.c → STEMMER_libstemmer.c} +3 -2
  16. data/ext/{stem_ISO_8859_1_danish.c → STEMMER_stem_ISO_8859_1_danish.c} +123 -124
  17. data/ext/{stem_ISO_8859_1_dutch.c → STEMMER_stem_ISO_8859_1_dutch.c} +177 -188
  18. data/ext/STEMMER_stem_ISO_8859_1_english.c +1117 -0
  19. data/ext/{stem_ISO_8859_1_finnish.c → STEMMER_stem_ISO_8859_1_finnish.c} +276 -306
  20. data/ext/STEMMER_stem_ISO_8859_1_french.c +1246 -0
  21. data/ext/{stem_ISO_8859_1_german.c → STEMMER_stem_ISO_8859_1_german.c} +161 -170
  22. data/ext/STEMMER_stem_ISO_8859_1_hungarian.c +1230 -0
  23. data/ext/STEMMER_stem_ISO_8859_1_italian.c +1065 -0
  24. data/ext/STEMMER_stem_ISO_8859_1_norwegian.c +297 -0
  25. data/ext/{stem_ISO_8859_1_porter.c → STEMMER_stem_ISO_8859_1_porter.c} +263 -290
  26. data/ext/{stem_ISO_8859_1_portuguese.c → STEMMER_stem_ISO_8859_1_portuguese.c} +362 -380
  27. data/ext/STEMMER_stem_ISO_8859_1_spanish.c +1093 -0
  28. data/ext/STEMMER_stem_ISO_8859_1_swedish.c +307 -0
  29. data/ext/STEMMER_stem_ISO_8859_2_romanian.c +998 -0
  30. data/ext/{stem_KOI8_R_russian.c → STEMMER_stem_KOI8_R_russian.c} +244 -245
  31. data/ext/STEMMER_stem_UTF_8_danish.c +339 -0
  32. data/ext/{stem_UTF_8_dutch.c → STEMMER_stem_UTF_8_dutch.c} +192 -211
  33. data/ext/STEMMER_stem_UTF_8_english.c +1125 -0
  34. data/ext/{stem_UTF_8_finnish.c → STEMMER_stem_UTF_8_finnish.c} +284 -324
  35. data/ext/STEMMER_stem_UTF_8_french.c +1256 -0
  36. data/ext/{stem_UTF_8_german.c → STEMMER_stem_UTF_8_german.c} +170 -187
  37. data/ext/STEMMER_stem_UTF_8_hungarian.c +1234 -0
  38. data/ext/STEMMER_stem_UTF_8_italian.c +1073 -0
  39. data/ext/STEMMER_stem_UTF_8_norwegian.c +299 -0
  40. data/ext/{stem_UTF_8_porter.c → STEMMER_stem_UTF_8_porter.c} +271 -310
  41. data/ext/STEMMER_stem_UTF_8_portuguese.c +1023 -0
  42. data/ext/STEMMER_stem_UTF_8_romanian.c +1004 -0
  43. data/ext/STEMMER_stem_UTF_8_russian.c +694 -0
  44. data/ext/STEMMER_stem_UTF_8_spanish.c +1097 -0
  45. data/ext/STEMMER_stem_UTF_8_swedish.c +309 -0
  46. data/ext/STEMMER_stem_UTF_8_turkish.c +2205 -0
  47. data/ext/{utilities.c → STEMMER_utilities.c} +100 -68
  48. data/ext/analysis.c +276 -121
  49. data/ext/analysis.h +190 -143
  50. data/ext/api.h +3 -4
  51. data/ext/array.c +5 -3
  52. data/ext/array.h +52 -43
  53. data/ext/bitvector.c +38 -482
  54. data/ext/bitvector.h +446 -124
  55. data/ext/bzlib.h +282 -0
  56. data/ext/bzlib_private.h +503 -0
  57. data/ext/compound_io.c +23 -22
  58. data/ext/config.h +21 -11
  59. data/ext/document.c +43 -40
  60. data/ext/document.h +31 -21
  61. data/ext/except.c +20 -38
  62. data/ext/except.h +89 -76
  63. data/ext/extconf.rb +3 -2
  64. data/ext/ferret.c +49 -35
  65. data/ext/ferret.h +14 -11
  66. data/ext/field_index.c +262 -0
  67. data/ext/field_index.h +52 -0
  68. data/ext/filter.c +11 -10
  69. data/ext/fs_store.c +65 -47
  70. data/ext/global.c +245 -165
  71. data/ext/global.h +252 -54
  72. data/ext/hash.c +200 -243
  73. data/ext/hash.h +205 -163
  74. data/ext/hashset.c +118 -96
  75. data/ext/hashset.h +110 -82
  76. data/ext/header.h +19 -19
  77. data/ext/helper.c +11 -10
  78. data/ext/helper.h +14 -6
  79. data/ext/index.c +745 -366
  80. data/ext/index.h +503 -529
  81. data/ext/internal.h +1020 -0
  82. data/ext/lang.c +10 -0
  83. data/ext/lang.h +35 -15
  84. data/ext/mempool.c +5 -4
  85. data/ext/mempool.h +30 -22
  86. data/ext/modules.h +35 -7
  87. data/ext/multimapper.c +43 -2
  88. data/ext/multimapper.h +32 -23
  89. data/ext/posh.c +0 -0
  90. data/ext/posh.h +4 -38
  91. data/ext/priorityqueue.c +10 -12
  92. data/ext/priorityqueue.h +33 -21
  93. data/ext/q_boolean.c +22 -9
  94. data/ext/q_const_score.c +3 -2
  95. data/ext/q_filtered_query.c +15 -12
  96. data/ext/q_fuzzy.c +147 -135
  97. data/ext/q_match_all.c +3 -2
  98. data/ext/q_multi_term.c +28 -32
  99. data/ext/q_parser.c +451 -173
  100. data/ext/q_phrase.c +158 -79
  101. data/ext/q_prefix.c +16 -18
  102. data/ext/q_range.c +363 -31
  103. data/ext/q_span.c +130 -141
  104. data/ext/q_term.c +21 -21
  105. data/ext/q_wildcard.c +19 -23
  106. data/ext/r_analysis.c +369 -242
  107. data/ext/r_index.c +421 -434
  108. data/ext/r_qparser.c +142 -92
  109. data/ext/r_search.c +790 -407
  110. data/ext/r_store.c +44 -44
  111. data/ext/r_utils.c +264 -96
  112. data/ext/ram_store.c +29 -23
  113. data/ext/scanner.c +895 -0
  114. data/ext/scanner.h +36 -0
  115. data/ext/scanner_mb.c +6701 -0
  116. data/ext/scanner_utf8.c +4415 -0
  117. data/ext/search.c +210 -87
  118. data/ext/search.h +556 -488
  119. data/ext/similarity.c +17 -16
  120. data/ext/similarity.h +51 -44
  121. data/ext/sort.c +157 -354
  122. data/ext/stem_ISO_8859_1_hungarian.h +16 -0
  123. data/ext/stem_ISO_8859_2_romanian.h +16 -0
  124. data/ext/stem_UTF_8_hungarian.h +16 -0
  125. data/ext/stem_UTF_8_romanian.h +16 -0
  126. data/ext/stem_UTF_8_turkish.h +16 -0
  127. data/ext/stopwords.c +287 -278
  128. data/ext/store.c +57 -51
  129. data/ext/store.h +308 -286
  130. data/ext/symbol.c +10 -0
  131. data/ext/symbol.h +23 -0
  132. data/ext/term_vectors.c +14 -293
  133. data/ext/threading.h +22 -22
  134. data/ext/win32.h +12 -4
  135. data/lib/ferret.rb +2 -1
  136. data/lib/ferret/browser.rb +1 -1
  137. data/lib/ferret/field_symbol.rb +94 -0
  138. data/lib/ferret/index.rb +221 -34
  139. data/lib/ferret/number_tools.rb +6 -6
  140. data/lib/ferret/version.rb +3 -0
  141. data/test/{unit → long_running}/largefile/tc_largefile.rb +1 -1
  142. data/test/test_helper.rb +7 -2
  143. data/test/test_installed.rb +1 -0
  144. data/test/threading/thread_safety_index_test.rb +10 -1
  145. data/test/threading/thread_safety_read_write_test.rb +4 -7
  146. data/test/threading/thread_safety_test.rb +0 -0
  147. data/test/unit/analysis/tc_analyzer.rb +29 -27
  148. data/test/unit/analysis/tc_token_stream.rb +23 -16
  149. data/test/unit/index/tc_index.rb +116 -11
  150. data/test/unit/index/tc_index_reader.rb +27 -27
  151. data/test/unit/index/tc_index_writer.rb +10 -0
  152. data/test/unit/index/th_doc.rb +38 -21
  153. data/test/unit/search/tc_filter.rb +31 -10
  154. data/test/unit/search/tc_index_searcher.rb +6 -0
  155. data/test/unit/search/tm_searcher.rb +53 -1
  156. data/test/unit/store/tc_fs_store.rb +40 -2
  157. data/test/unit/store/tc_ram_store.rb +0 -0
  158. data/test/unit/store/tm_store.rb +0 -0
  159. data/test/unit/store/tm_store_lock.rb +7 -6
  160. data/test/unit/tc_field_symbol.rb +26 -0
  161. data/test/unit/ts_analysis.rb +0 -0
  162. data/test/unit/ts_index.rb +0 -0
  163. data/test/unit/ts_store.rb +0 -0
  164. data/test/unit/ts_utils.rb +0 -0
  165. data/test/unit/utils/tc_number_tools.rb +0 -0
  166. data/test/utils/content_generator.rb +226 -0
  167. metadata +262 -221
  168. data/ext/inc/lang.h +0 -48
  169. data/ext/inc/threading.h +0 -31
  170. data/ext/stem_ISO_8859_1_english.c +0 -1156
  171. data/ext/stem_ISO_8859_1_french.c +0 -1276
  172. data/ext/stem_ISO_8859_1_italian.c +0 -1091
  173. data/ext/stem_ISO_8859_1_norwegian.c +0 -296
  174. data/ext/stem_ISO_8859_1_spanish.c +0 -1119
  175. data/ext/stem_ISO_8859_1_swedish.c +0 -307
  176. data/ext/stem_UTF_8_danish.c +0 -344
  177. data/ext/stem_UTF_8_english.c +0 -1176
  178. data/ext/stem_UTF_8_french.c +0 -1296
  179. data/ext/stem_UTF_8_italian.c +0 -1113
  180. data/ext/stem_UTF_8_norwegian.c +0 -302
  181. data/ext/stem_UTF_8_portuguese.c +0 -1055
  182. data/ext/stem_UTF_8_russian.c +0 -709
  183. data/ext/stem_UTF_8_spanish.c +0 -1137
  184. data/ext/stem_UTF_8_swedish.c +0 -313
  185. data/lib/ferret_version.rb +0 -3
@@ -1,1276 +0,0 @@
1
-
2
- /* This file was generated automatically by the Snowball to ANSI C compiler */
3
-
4
- #include "header.h"
5
-
6
- extern int french_ISO_8859_1_stem(struct SN_env * z);
7
- static int r_un_accent(struct SN_env * z);
8
- static int r_un_double(struct SN_env * z);
9
- static int r_residual_suffix(struct SN_env * z);
10
- static int r_verb_suffix(struct SN_env * z);
11
- static int r_i_verb_suffix(struct SN_env * z);
12
- static int r_standard_suffix(struct SN_env * z);
13
- static int r_R2(struct SN_env * z);
14
- static int r_R1(struct SN_env * z);
15
- static int r_RV(struct SN_env * z);
16
- static int r_mark_regions(struct SN_env * z);
17
- static int r_postlude(struct SN_env * z);
18
- static int r_prelude(struct SN_env * z);
19
-
20
- extern struct SN_env * french_ISO_8859_1_create_env(void);
21
- extern void french_ISO_8859_1_close_env(struct SN_env * z);
22
-
23
- static symbol s_0_1[1] = { 'I' };
24
- static symbol s_0_2[1] = { 'U' };
25
- static symbol s_0_3[1] = { 'Y' };
26
-
27
- static struct among a_0[4] =
28
- {
29
- /* 0 */ { 0, 0, -1, 4, 0},
30
- /* 1 */ { 1, s_0_1, 0, 1, 0},
31
- /* 2 */ { 1, s_0_2, 0, 2, 0},
32
- /* 3 */ { 1, s_0_3, 0, 3, 0}
33
- };
34
-
35
- static symbol s_1_0[3] = { 'i', 'q', 'U' };
36
- static symbol s_1_1[3] = { 'a', 'b', 'l' };
37
- static symbol s_1_2[3] = { 'I', 0xE8, 'r' };
38
- static symbol s_1_3[3] = { 'i', 0xE8, 'r' };
39
- static symbol s_1_4[3] = { 'e', 'u', 's' };
40
- static symbol s_1_5[2] = { 'i', 'v' };
41
-
42
- static struct among a_1[6] =
43
- {
44
- /* 0 */ { 3, s_1_0, -1, 3, 0},
45
- /* 1 */ { 3, s_1_1, -1, 3, 0},
46
- /* 2 */ { 3, s_1_2, -1, 4, 0},
47
- /* 3 */ { 3, s_1_3, -1, 4, 0},
48
- /* 4 */ { 3, s_1_4, -1, 2, 0},
49
- /* 5 */ { 2, s_1_5, -1, 1, 0}
50
- };
51
-
52
- static symbol s_2_0[2] = { 'i', 'c' };
53
- static symbol s_2_1[4] = { 'a', 'b', 'i', 'l' };
54
- static symbol s_2_2[2] = { 'i', 'v' };
55
-
56
- static struct among a_2[3] =
57
- {
58
- /* 0 */ { 2, s_2_0, -1, 2, 0},
59
- /* 1 */ { 4, s_2_1, -1, 1, 0},
60
- /* 2 */ { 2, s_2_2, -1, 3, 0}
61
- };
62
-
63
- static symbol s_3_0[4] = { 'i', 'q', 'U', 'e' };
64
- static symbol s_3_1[6] = { 'a', 't', 'r', 'i', 'c', 'e' };
65
- static symbol s_3_2[4] = { 'a', 'n', 'c', 'e' };
66
- static symbol s_3_3[4] = { 'e', 'n', 'c', 'e' };
67
- static symbol s_3_4[5] = { 'l', 'o', 'g', 'i', 'e' };
68
- static symbol s_3_5[4] = { 'a', 'b', 'l', 'e' };
69
- static symbol s_3_6[4] = { 'i', 's', 'm', 'e' };
70
- static symbol s_3_7[4] = { 'e', 'u', 's', 'e' };
71
- static symbol s_3_8[4] = { 'i', 's', 't', 'e' };
72
- static symbol s_3_9[3] = { 'i', 'v', 'e' };
73
- static symbol s_3_10[2] = { 'i', 'f' };
74
- static symbol s_3_11[5] = { 'u', 's', 'i', 'o', 'n' };
75
- static symbol s_3_12[5] = { 'a', 't', 'i', 'o', 'n' };
76
- static symbol s_3_13[5] = { 'u', 't', 'i', 'o', 'n' };
77
- static symbol s_3_14[5] = { 'a', 't', 'e', 'u', 'r' };
78
- static symbol s_3_15[5] = { 'i', 'q', 'U', 'e', 's' };
79
- static symbol s_3_16[7] = { 'a', 't', 'r', 'i', 'c', 'e', 's' };
80
- static symbol s_3_17[5] = { 'a', 'n', 'c', 'e', 's' };
81
- static symbol s_3_18[5] = { 'e', 'n', 'c', 'e', 's' };
82
- static symbol s_3_19[6] = { 'l', 'o', 'g', 'i', 'e', 's' };
83
- static symbol s_3_20[5] = { 'a', 'b', 'l', 'e', 's' };
84
- static symbol s_3_21[5] = { 'i', 's', 'm', 'e', 's' };
85
- static symbol s_3_22[5] = { 'e', 'u', 's', 'e', 's' };
86
- static symbol s_3_23[5] = { 'i', 's', 't', 'e', 's' };
87
- static symbol s_3_24[4] = { 'i', 'v', 'e', 's' };
88
- static symbol s_3_25[3] = { 'i', 'f', 's' };
89
- static symbol s_3_26[6] = { 'u', 's', 'i', 'o', 'n', 's' };
90
- static symbol s_3_27[6] = { 'a', 't', 'i', 'o', 'n', 's' };
91
- static symbol s_3_28[6] = { 'u', 't', 'i', 'o', 'n', 's' };
92
- static symbol s_3_29[6] = { 'a', 't', 'e', 'u', 'r', 's' };
93
- static symbol s_3_30[5] = { 'm', 'e', 'n', 't', 's' };
94
- static symbol s_3_31[6] = { 'e', 'm', 'e', 'n', 't', 's' };
95
- static symbol s_3_32[9] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't', 's' };
96
- static symbol s_3_33[4] = { 'i', 't', 0xE9, 's' };
97
- static symbol s_3_34[4] = { 'm', 'e', 'n', 't' };
98
- static symbol s_3_35[5] = { 'e', 'm', 'e', 'n', 't' };
99
- static symbol s_3_36[8] = { 'i', 's', 's', 'e', 'm', 'e', 'n', 't' };
100
- static symbol s_3_37[6] = { 'a', 'm', 'm', 'e', 'n', 't' };
101
- static symbol s_3_38[6] = { 'e', 'm', 'm', 'e', 'n', 't' };
102
- static symbol s_3_39[3] = { 'a', 'u', 'x' };
103
- static symbol s_3_40[4] = { 'e', 'a', 'u', 'x' };
104
- static symbol s_3_41[3] = { 'e', 'u', 'x' };
105
- static symbol s_3_42[3] = { 'i', 't', 0xE9 };
106
-
107
- static struct among a_3[43] =
108
- {
109
- /* 0 */ { 4, s_3_0, -1, 1, 0},
110
- /* 1 */ { 6, s_3_1, -1, 2, 0},
111
- /* 2 */ { 4, s_3_2, -1, 1, 0},
112
- /* 3 */ { 4, s_3_3, -1, 5, 0},
113
- /* 4 */ { 5, s_3_4, -1, 3, 0},
114
- /* 5 */ { 4, s_3_5, -1, 1, 0},
115
- /* 6 */ { 4, s_3_6, -1, 1, 0},
116
- /* 7 */ { 4, s_3_7, -1, 11, 0},
117
- /* 8 */ { 4, s_3_8, -1, 1, 0},
118
- /* 9 */ { 3, s_3_9, -1, 8, 0},
119
- /* 10 */ { 2, s_3_10, -1, 8, 0},
120
- /* 11 */ { 5, s_3_11, -1, 4, 0},
121
- /* 12 */ { 5, s_3_12, -1, 2, 0},
122
- /* 13 */ { 5, s_3_13, -1, 4, 0},
123
- /* 14 */ { 5, s_3_14, -1, 2, 0},
124
- /* 15 */ { 5, s_3_15, -1, 1, 0},
125
- /* 16 */ { 7, s_3_16, -1, 2, 0},
126
- /* 17 */ { 5, s_3_17, -1, 1, 0},
127
- /* 18 */ { 5, s_3_18, -1, 5, 0},
128
- /* 19 */ { 6, s_3_19, -1, 3, 0},
129
- /* 20 */ { 5, s_3_20, -1, 1, 0},
130
- /* 21 */ { 5, s_3_21, -1, 1, 0},
131
- /* 22 */ { 5, s_3_22, -1, 11, 0},
132
- /* 23 */ { 5, s_3_23, -1, 1, 0},
133
- /* 24 */ { 4, s_3_24, -1, 8, 0},
134
- /* 25 */ { 3, s_3_25, -1, 8, 0},
135
- /* 26 */ { 6, s_3_26, -1, 4, 0},
136
- /* 27 */ { 6, s_3_27, -1, 2, 0},
137
- /* 28 */ { 6, s_3_28, -1, 4, 0},
138
- /* 29 */ { 6, s_3_29, -1, 2, 0},
139
- /* 30 */ { 5, s_3_30, -1, 15, 0},
140
- /* 31 */ { 6, s_3_31, 30, 6, 0},
141
- /* 32 */ { 9, s_3_32, 31, 12, 0},
142
- /* 33 */ { 4, s_3_33, -1, 7, 0},
143
- /* 34 */ { 4, s_3_34, -1, 15, 0},
144
- /* 35 */ { 5, s_3_35, 34, 6, 0},
145
- /* 36 */ { 8, s_3_36, 35, 12, 0},
146
- /* 37 */ { 6, s_3_37, 34, 13, 0},
147
- /* 38 */ { 6, s_3_38, 34, 14, 0},
148
- /* 39 */ { 3, s_3_39, -1, 10, 0},
149
- /* 40 */ { 4, s_3_40, 39, 9, 0},
150
- /* 41 */ { 3, s_3_41, -1, 1, 0},
151
- /* 42 */ { 3, s_3_42, -1, 7, 0}
152
- };
153
-
154
- static symbol s_4_0[3] = { 'i', 'r', 'a' };
155
- static symbol s_4_1[2] = { 'i', 'e' };
156
- static symbol s_4_2[4] = { 'i', 's', 's', 'e' };
157
- static symbol s_4_3[7] = { 'i', 's', 's', 'a', 'n', 't', 'e' };
158
- static symbol s_4_4[1] = { 'i' };
159
- static symbol s_4_5[4] = { 'i', 'r', 'a', 'i' };
160
- static symbol s_4_6[2] = { 'i', 'r' };
161
- static symbol s_4_7[4] = { 'i', 'r', 'a', 's' };
162
- static symbol s_4_8[3] = { 'i', 'e', 's' };
163
- static symbol s_4_9[4] = { 0xEE, 'm', 'e', 's' };
164
- static symbol s_4_10[5] = { 'i', 's', 's', 'e', 's' };
165
- static symbol s_4_11[8] = { 'i', 's', 's', 'a', 'n', 't', 'e', 's' };
166
- static symbol s_4_12[4] = { 0xEE, 't', 'e', 's' };
167
- static symbol s_4_13[2] = { 'i', 's' };
168
- static symbol s_4_14[5] = { 'i', 'r', 'a', 'i', 's' };
169
- static symbol s_4_15[6] = { 'i', 's', 's', 'a', 'i', 's' };
170
- static symbol s_4_16[6] = { 'i', 'r', 'i', 'o', 'n', 's' };
171
- static symbol s_4_17[7] = { 'i', 's', 's', 'i', 'o', 'n', 's' };
172
- static symbol s_4_18[5] = { 'i', 'r', 'o', 'n', 's' };
173
- static symbol s_4_19[6] = { 'i', 's', 's', 'o', 'n', 's' };
174
- static symbol s_4_20[7] = { 'i', 's', 's', 'a', 'n', 't', 's' };
175
- static symbol s_4_21[2] = { 'i', 't' };
176
- static symbol s_4_22[5] = { 'i', 'r', 'a', 'i', 't' };
177
- static symbol s_4_23[6] = { 'i', 's', 's', 'a', 'i', 't' };
178
- static symbol s_4_24[6] = { 'i', 's', 's', 'a', 'n', 't' };
179
- static symbol s_4_25[7] = { 'i', 'r', 'a', 'I', 'e', 'n', 't' };
180
- static symbol s_4_26[8] = { 'i', 's', 's', 'a', 'I', 'e', 'n', 't' };
181
- static symbol s_4_27[5] = { 'i', 'r', 'e', 'n', 't' };
182
- static symbol s_4_28[6] = { 'i', 's', 's', 'e', 'n', 't' };
183
- static symbol s_4_29[5] = { 'i', 'r', 'o', 'n', 't' };
184
- static symbol s_4_30[2] = { 0xEE, 't' };
185
- static symbol s_4_31[5] = { 'i', 'r', 'i', 'e', 'z' };
186
- static symbol s_4_32[6] = { 'i', 's', 's', 'i', 'e', 'z' };
187
- static symbol s_4_33[4] = { 'i', 'r', 'e', 'z' };
188
- static symbol s_4_34[5] = { 'i', 's', 's', 'e', 'z' };
189
-
190
- static struct among a_4[35] =
191
- {
192
- /* 0 */ { 3, s_4_0, -1, 1, 0},
193
- /* 1 */ { 2, s_4_1, -1, 1, 0},
194
- /* 2 */ { 4, s_4_2, -1, 1, 0},
195
- /* 3 */ { 7, s_4_3, -1, 1, 0},
196
- /* 4 */ { 1, s_4_4, -1, 1, 0},
197
- /* 5 */ { 4, s_4_5, 4, 1, 0},
198
- /* 6 */ { 2, s_4_6, -1, 1, 0},
199
- /* 7 */ { 4, s_4_7, -1, 1, 0},
200
- /* 8 */ { 3, s_4_8, -1, 1, 0},
201
- /* 9 */ { 4, s_4_9, -1, 1, 0},
202
- /* 10 */ { 5, s_4_10, -1, 1, 0},
203
- /* 11 */ { 8, s_4_11, -1, 1, 0},
204
- /* 12 */ { 4, s_4_12, -1, 1, 0},
205
- /* 13 */ { 2, s_4_13, -1, 1, 0},
206
- /* 14 */ { 5, s_4_14, 13, 1, 0},
207
- /* 15 */ { 6, s_4_15, 13, 1, 0},
208
- /* 16 */ { 6, s_4_16, -1, 1, 0},
209
- /* 17 */ { 7, s_4_17, -1, 1, 0},
210
- /* 18 */ { 5, s_4_18, -1, 1, 0},
211
- /* 19 */ { 6, s_4_19, -1, 1, 0},
212
- /* 20 */ { 7, s_4_20, -1, 1, 0},
213
- /* 21 */ { 2, s_4_21, -1, 1, 0},
214
- /* 22 */ { 5, s_4_22, 21, 1, 0},
215
- /* 23 */ { 6, s_4_23, 21, 1, 0},
216
- /* 24 */ { 6, s_4_24, -1, 1, 0},
217
- /* 25 */ { 7, s_4_25, -1, 1, 0},
218
- /* 26 */ { 8, s_4_26, -1, 1, 0},
219
- /* 27 */ { 5, s_4_27, -1, 1, 0},
220
- /* 28 */ { 6, s_4_28, -1, 1, 0},
221
- /* 29 */ { 5, s_4_29, -1, 1, 0},
222
- /* 30 */ { 2, s_4_30, -1, 1, 0},
223
- /* 31 */ { 5, s_4_31, -1, 1, 0},
224
- /* 32 */ { 6, s_4_32, -1, 1, 0},
225
- /* 33 */ { 4, s_4_33, -1, 1, 0},
226
- /* 34 */ { 5, s_4_34, -1, 1, 0}
227
- };
228
-
229
- static symbol s_5_0[1] = { 'a' };
230
- static symbol s_5_1[3] = { 'e', 'r', 'a' };
231
- static symbol s_5_2[4] = { 'a', 's', 's', 'e' };
232
- static symbol s_5_3[4] = { 'a', 'n', 't', 'e' };
233
- static symbol s_5_4[2] = { 0xE9, 'e' };
234
- static symbol s_5_5[2] = { 'a', 'i' };
235
- static symbol s_5_6[4] = { 'e', 'r', 'a', 'i' };
236
- static symbol s_5_7[2] = { 'e', 'r' };
237
- static symbol s_5_8[2] = { 'a', 's' };
238
- static symbol s_5_9[4] = { 'e', 'r', 'a', 's' };
239
- static symbol s_5_10[4] = { 0xE2, 'm', 'e', 's' };
240
- static symbol s_5_11[5] = { 'a', 's', 's', 'e', 's' };
241
- static symbol s_5_12[5] = { 'a', 'n', 't', 'e', 's' };
242
- static symbol s_5_13[4] = { 0xE2, 't', 'e', 's' };
243
- static symbol s_5_14[3] = { 0xE9, 'e', 's' };
244
- static symbol s_5_15[3] = { 'a', 'i', 's' };
245
- static symbol s_5_16[5] = { 'e', 'r', 'a', 'i', 's' };
246
- static symbol s_5_17[4] = { 'i', 'o', 'n', 's' };
247
- static symbol s_5_18[6] = { 'e', 'r', 'i', 'o', 'n', 's' };
248
- static symbol s_5_19[7] = { 'a', 's', 's', 'i', 'o', 'n', 's' };
249
- static symbol s_5_20[5] = { 'e', 'r', 'o', 'n', 's' };
250
- static symbol s_5_21[4] = { 'a', 'n', 't', 's' };
251
- static symbol s_5_22[2] = { 0xE9, 's' };
252
- static symbol s_5_23[3] = { 'a', 'i', 't' };
253
- static symbol s_5_24[5] = { 'e', 'r', 'a', 'i', 't' };
254
- static symbol s_5_25[3] = { 'a', 'n', 't' };
255
- static symbol s_5_26[5] = { 'a', 'I', 'e', 'n', 't' };
256
- static symbol s_5_27[7] = { 'e', 'r', 'a', 'I', 'e', 'n', 't' };
257
- static symbol s_5_28[5] = { 0xE8, 'r', 'e', 'n', 't' };
258
- static symbol s_5_29[6] = { 'a', 's', 's', 'e', 'n', 't' };
259
- static symbol s_5_30[5] = { 'e', 'r', 'o', 'n', 't' };
260
- static symbol s_5_31[2] = { 0xE2, 't' };
261
- static symbol s_5_32[2] = { 'e', 'z' };
262
- static symbol s_5_33[3] = { 'i', 'e', 'z' };
263
- static symbol s_5_34[5] = { 'e', 'r', 'i', 'e', 'z' };
264
- static symbol s_5_35[6] = { 'a', 's', 's', 'i', 'e', 'z' };
265
- static symbol s_5_36[4] = { 'e', 'r', 'e', 'z' };
266
- static symbol s_5_37[1] = { 0xE9 };
267
-
268
- static struct among a_5[38] =
269
- {
270
- /* 0 */ { 1, s_5_0, -1, 3, 0},
271
- /* 1 */ { 3, s_5_1, 0, 2, 0},
272
- /* 2 */ { 4, s_5_2, -1, 3, 0},
273
- /* 3 */ { 4, s_5_3, -1, 3, 0},
274
- /* 4 */ { 2, s_5_4, -1, 2, 0},
275
- /* 5 */ { 2, s_5_5, -1, 3, 0},
276
- /* 6 */ { 4, s_5_6, 5, 2, 0},
277
- /* 7 */ { 2, s_5_7, -1, 2, 0},
278
- /* 8 */ { 2, s_5_8, -1, 3, 0},
279
- /* 9 */ { 4, s_5_9, 8, 2, 0},
280
- /* 10 */ { 4, s_5_10, -1, 3, 0},
281
- /* 11 */ { 5, s_5_11, -1, 3, 0},
282
- /* 12 */ { 5, s_5_12, -1, 3, 0},
283
- /* 13 */ { 4, s_5_13, -1, 3, 0},
284
- /* 14 */ { 3, s_5_14, -1, 2, 0},
285
- /* 15 */ { 3, s_5_15, -1, 3, 0},
286
- /* 16 */ { 5, s_5_16, 15, 2, 0},
287
- /* 17 */ { 4, s_5_17, -1, 1, 0},
288
- /* 18 */ { 6, s_5_18, 17, 2, 0},
289
- /* 19 */ { 7, s_5_19, 17, 3, 0},
290
- /* 20 */ { 5, s_5_20, -1, 2, 0},
291
- /* 21 */ { 4, s_5_21, -1, 3, 0},
292
- /* 22 */ { 2, s_5_22, -1, 2, 0},
293
- /* 23 */ { 3, s_5_23, -1, 3, 0},
294
- /* 24 */ { 5, s_5_24, 23, 2, 0},
295
- /* 25 */ { 3, s_5_25, -1, 3, 0},
296
- /* 26 */ { 5, s_5_26, -1, 3, 0},
297
- /* 27 */ { 7, s_5_27, 26, 2, 0},
298
- /* 28 */ { 5, s_5_28, -1, 2, 0},
299
- /* 29 */ { 6, s_5_29, -1, 3, 0},
300
- /* 30 */ { 5, s_5_30, -1, 2, 0},
301
- /* 31 */ { 2, s_5_31, -1, 3, 0},
302
- /* 32 */ { 2, s_5_32, -1, 2, 0},
303
- /* 33 */ { 3, s_5_33, 32, 2, 0},
304
- /* 34 */ { 5, s_5_34, 33, 2, 0},
305
- /* 35 */ { 6, s_5_35, 33, 3, 0},
306
- /* 36 */ { 4, s_5_36, 32, 2, 0},
307
- /* 37 */ { 1, s_5_37, -1, 2, 0}
308
- };
309
-
310
- static symbol s_6_0[1] = { 'e' };
311
- static symbol s_6_1[4] = { 'I', 0xE8, 'r', 'e' };
312
- static symbol s_6_2[4] = { 'i', 0xE8, 'r', 'e' };
313
- static symbol s_6_3[3] = { 'i', 'o', 'n' };
314
- static symbol s_6_4[3] = { 'I', 'e', 'r' };
315
- static symbol s_6_5[3] = { 'i', 'e', 'r' };
316
- static symbol s_6_6[1] = { 0xEB };
317
-
318
- static struct among a_6[7] =
319
- {
320
- /* 0 */ { 1, s_6_0, -1, 3, 0},
321
- /* 1 */ { 4, s_6_1, 0, 2, 0},
322
- /* 2 */ { 4, s_6_2, 0, 2, 0},
323
- /* 3 */ { 3, s_6_3, -1, 1, 0},
324
- /* 4 */ { 3, s_6_4, -1, 2, 0},
325
- /* 5 */ { 3, s_6_5, -1, 2, 0},
326
- /* 6 */ { 1, s_6_6, -1, 4, 0}
327
- };
328
-
329
- static symbol s_7_0[3] = { 'e', 'l', 'l' };
330
- static symbol s_7_1[4] = { 'e', 'i', 'l', 'l' };
331
- static symbol s_7_2[3] = { 'e', 'n', 'n' };
332
- static symbol s_7_3[3] = { 'o', 'n', 'n' };
333
- static symbol s_7_4[3] = { 'e', 't', 't' };
334
-
335
- static struct among a_7[5] =
336
- {
337
- /* 0 */ { 3, s_7_0, -1, -1, 0},
338
- /* 1 */ { 4, s_7_1, -1, -1, 0},
339
- /* 2 */ { 3, s_7_2, -1, -1, 0},
340
- /* 3 */ { 3, s_7_3, -1, -1, 0},
341
- /* 4 */ { 3, s_7_4, -1, -1, 0}
342
- };
343
-
344
- static unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
345
-
346
- static unsigned char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
347
-
348
- static symbol s_0[] = { 'u' };
349
- static symbol s_1[] = { 'U' };
350
- static symbol s_2[] = { 'i' };
351
- static symbol s_3[] = { 'I' };
352
- static symbol s_4[] = { 'y' };
353
- static symbol s_5[] = { 'Y' };
354
- static symbol s_6[] = { 'y' };
355
- static symbol s_7[] = { 'Y' };
356
- static symbol s_8[] = { 'q' };
357
- static symbol s_9[] = { 'u' };
358
- static symbol s_10[] = { 'U' };
359
- static symbol s_11[] = { 'i' };
360
- static symbol s_12[] = { 'u' };
361
- static symbol s_13[] = { 'y' };
362
- static symbol s_14[] = { 'i', 'c' };
363
- static symbol s_15[] = { 'i', 'q', 'U' };
364
- static symbol s_16[] = { 'l', 'o', 'g' };
365
- static symbol s_17[] = { 'u' };
366
- static symbol s_18[] = { 'e', 'n', 't' };
367
- static symbol s_19[] = { 'a', 't' };
368
- static symbol s_20[] = { 'e', 'u', 'x' };
369
- static symbol s_21[] = { 'i' };
370
- static symbol s_22[] = { 'a', 'b', 'l' };
371
- static symbol s_23[] = { 'i', 'q', 'U' };
372
- static symbol s_24[] = { 'a', 't' };
373
- static symbol s_25[] = { 'i', 'c' };
374
- static symbol s_26[] = { 'i', 'q', 'U' };
375
- static symbol s_27[] = { 'e', 'a', 'u' };
376
- static symbol s_28[] = { 'a', 'l' };
377
- static symbol s_29[] = { 'e', 'u', 'x' };
378
- static symbol s_30[] = { 'a', 'n', 't' };
379
- static symbol s_31[] = { 'e', 'n', 't' };
380
- static symbol s_32[] = { 'e' };
381
- static symbol s_33[] = { 's' };
382
- static symbol s_34[] = { 's' };
383
- static symbol s_35[] = { 't' };
384
- static symbol s_36[] = { 'i' };
385
- static symbol s_37[] = { 'g', 'u' };
386
- static symbol s_38[] = { 0xE9 };
387
- static symbol s_39[] = { 0xE8 };
388
- static symbol s_40[] = { 'e' };
389
- static symbol s_41[] = { 'Y' };
390
- static symbol s_42[] = { 'i' };
391
- static symbol s_43[] = { 0xE7 };
392
- static symbol s_44[] = { 'c' };
393
-
394
- static int r_prelude(struct SN_env * z) {
395
- while(1) { /* repeat, line 38 */
396
- int c = z->c;
397
- while(1) { /* goto, line 38 */
398
- int c = z->c;
399
- { int c = z->c; /* or, line 44 */
400
- if (!(in_grouping(z, g_v, 97, 251))) goto lab3;
401
- z->bra = z->c; /* [, line 40 */
402
- { int c = z->c; /* or, line 40 */
403
- if (!(eq_s(z, 1, s_0))) goto lab5;
404
- z->ket = z->c; /* ], line 40 */
405
- if (!(in_grouping(z, g_v, 97, 251))) goto lab5;
406
- { int ret;
407
- ret = slice_from_s(z, 1, s_1); /* <-, line 40 */
408
- if (ret < 0) return ret;
409
- }
410
- goto lab4;
411
- lab5:
412
- z->c = c;
413
- if (!(eq_s(z, 1, s_2))) goto lab6;
414
- z->ket = z->c; /* ], line 41 */
415
- if (!(in_grouping(z, g_v, 97, 251))) goto lab6;
416
- { int ret;
417
- ret = slice_from_s(z, 1, s_3); /* <-, line 41 */
418
- if (ret < 0) return ret;
419
- }
420
- goto lab4;
421
- lab6:
422
- z->c = c;
423
- if (!(eq_s(z, 1, s_4))) goto lab3;
424
- z->ket = z->c; /* ], line 42 */
425
- { int ret;
426
- ret = slice_from_s(z, 1, s_5); /* <-, line 42 */
427
- if (ret < 0) return ret;
428
- }
429
- }
430
- lab4:
431
- goto lab2;
432
- lab3:
433
- z->c = c;
434
- z->bra = z->c; /* [, line 45 */
435
- if (!(eq_s(z, 1, s_6))) goto lab7;
436
- z->ket = z->c; /* ], line 45 */
437
- if (!(in_grouping(z, g_v, 97, 251))) goto lab7;
438
- { int ret;
439
- ret = slice_from_s(z, 1, s_7); /* <-, line 45 */
440
- if (ret < 0) return ret;
441
- }
442
- goto lab2;
443
- lab7:
444
- z->c = c;
445
- if (!(eq_s(z, 1, s_8))) goto lab1;
446
- z->bra = z->c; /* [, line 47 */
447
- if (!(eq_s(z, 1, s_9))) goto lab1;
448
- z->ket = z->c; /* ], line 47 */
449
- { int ret;
450
- ret = slice_from_s(z, 1, s_10); /* <-, line 47 */
451
- if (ret < 0) return ret;
452
- }
453
- }
454
- lab2:
455
- z->c = c;
456
- break;
457
- lab1:
458
- z->c = c;
459
- if (z->c >= z->l) goto lab0;
460
- z->c++; /* goto, line 38 */
461
- }
462
- continue;
463
- lab0:
464
- z->c = c;
465
- break;
466
- }
467
- return 1;
468
- }
469
-
470
- static int r_mark_regions(struct SN_env * z) {
471
- z->I[0] = z->l;
472
- z->I[1] = z->l;
473
- z->I[2] = z->l;
474
- { int c = z->c; /* do, line 56 */
475
- { int c = z->c; /* or, line 57 */
476
- if (!(in_grouping(z, g_v, 97, 251))) goto lab2;
477
- if (!(in_grouping(z, g_v, 97, 251))) goto lab2;
478
- if (z->c >= z->l) goto lab2;
479
- z->c++; /* next, line 57 */
480
- goto lab1;
481
- lab2:
482
- z->c = c;
483
- if (z->c >= z->l) goto lab0;
484
- z->c++; /* next, line 57 */
485
- while(1) { /* gopast, line 57 */
486
- if (!(in_grouping(z, g_v, 97, 251))) goto lab3;
487
- break;
488
- lab3:
489
- if (z->c >= z->l) goto lab0;
490
- z->c++; /* gopast, line 57 */
491
- }
492
- }
493
- lab1:
494
- z->I[0] = z->c; /* setmark pV, line 58 */
495
- lab0:
496
- z->c = c;
497
- }
498
- { int c = z->c; /* do, line 60 */
499
- while(1) { /* gopast, line 61 */
500
- if (!(in_grouping(z, g_v, 97, 251))) goto lab5;
501
- break;
502
- lab5:
503
- if (z->c >= z->l) goto lab4;
504
- z->c++; /* gopast, line 61 */
505
- }
506
- while(1) { /* gopast, line 61 */
507
- if (!(out_grouping(z, g_v, 97, 251))) goto lab6;
508
- break;
509
- lab6:
510
- if (z->c >= z->l) goto lab4;
511
- z->c++; /* gopast, line 61 */
512
- }
513
- z->I[1] = z->c; /* setmark p1, line 61 */
514
- while(1) { /* gopast, line 62 */
515
- if (!(in_grouping(z, g_v, 97, 251))) goto lab7;
516
- break;
517
- lab7:
518
- if (z->c >= z->l) goto lab4;
519
- z->c++; /* gopast, line 62 */
520
- }
521
- while(1) { /* gopast, line 62 */
522
- if (!(out_grouping(z, g_v, 97, 251))) goto lab8;
523
- break;
524
- lab8:
525
- if (z->c >= z->l) goto lab4;
526
- z->c++; /* gopast, line 62 */
527
- }
528
- z->I[2] = z->c; /* setmark p2, line 62 */
529
- lab4:
530
- z->c = c;
531
- }
532
- return 1;
533
- }
534
-
535
- static int r_postlude(struct SN_env * z) {
536
- int among_var;
537
- while(1) { /* repeat, line 66 */
538
- int c = z->c;
539
- z->bra = z->c; /* [, line 68 */
540
- among_var = find_among(z, a_0, 4); /* substring, line 68 */
541
- if (!(among_var)) goto lab0;
542
- z->ket = z->c; /* ], line 68 */
543
- switch(among_var) {
544
- case 0: goto lab0;
545
- case 1:
546
- { int ret;
547
- ret = slice_from_s(z, 1, s_11); /* <-, line 69 */
548
- if (ret < 0) return ret;
549
- }
550
- break;
551
- case 2:
552
- { int ret;
553
- ret = slice_from_s(z, 1, s_12); /* <-, line 70 */
554
- if (ret < 0) return ret;
555
- }
556
- break;
557
- case 3:
558
- { int ret;
559
- ret = slice_from_s(z, 1, s_13); /* <-, line 71 */
560
- if (ret < 0) return ret;
561
- }
562
- break;
563
- case 4:
564
- if (z->c >= z->l) goto lab0;
565
- z->c++; /* next, line 72 */
566
- break;
567
- }
568
- continue;
569
- lab0:
570
- z->c = c;
571
- break;
572
- }
573
- return 1;
574
- }
575
-
576
- static int r_RV(struct SN_env * z) {
577
- if (!(z->I[0] <= z->c)) return 0;
578
- return 1;
579
- }
580
-
581
- static int r_R1(struct SN_env * z) {
582
- if (!(z->I[1] <= z->c)) return 0;
583
- return 1;
584
- }
585
-
586
- static int r_R2(struct SN_env * z) {
587
- if (!(z->I[2] <= z->c)) return 0;
588
- return 1;
589
- }
590
-
591
- static int r_standard_suffix(struct SN_env * z) {
592
- int among_var;
593
- z->ket = z->c; /* [, line 83 */
594
- among_var = find_among_b(z, a_3, 43); /* substring, line 83 */
595
- if (!(among_var)) return 0;
596
- z->bra = z->c; /* ], line 83 */
597
- switch(among_var) {
598
- case 0: return 0;
599
- case 1:
600
- { int ret = r_R2(z);
601
- if (ret == 0) return 0; /* call R2, line 87 */
602
- if (ret < 0) return ret;
603
- }
604
- { int ret;
605
- ret = slice_del(z); /* delete, line 87 */
606
- if (ret < 0) return ret;
607
- }
608
- break;
609
- case 2:
610
- { int ret = r_R2(z);
611
- if (ret == 0) return 0; /* call R2, line 90 */
612
- if (ret < 0) return ret;
613
- }
614
- { int ret;
615
- ret = slice_del(z); /* delete, line 90 */
616
- if (ret < 0) return ret;
617
- }
618
- { int m = z->l - z->c; (void) m; /* try, line 91 */
619
- z->ket = z->c; /* [, line 91 */
620
- if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m; goto lab0; }
621
- z->bra = z->c; /* ], line 91 */
622
- { int m = z->l - z->c; (void) m; /* or, line 91 */
623
- { int ret = r_R2(z);
624
- if (ret == 0) goto lab2; /* call R2, line 91 */
625
- if (ret < 0) return ret;
626
- }
627
- { int ret;
628
- ret = slice_del(z); /* delete, line 91 */
629
- if (ret < 0) return ret;
630
- }
631
- goto lab1;
632
- lab2:
633
- z->c = z->l - m;
634
- { int ret;
635
- ret = slice_from_s(z, 3, s_15); /* <-, line 91 */
636
- if (ret < 0) return ret;
637
- }
638
- }
639
- lab1:
640
- lab0:
641
- ;
642
- }
643
- break;
644
- case 3:
645
- { int ret = r_R2(z);
646
- if (ret == 0) return 0; /* call R2, line 95 */
647
- if (ret < 0) return ret;
648
- }
649
- { int ret;
650
- ret = slice_from_s(z, 3, s_16); /* <-, line 95 */
651
- if (ret < 0) return ret;
652
- }
653
- break;
654
- case 4:
655
- { int ret = r_R2(z);
656
- if (ret == 0) return 0; /* call R2, line 98 */
657
- if (ret < 0) return ret;
658
- }
659
- { int ret;
660
- ret = slice_from_s(z, 1, s_17); /* <-, line 98 */
661
- if (ret < 0) return ret;
662
- }
663
- break;
664
- case 5:
665
- { int ret = r_R2(z);
666
- if (ret == 0) return 0; /* call R2, line 101 */
667
- if (ret < 0) return ret;
668
- }
669
- { int ret;
670
- ret = slice_from_s(z, 3, s_18); /* <-, line 101 */
671
- if (ret < 0) return ret;
672
- }
673
- break;
674
- case 6:
675
- { int ret = r_RV(z);
676
- if (ret == 0) return 0; /* call RV, line 105 */
677
- if (ret < 0) return ret;
678
- }
679
- { int ret;
680
- ret = slice_del(z); /* delete, line 105 */
681
- if (ret < 0) return ret;
682
- }
683
- { int m = z->l - z->c; (void) m; /* try, line 106 */
684
- z->ket = z->c; /* [, line 107 */
685
- among_var = find_among_b(z, a_1, 6); /* substring, line 107 */
686
- if (!(among_var)) { z->c = z->l - m; goto lab3; }
687
- z->bra = z->c; /* ], line 107 */
688
- switch(among_var) {
689
- case 0: { z->c = z->l - m; goto lab3; }
690
- case 1:
691
- { int ret = r_R2(z);
692
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 108 */
693
- if (ret < 0) return ret;
694
- }
695
- { int ret;
696
- ret = slice_del(z); /* delete, line 108 */
697
- if (ret < 0) return ret;
698
- }
699
- z->ket = z->c; /* [, line 108 */
700
- if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m; goto lab3; }
701
- z->bra = z->c; /* ], line 108 */
702
- { int ret = r_R2(z);
703
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 108 */
704
- if (ret < 0) return ret;
705
- }
706
- { int ret;
707
- ret = slice_del(z); /* delete, line 108 */
708
- if (ret < 0) return ret;
709
- }
710
- break;
711
- case 2:
712
- { int m = z->l - z->c; (void) m; /* or, line 109 */
713
- { int ret = r_R2(z);
714
- if (ret == 0) goto lab5; /* call R2, line 109 */
715
- if (ret < 0) return ret;
716
- }
717
- { int ret;
718
- ret = slice_del(z); /* delete, line 109 */
719
- if (ret < 0) return ret;
720
- }
721
- goto lab4;
722
- lab5:
723
- z->c = z->l - m;
724
- { int ret = r_R1(z);
725
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R1, line 109 */
726
- if (ret < 0) return ret;
727
- }
728
- { int ret;
729
- ret = slice_from_s(z, 3, s_20); /* <-, line 109 */
730
- if (ret < 0) return ret;
731
- }
732
- }
733
- lab4:
734
- break;
735
- case 3:
736
- { int ret = r_R2(z);
737
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 111 */
738
- if (ret < 0) return ret;
739
- }
740
- { int ret;
741
- ret = slice_del(z); /* delete, line 111 */
742
- if (ret < 0) return ret;
743
- }
744
- break;
745
- case 4:
746
- { int ret = r_RV(z);
747
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call RV, line 113 */
748
- if (ret < 0) return ret;
749
- }
750
- { int ret;
751
- ret = slice_from_s(z, 1, s_21); /* <-, line 113 */
752
- if (ret < 0) return ret;
753
- }
754
- break;
755
- }
756
- lab3:
757
- ;
758
- }
759
- break;
760
- case 7:
761
- { int ret = r_R2(z);
762
- if (ret == 0) return 0; /* call R2, line 120 */
763
- if (ret < 0) return ret;
764
- }
765
- { int ret;
766
- ret = slice_del(z); /* delete, line 120 */
767
- if (ret < 0) return ret;
768
- }
769
- { int m = z->l - z->c; (void) m; /* try, line 121 */
770
- z->ket = z->c; /* [, line 122 */
771
- among_var = find_among_b(z, a_2, 3); /* substring, line 122 */
772
- if (!(among_var)) { z->c = z->l - m; goto lab6; }
773
- z->bra = z->c; /* ], line 122 */
774
- switch(among_var) {
775
- case 0: { z->c = z->l - m; goto lab6; }
776
- case 1:
777
- { int m = z->l - z->c; (void) m; /* or, line 123 */
778
- { int ret = r_R2(z);
779
- if (ret == 0) goto lab8; /* call R2, line 123 */
780
- if (ret < 0) return ret;
781
- }
782
- { int ret;
783
- ret = slice_del(z); /* delete, line 123 */
784
- if (ret < 0) return ret;
785
- }
786
- goto lab7;
787
- lab8:
788
- z->c = z->l - m;
789
- { int ret;
790
- ret = slice_from_s(z, 3, s_22); /* <-, line 123 */
791
- if (ret < 0) return ret;
792
- }
793
- }
794
- lab7:
795
- break;
796
- case 2:
797
- { int m = z->l - z->c; (void) m; /* or, line 124 */
798
- { int ret = r_R2(z);
799
- if (ret == 0) goto lab10; /* call R2, line 124 */
800
- if (ret < 0) return ret;
801
- }
802
- { int ret;
803
- ret = slice_del(z); /* delete, line 124 */
804
- if (ret < 0) return ret;
805
- }
806
- goto lab9;
807
- lab10:
808
- z->c = z->l - m;
809
- { int ret;
810
- ret = slice_from_s(z, 3, s_23); /* <-, line 124 */
811
- if (ret < 0) return ret;
812
- }
813
- }
814
- lab9:
815
- break;
816
- case 3:
817
- { int ret = r_R2(z);
818
- if (ret == 0) { z->c = z->l - m; goto lab6; } /* call R2, line 125 */
819
- if (ret < 0) return ret;
820
- }
821
- { int ret;
822
- ret = slice_del(z); /* delete, line 125 */
823
- if (ret < 0) return ret;
824
- }
825
- break;
826
- }
827
- lab6:
828
- ;
829
- }
830
- break;
831
- case 8:
832
- { int ret = r_R2(z);
833
- if (ret == 0) return 0; /* call R2, line 132 */
834
- if (ret < 0) return ret;
835
- }
836
- { int ret;
837
- ret = slice_del(z); /* delete, line 132 */
838
- if (ret < 0) return ret;
839
- }
840
- { int m = z->l - z->c; (void) m; /* try, line 133 */
841
- z->ket = z->c; /* [, line 133 */
842
- if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m; goto lab11; }
843
- z->bra = z->c; /* ], line 133 */
844
- { int ret = r_R2(z);
845
- if (ret == 0) { z->c = z->l - m; goto lab11; } /* call R2, line 133 */
846
- if (ret < 0) return ret;
847
- }
848
- { int ret;
849
- ret = slice_del(z); /* delete, line 133 */
850
- if (ret < 0) return ret;
851
- }
852
- z->ket = z->c; /* [, line 133 */
853
- if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m; goto lab11; }
854
- z->bra = z->c; /* ], line 133 */
855
- { int m = z->l - z->c; (void) m; /* or, line 133 */
856
- { int ret = r_R2(z);
857
- if (ret == 0) goto lab13; /* call R2, line 133 */
858
- if (ret < 0) return ret;
859
- }
860
- { int ret;
861
- ret = slice_del(z); /* delete, line 133 */
862
- if (ret < 0) return ret;
863
- }
864
- goto lab12;
865
- lab13:
866
- z->c = z->l - m;
867
- { int ret;
868
- ret = slice_from_s(z, 3, s_26); /* <-, line 133 */
869
- if (ret < 0) return ret;
870
- }
871
- }
872
- lab12:
873
- lab11:
874
- ;
875
- }
876
- break;
877
- case 9:
878
- { int ret;
879
- ret = slice_from_s(z, 3, s_27); /* <-, line 135 */
880
- if (ret < 0) return ret;
881
- }
882
- break;
883
- case 10:
884
- { int ret = r_R1(z);
885
- if (ret == 0) return 0; /* call R1, line 136 */
886
- if (ret < 0) return ret;
887
- }
888
- { int ret;
889
- ret = slice_from_s(z, 2, s_28); /* <-, line 136 */
890
- if (ret < 0) return ret;
891
- }
892
- break;
893
- case 11:
894
- { int m = z->l - z->c; (void) m; /* or, line 138 */
895
- { int ret = r_R2(z);
896
- if (ret == 0) goto lab15; /* call R2, line 138 */
897
- if (ret < 0) return ret;
898
- }
899
- { int ret;
900
- ret = slice_del(z); /* delete, line 138 */
901
- if (ret < 0) return ret;
902
- }
903
- goto lab14;
904
- lab15:
905
- z->c = z->l - m;
906
- { int ret = r_R1(z);
907
- if (ret == 0) return 0; /* call R1, line 138 */
908
- if (ret < 0) return ret;
909
- }
910
- { int ret;
911
- ret = slice_from_s(z, 3, s_29); /* <-, line 138 */
912
- if (ret < 0) return ret;
913
- }
914
- }
915
- lab14:
916
- break;
917
- case 12:
918
- { int ret = r_R1(z);
919
- if (ret == 0) return 0; /* call R1, line 141 */
920
- if (ret < 0) return ret;
921
- }
922
- if (!(out_grouping_b(z, g_v, 97, 251))) return 0;
923
- { int ret;
924
- ret = slice_del(z); /* delete, line 141 */
925
- if (ret < 0) return ret;
926
- }
927
- break;
928
- case 13:
929
- { int ret = r_RV(z);
930
- if (ret == 0) return 0; /* call RV, line 146 */
931
- if (ret < 0) return ret;
932
- }
933
- { int ret;
934
- ret = slice_from_s(z, 3, s_30); /* <-, line 146 */
935
- if (ret < 0) return ret;
936
- }
937
- return 0; /* fail, line 146 */
938
- break;
939
- case 14:
940
- { int ret = r_RV(z);
941
- if (ret == 0) return 0; /* call RV, line 147 */
942
- if (ret < 0) return ret;
943
- }
944
- { int ret;
945
- ret = slice_from_s(z, 3, s_31); /* <-, line 147 */
946
- if (ret < 0) return ret;
947
- }
948
- return 0; /* fail, line 147 */
949
- break;
950
- case 15:
951
- { int m_test = z->l - z->c; /* test, line 149 */
952
- if (!(in_grouping_b(z, g_v, 97, 251))) return 0;
953
- { int ret = r_RV(z);
954
- if (ret == 0) return 0; /* call RV, line 149 */
955
- if (ret < 0) return ret;
956
- }
957
- z->c = z->l - m_test;
958
- }
959
- { int ret;
960
- ret = slice_del(z); /* delete, line 149 */
961
- if (ret < 0) return ret;
962
- }
963
- return 0; /* fail, line 149 */
964
- break;
965
- }
966
- return 1;
967
- }
968
-
969
- static int r_i_verb_suffix(struct SN_env * z) {
970
- int among_var;
971
- { int m3; /* setlimit, line 154 */
972
- int m = z->l - z->c; (void) m;
973
- if (z->c < z->I[0]) return 0;
974
- z->c = z->I[0]; /* tomark, line 154 */
975
- m3 = z->lb; z->lb = z->c;
976
- z->c = z->l - m;
977
- z->ket = z->c; /* [, line 155 */
978
- among_var = find_among_b(z, a_4, 35); /* substring, line 155 */
979
- if (!(among_var)) { z->lb = m3; return 0; }
980
- z->bra = z->c; /* ], line 155 */
981
- switch(among_var) {
982
- case 0: { z->lb = m3; return 0; }
983
- case 1:
984
- if (!(out_grouping_b(z, g_v, 97, 251))) { z->lb = m3; return 0; }
985
- { int ret;
986
- ret = slice_del(z); /* delete, line 161 */
987
- if (ret < 0) return ret;
988
- }
989
- break;
990
- }
991
- z->lb = m3;
992
- }
993
- return 1;
994
- }
995
-
996
- static int r_verb_suffix(struct SN_env * z) {
997
- int among_var;
998
- { int m3; /* setlimit, line 165 */
999
- int m = z->l - z->c; (void) m;
1000
- if (z->c < z->I[0]) return 0;
1001
- z->c = z->I[0]; /* tomark, line 165 */
1002
- m3 = z->lb; z->lb = z->c;
1003
- z->c = z->l - m;
1004
- z->ket = z->c; /* [, line 166 */
1005
- among_var = find_among_b(z, a_5, 38); /* substring, line 166 */
1006
- if (!(among_var)) { z->lb = m3; return 0; }
1007
- z->bra = z->c; /* ], line 166 */
1008
- switch(among_var) {
1009
- case 0: { z->lb = m3; return 0; }
1010
- case 1:
1011
- { int ret = r_R2(z);
1012
- if (ret == 0) { z->lb = m3; return 0; } /* call R2, line 168 */
1013
- if (ret < 0) return ret;
1014
- }
1015
- { int ret;
1016
- ret = slice_del(z); /* delete, line 168 */
1017
- if (ret < 0) return ret;
1018
- }
1019
- break;
1020
- case 2:
1021
- { int ret;
1022
- ret = slice_del(z); /* delete, line 176 */
1023
- if (ret < 0) return ret;
1024
- }
1025
- break;
1026
- case 3:
1027
- { int ret;
1028
- ret = slice_del(z); /* delete, line 181 */
1029
- if (ret < 0) return ret;
1030
- }
1031
- { int m = z->l - z->c; (void) m; /* try, line 182 */
1032
- z->ket = z->c; /* [, line 182 */
1033
- if (!(eq_s_b(z, 1, s_32))) { z->c = z->l - m; goto lab0; }
1034
- z->bra = z->c; /* ], line 182 */
1035
- { int ret;
1036
- ret = slice_del(z); /* delete, line 182 */
1037
- if (ret < 0) return ret;
1038
- }
1039
- lab0:
1040
- ;
1041
- }
1042
- break;
1043
- }
1044
- z->lb = m3;
1045
- }
1046
- return 1;
1047
- }
1048
-
1049
- static int r_residual_suffix(struct SN_env * z) {
1050
- int among_var;
1051
- { int m = z->l - z->c; (void) m; /* try, line 190 */
1052
- z->ket = z->c; /* [, line 190 */
1053
- if (!(eq_s_b(z, 1, s_33))) { z->c = z->l - m; goto lab0; }
1054
- z->bra = z->c; /* ], line 190 */
1055
- { int m_test = z->l - z->c; /* test, line 190 */
1056
- if (!(out_grouping_b(z, g_keep_with_s, 97, 232))) { z->c = z->l - m; goto lab0; }
1057
- z->c = z->l - m_test;
1058
- }
1059
- { int ret;
1060
- ret = slice_del(z); /* delete, line 190 */
1061
- if (ret < 0) return ret;
1062
- }
1063
- lab0:
1064
- ;
1065
- }
1066
- { int m3; /* setlimit, line 191 */
1067
- int m = z->l - z->c; (void) m;
1068
- if (z->c < z->I[0]) return 0;
1069
- z->c = z->I[0]; /* tomark, line 191 */
1070
- m3 = z->lb; z->lb = z->c;
1071
- z->c = z->l - m;
1072
- z->ket = z->c; /* [, line 192 */
1073
- among_var = find_among_b(z, a_6, 7); /* substring, line 192 */
1074
- if (!(among_var)) { z->lb = m3; return 0; }
1075
- z->bra = z->c; /* ], line 192 */
1076
- switch(among_var) {
1077
- case 0: { z->lb = m3; return 0; }
1078
- case 1:
1079
- { int ret = r_R2(z);
1080
- if (ret == 0) { z->lb = m3; return 0; } /* call R2, line 193 */
1081
- if (ret < 0) return ret;
1082
- }
1083
- { int m = z->l - z->c; (void) m; /* or, line 193 */
1084
- if (!(eq_s_b(z, 1, s_34))) goto lab2;
1085
- goto lab1;
1086
- lab2:
1087
- z->c = z->l - m;
1088
- if (!(eq_s_b(z, 1, s_35))) { z->lb = m3; return 0; }
1089
- }
1090
- lab1:
1091
- { int ret;
1092
- ret = slice_del(z); /* delete, line 193 */
1093
- if (ret < 0) return ret;
1094
- }
1095
- break;
1096
- case 2:
1097
- { int ret;
1098
- ret = slice_from_s(z, 1, s_36); /* <-, line 195 */
1099
- if (ret < 0) return ret;
1100
- }
1101
- break;
1102
- case 3:
1103
- { int ret;
1104
- ret = slice_del(z); /* delete, line 196 */
1105
- if (ret < 0) return ret;
1106
- }
1107
- break;
1108
- case 4:
1109
- if (!(eq_s_b(z, 2, s_37))) { z->lb = m3; return 0; }
1110
- { int ret;
1111
- ret = slice_del(z); /* delete, line 197 */
1112
- if (ret < 0) return ret;
1113
- }
1114
- break;
1115
- }
1116
- z->lb = m3;
1117
- }
1118
- return 1;
1119
- }
1120
-
1121
- static int r_un_double(struct SN_env * z) {
1122
- { int m_test = z->l - z->c; /* test, line 203 */
1123
- if (!(find_among_b(z, a_7, 5))) return 0; /* among, line 203 */
1124
- z->c = z->l - m_test;
1125
- }
1126
- z->ket = z->c; /* [, line 203 */
1127
- if (z->c <= z->lb) return 0;
1128
- z->c--; /* next, line 203 */
1129
- z->bra = z->c; /* ], line 203 */
1130
- { int ret;
1131
- ret = slice_del(z); /* delete, line 203 */
1132
- if (ret < 0) return ret;
1133
- }
1134
- return 1;
1135
- }
1136
-
1137
- static int r_un_accent(struct SN_env * z) {
1138
- { int i = 1;
1139
- while(1) { /* atleast, line 207 */
1140
- if (!(out_grouping_b(z, g_v, 97, 251))) goto lab0;
1141
- i--;
1142
- continue;
1143
- lab0:
1144
- break;
1145
- }
1146
- if (i > 0) return 0;
1147
- }
1148
- z->ket = z->c; /* [, line 208 */
1149
- { int m = z->l - z->c; (void) m; /* or, line 208 */
1150
- if (!(eq_s_b(z, 1, s_38))) goto lab2;
1151
- goto lab1;
1152
- lab2:
1153
- z->c = z->l - m;
1154
- if (!(eq_s_b(z, 1, s_39))) return 0;
1155
- }
1156
- lab1:
1157
- z->bra = z->c; /* ], line 208 */
1158
- { int ret;
1159
- ret = slice_from_s(z, 1, s_40); /* <-, line 208 */
1160
- if (ret < 0) return ret;
1161
- }
1162
- return 1;
1163
- }
1164
-
1165
- extern int french_ISO_8859_1_stem(struct SN_env * z) {
1166
- { int c = z->c; /* do, line 214 */
1167
- { int ret = r_prelude(z);
1168
- if (ret == 0) goto lab0; /* call prelude, line 214 */
1169
- if (ret < 0) return ret;
1170
- }
1171
- lab0:
1172
- z->c = c;
1173
- }
1174
- { int c = z->c; /* do, line 215 */
1175
- { int ret = r_mark_regions(z);
1176
- if (ret == 0) goto lab1; /* call mark_regions, line 215 */
1177
- if (ret < 0) return ret;
1178
- }
1179
- lab1:
1180
- z->c = c;
1181
- }
1182
- z->lb = z->c; z->c = z->l; /* backwards, line 216 */
1183
-
1184
- { int m = z->l - z->c; (void) m; /* do, line 218 */
1185
- { int m = z->l - z->c; (void) m; /* or, line 228 */
1186
- { int m = z->l - z->c; (void) m; /* and, line 224 */
1187
- { int m = z->l - z->c; (void) m; /* or, line 220 */
1188
- { int ret = r_standard_suffix(z);
1189
- if (ret == 0) goto lab6; /* call standard_suffix, line 220 */
1190
- if (ret < 0) return ret;
1191
- }
1192
- goto lab5;
1193
- lab6:
1194
- z->c = z->l - m;
1195
- { int ret = r_i_verb_suffix(z);
1196
- if (ret == 0) goto lab7; /* call i_verb_suffix, line 221 */
1197
- if (ret < 0) return ret;
1198
- }
1199
- goto lab5;
1200
- lab7:
1201
- z->c = z->l - m;
1202
- { int ret = r_verb_suffix(z);
1203
- if (ret == 0) goto lab4; /* call verb_suffix, line 222 */
1204
- if (ret < 0) return ret;
1205
- }
1206
- }
1207
- lab5:
1208
- z->c = z->l - m;
1209
- { int m = z->l - z->c; (void) m; /* try, line 225 */
1210
- z->ket = z->c; /* [, line 225 */
1211
- { int m = z->l - z->c; (void) m; /* or, line 225 */
1212
- if (!(eq_s_b(z, 1, s_41))) goto lab10;
1213
- z->bra = z->c; /* ], line 225 */
1214
- { int ret;
1215
- ret = slice_from_s(z, 1, s_42); /* <-, line 225 */
1216
- if (ret < 0) return ret;
1217
- }
1218
- goto lab9;
1219
- lab10:
1220
- z->c = z->l - m;
1221
- if (!(eq_s_b(z, 1, s_43))) { z->c = z->l - m; goto lab8; }
1222
- z->bra = z->c; /* ], line 226 */
1223
- { int ret;
1224
- ret = slice_from_s(z, 1, s_44); /* <-, line 226 */
1225
- if (ret < 0) return ret;
1226
- }
1227
- }
1228
- lab9:
1229
- lab8:
1230
- ;
1231
- }
1232
- }
1233
- goto lab3;
1234
- lab4:
1235
- z->c = z->l - m;
1236
- { int ret = r_residual_suffix(z);
1237
- if (ret == 0) goto lab2; /* call residual_suffix, line 229 */
1238
- if (ret < 0) return ret;
1239
- }
1240
- }
1241
- lab3:
1242
- lab2:
1243
- z->c = z->l - m;
1244
- }
1245
- { int m = z->l - z->c; (void) m; /* do, line 234 */
1246
- { int ret = r_un_double(z);
1247
- if (ret == 0) goto lab11; /* call un_double, line 234 */
1248
- if (ret < 0) return ret;
1249
- }
1250
- lab11:
1251
- z->c = z->l - m;
1252
- }
1253
- { int m = z->l - z->c; (void) m; /* do, line 235 */
1254
- { int ret = r_un_accent(z);
1255
- if (ret == 0) goto lab12; /* call un_accent, line 235 */
1256
- if (ret < 0) return ret;
1257
- }
1258
- lab12:
1259
- z->c = z->l - m;
1260
- }
1261
- z->c = z->lb;
1262
- { int c = z->c; /* do, line 237 */
1263
- { int ret = r_postlude(z);
1264
- if (ret == 0) goto lab13; /* call postlude, line 237 */
1265
- if (ret < 0) return ret;
1266
- }
1267
- lab13:
1268
- z->c = c;
1269
- }
1270
- return 1;
1271
- }
1272
-
1273
- extern struct SN_env * french_ISO_8859_1_create_env(void) { return SN_create_env(0, 3, 0); }
1274
-
1275
- extern void french_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z); }
1276
-