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,1296 +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_UTF_8_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_UTF_8_create_env(void);
21
- extern void french_UTF_8_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[4] = { 'I', 0xC3, 0xA8, 'r' };
38
- static symbol s_1_3[4] = { 'i', 0xC3, 0xA8, '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 */ { 4, s_1_2, -1, 4, 0},
47
- /* 3 */ { 4, 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[5] = { 'i', 't', 0xC3, 0xA9, '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[4] = { 'i', 't', 0xC3, 0xA9 };
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 */ { 5, 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 */ { 4, 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[5] = { 0xC3, 0xAE, '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[5] = { 0xC3, 0xAE, '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[3] = { 0xC3, 0xAE, '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 */ { 5, 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 */ { 5, 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 */ { 3, 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[3] = { 0xC3, 0xA9, '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[5] = { 0xC3, 0xA2, '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[5] = { 0xC3, 0xA2, 't', 'e', 's' };
243
- static symbol s_5_14[4] = { 0xC3, 0xA9, '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[3] = { 0xC3, 0xA9, '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[6] = { 0xC3, 0xA8, '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[3] = { 0xC3, 0xA2, '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[2] = { 0xC3, 0xA9 };
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 */ { 3, 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 */ { 5, 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 */ { 5, s_5_13, -1, 3, 0},
284
- /* 14 */ { 4, 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 */ { 3, 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 */ { 6, 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 */ { 3, 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 */ { 2, s_5_37, -1, 2, 0}
308
- };
309
-
310
- static symbol s_6_0[1] = { 'e' };
311
- static symbol s_6_1[5] = { 'I', 0xC3, 0xA8, 'r', 'e' };
312
- static symbol s_6_2[5] = { 'i', 0xC3, 0xA8, '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[2] = { 0xC3, 0xAB };
317
-
318
- static struct among a_6[7] =
319
- {
320
- /* 0 */ { 1, s_6_0, -1, 3, 0},
321
- /* 1 */ { 5, s_6_1, 0, 2, 0},
322
- /* 2 */ { 5, 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 */ { 2, 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[] = { 0xC3, 0xA9 };
387
- static symbol s_39[] = { 0xC3, 0xA8 };
388
- static symbol s_40[] = { 'e' };
389
- static symbol s_41[] = { 'Y' };
390
- static symbol s_42[] = { 'i' };
391
- static symbol s_43[] = { 0xC3, 0xA7 };
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_U(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_U(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_U(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_U(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
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
460
- if (c < 0) goto lab0;
461
- z->c = c; /* goto, line 38 */
462
- }
463
- }
464
- continue;
465
- lab0:
466
- z->c = c;
467
- break;
468
- }
469
- return 1;
470
- }
471
-
472
- static int r_mark_regions(struct SN_env * z) {
473
- z->I[0] = z->l;
474
- z->I[1] = z->l;
475
- z->I[2] = z->l;
476
- { int c = z->c; /* do, line 56 */
477
- { int c = z->c; /* or, line 57 */
478
- if (!(in_grouping_U(z, g_v, 97, 251))) goto lab2;
479
- if (!(in_grouping_U(z, g_v, 97, 251))) goto lab2;
480
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
481
- if (c < 0) goto lab2;
482
- z->c = c; /* next, line 57 */
483
- }
484
- goto lab1;
485
- lab2:
486
- z->c = c;
487
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
488
- if (c < 0) goto lab0;
489
- z->c = c; /* next, line 57 */
490
- }
491
- while(1) { /* gopast, line 57 */
492
- if (!(in_grouping_U(z, g_v, 97, 251))) goto lab3;
493
- break;
494
- lab3:
495
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
496
- if (c < 0) goto lab0;
497
- z->c = c; /* gopast, line 57 */
498
- }
499
- }
500
- }
501
- lab1:
502
- z->I[0] = z->c; /* setmark pV, line 58 */
503
- lab0:
504
- z->c = c;
505
- }
506
- { int c = z->c; /* do, line 60 */
507
- while(1) { /* gopast, line 61 */
508
- if (!(in_grouping_U(z, g_v, 97, 251))) goto lab5;
509
- break;
510
- lab5:
511
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
512
- if (c < 0) goto lab4;
513
- z->c = c; /* gopast, line 61 */
514
- }
515
- }
516
- while(1) { /* gopast, line 61 */
517
- if (!(out_grouping_U(z, g_v, 97, 251))) goto lab6;
518
- break;
519
- lab6:
520
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
521
- if (c < 0) goto lab4;
522
- z->c = c; /* gopast, line 61 */
523
- }
524
- }
525
- z->I[1] = z->c; /* setmark p1, line 61 */
526
- while(1) { /* gopast, line 62 */
527
- if (!(in_grouping_U(z, g_v, 97, 251))) goto lab7;
528
- break;
529
- lab7:
530
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
531
- if (c < 0) goto lab4;
532
- z->c = c; /* gopast, line 62 */
533
- }
534
- }
535
- while(1) { /* gopast, line 62 */
536
- if (!(out_grouping_U(z, g_v, 97, 251))) goto lab8;
537
- break;
538
- lab8:
539
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
540
- if (c < 0) goto lab4;
541
- z->c = c; /* gopast, line 62 */
542
- }
543
- }
544
- z->I[2] = z->c; /* setmark p2, line 62 */
545
- lab4:
546
- z->c = c;
547
- }
548
- return 1;
549
- }
550
-
551
- static int r_postlude(struct SN_env * z) {
552
- int among_var;
553
- while(1) { /* repeat, line 66 */
554
- int c = z->c;
555
- z->bra = z->c; /* [, line 68 */
556
- among_var = find_among(z, a_0, 4); /* substring, line 68 */
557
- if (!(among_var)) goto lab0;
558
- z->ket = z->c; /* ], line 68 */
559
- switch(among_var) {
560
- case 0: goto lab0;
561
- case 1:
562
- { int ret;
563
- ret = slice_from_s(z, 1, s_11); /* <-, line 69 */
564
- if (ret < 0) return ret;
565
- }
566
- break;
567
- case 2:
568
- { int ret;
569
- ret = slice_from_s(z, 1, s_12); /* <-, line 70 */
570
- if (ret < 0) return ret;
571
- }
572
- break;
573
- case 3:
574
- { int ret;
575
- ret = slice_from_s(z, 1, s_13); /* <-, line 71 */
576
- if (ret < 0) return ret;
577
- }
578
- break;
579
- case 4:
580
- { int c = skip_utf8(z->p, z->c, 0, z->l, 1);
581
- if (c < 0) goto lab0;
582
- z->c = c; /* next, line 72 */
583
- }
584
- break;
585
- }
586
- continue;
587
- lab0:
588
- z->c = c;
589
- break;
590
- }
591
- return 1;
592
- }
593
-
594
- static int r_RV(struct SN_env * z) {
595
- if (!(z->I[0] <= z->c)) return 0;
596
- return 1;
597
- }
598
-
599
- static int r_R1(struct SN_env * z) {
600
- if (!(z->I[1] <= z->c)) return 0;
601
- return 1;
602
- }
603
-
604
- static int r_R2(struct SN_env * z) {
605
- if (!(z->I[2] <= z->c)) return 0;
606
- return 1;
607
- }
608
-
609
- static int r_standard_suffix(struct SN_env * z) {
610
- int among_var;
611
- z->ket = z->c; /* [, line 83 */
612
- among_var = find_among_b(z, a_3, 43); /* substring, line 83 */
613
- if (!(among_var)) return 0;
614
- z->bra = z->c; /* ], line 83 */
615
- switch(among_var) {
616
- case 0: return 0;
617
- case 1:
618
- { int ret = r_R2(z);
619
- if (ret == 0) return 0; /* call R2, line 87 */
620
- if (ret < 0) return ret;
621
- }
622
- { int ret;
623
- ret = slice_del(z); /* delete, line 87 */
624
- if (ret < 0) return ret;
625
- }
626
- break;
627
- case 2:
628
- { int ret = r_R2(z);
629
- if (ret == 0) return 0; /* call R2, line 90 */
630
- if (ret < 0) return ret;
631
- }
632
- { int ret;
633
- ret = slice_del(z); /* delete, line 90 */
634
- if (ret < 0) return ret;
635
- }
636
- { int m = z->l - z->c; (void) m; /* try, line 91 */
637
- z->ket = z->c; /* [, line 91 */
638
- if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m; goto lab0; }
639
- z->bra = z->c; /* ], line 91 */
640
- { int m = z->l - z->c; (void) m; /* or, line 91 */
641
- { int ret = r_R2(z);
642
- if (ret == 0) goto lab2; /* call R2, line 91 */
643
- if (ret < 0) return ret;
644
- }
645
- { int ret;
646
- ret = slice_del(z); /* delete, line 91 */
647
- if (ret < 0) return ret;
648
- }
649
- goto lab1;
650
- lab2:
651
- z->c = z->l - m;
652
- { int ret;
653
- ret = slice_from_s(z, 3, s_15); /* <-, line 91 */
654
- if (ret < 0) return ret;
655
- }
656
- }
657
- lab1:
658
- lab0:
659
- ;
660
- }
661
- break;
662
- case 3:
663
- { int ret = r_R2(z);
664
- if (ret == 0) return 0; /* call R2, line 95 */
665
- if (ret < 0) return ret;
666
- }
667
- { int ret;
668
- ret = slice_from_s(z, 3, s_16); /* <-, line 95 */
669
- if (ret < 0) return ret;
670
- }
671
- break;
672
- case 4:
673
- { int ret = r_R2(z);
674
- if (ret == 0) return 0; /* call R2, line 98 */
675
- if (ret < 0) return ret;
676
- }
677
- { int ret;
678
- ret = slice_from_s(z, 1, s_17); /* <-, line 98 */
679
- if (ret < 0) return ret;
680
- }
681
- break;
682
- case 5:
683
- { int ret = r_R2(z);
684
- if (ret == 0) return 0; /* call R2, line 101 */
685
- if (ret < 0) return ret;
686
- }
687
- { int ret;
688
- ret = slice_from_s(z, 3, s_18); /* <-, line 101 */
689
- if (ret < 0) return ret;
690
- }
691
- break;
692
- case 6:
693
- { int ret = r_RV(z);
694
- if (ret == 0) return 0; /* call RV, line 105 */
695
- if (ret < 0) return ret;
696
- }
697
- { int ret;
698
- ret = slice_del(z); /* delete, line 105 */
699
- if (ret < 0) return ret;
700
- }
701
- { int m = z->l - z->c; (void) m; /* try, line 106 */
702
- z->ket = z->c; /* [, line 107 */
703
- among_var = find_among_b(z, a_1, 6); /* substring, line 107 */
704
- if (!(among_var)) { z->c = z->l - m; goto lab3; }
705
- z->bra = z->c; /* ], line 107 */
706
- switch(among_var) {
707
- case 0: { z->c = z->l - m; goto lab3; }
708
- case 1:
709
- { int ret = r_R2(z);
710
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 108 */
711
- if (ret < 0) return ret;
712
- }
713
- { int ret;
714
- ret = slice_del(z); /* delete, line 108 */
715
- if (ret < 0) return ret;
716
- }
717
- z->ket = z->c; /* [, line 108 */
718
- if (!(eq_s_b(z, 2, s_19))) { z->c = z->l - m; goto lab3; }
719
- z->bra = z->c; /* ], line 108 */
720
- { int ret = r_R2(z);
721
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 108 */
722
- if (ret < 0) return ret;
723
- }
724
- { int ret;
725
- ret = slice_del(z); /* delete, line 108 */
726
- if (ret < 0) return ret;
727
- }
728
- break;
729
- case 2:
730
- { int m = z->l - z->c; (void) m; /* or, line 109 */
731
- { int ret = r_R2(z);
732
- if (ret == 0) goto lab5; /* call R2, line 109 */
733
- if (ret < 0) return ret;
734
- }
735
- { int ret;
736
- ret = slice_del(z); /* delete, line 109 */
737
- if (ret < 0) return ret;
738
- }
739
- goto lab4;
740
- lab5:
741
- z->c = z->l - m;
742
- { int ret = r_R1(z);
743
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R1, line 109 */
744
- if (ret < 0) return ret;
745
- }
746
- { int ret;
747
- ret = slice_from_s(z, 3, s_20); /* <-, line 109 */
748
- if (ret < 0) return ret;
749
- }
750
- }
751
- lab4:
752
- break;
753
- case 3:
754
- { int ret = r_R2(z);
755
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 111 */
756
- if (ret < 0) return ret;
757
- }
758
- { int ret;
759
- ret = slice_del(z); /* delete, line 111 */
760
- if (ret < 0) return ret;
761
- }
762
- break;
763
- case 4:
764
- { int ret = r_RV(z);
765
- if (ret == 0) { z->c = z->l - m; goto lab3; } /* call RV, line 113 */
766
- if (ret < 0) return ret;
767
- }
768
- { int ret;
769
- ret = slice_from_s(z, 1, s_21); /* <-, line 113 */
770
- if (ret < 0) return ret;
771
- }
772
- break;
773
- }
774
- lab3:
775
- ;
776
- }
777
- break;
778
- case 7:
779
- { int ret = r_R2(z);
780
- if (ret == 0) return 0; /* call R2, line 120 */
781
- if (ret < 0) return ret;
782
- }
783
- { int ret;
784
- ret = slice_del(z); /* delete, line 120 */
785
- if (ret < 0) return ret;
786
- }
787
- { int m = z->l - z->c; (void) m; /* try, line 121 */
788
- z->ket = z->c; /* [, line 122 */
789
- among_var = find_among_b(z, a_2, 3); /* substring, line 122 */
790
- if (!(among_var)) { z->c = z->l - m; goto lab6; }
791
- z->bra = z->c; /* ], line 122 */
792
- switch(among_var) {
793
- case 0: { z->c = z->l - m; goto lab6; }
794
- case 1:
795
- { int m = z->l - z->c; (void) m; /* or, line 123 */
796
- { int ret = r_R2(z);
797
- if (ret == 0) goto lab8; /* call R2, line 123 */
798
- if (ret < 0) return ret;
799
- }
800
- { int ret;
801
- ret = slice_del(z); /* delete, line 123 */
802
- if (ret < 0) return ret;
803
- }
804
- goto lab7;
805
- lab8:
806
- z->c = z->l - m;
807
- { int ret;
808
- ret = slice_from_s(z, 3, s_22); /* <-, line 123 */
809
- if (ret < 0) return ret;
810
- }
811
- }
812
- lab7:
813
- break;
814
- case 2:
815
- { int m = z->l - z->c; (void) m; /* or, line 124 */
816
- { int ret = r_R2(z);
817
- if (ret == 0) goto lab10; /* call R2, line 124 */
818
- if (ret < 0) return ret;
819
- }
820
- { int ret;
821
- ret = slice_del(z); /* delete, line 124 */
822
- if (ret < 0) return ret;
823
- }
824
- goto lab9;
825
- lab10:
826
- z->c = z->l - m;
827
- { int ret;
828
- ret = slice_from_s(z, 3, s_23); /* <-, line 124 */
829
- if (ret < 0) return ret;
830
- }
831
- }
832
- lab9:
833
- break;
834
- case 3:
835
- { int ret = r_R2(z);
836
- if (ret == 0) { z->c = z->l - m; goto lab6; } /* call R2, line 125 */
837
- if (ret < 0) return ret;
838
- }
839
- { int ret;
840
- ret = slice_del(z); /* delete, line 125 */
841
- if (ret < 0) return ret;
842
- }
843
- break;
844
- }
845
- lab6:
846
- ;
847
- }
848
- break;
849
- case 8:
850
- { int ret = r_R2(z);
851
- if (ret == 0) return 0; /* call R2, line 132 */
852
- if (ret < 0) return ret;
853
- }
854
- { int ret;
855
- ret = slice_del(z); /* delete, line 132 */
856
- if (ret < 0) return ret;
857
- }
858
- { int m = z->l - z->c; (void) m; /* try, line 133 */
859
- z->ket = z->c; /* [, line 133 */
860
- if (!(eq_s_b(z, 2, s_24))) { z->c = z->l - m; goto lab11; }
861
- z->bra = z->c; /* ], line 133 */
862
- { int ret = r_R2(z);
863
- if (ret == 0) { z->c = z->l - m; goto lab11; } /* call R2, line 133 */
864
- if (ret < 0) return ret;
865
- }
866
- { int ret;
867
- ret = slice_del(z); /* delete, line 133 */
868
- if (ret < 0) return ret;
869
- }
870
- z->ket = z->c; /* [, line 133 */
871
- if (!(eq_s_b(z, 2, s_25))) { z->c = z->l - m; goto lab11; }
872
- z->bra = z->c; /* ], line 133 */
873
- { int m = z->l - z->c; (void) m; /* or, line 133 */
874
- { int ret = r_R2(z);
875
- if (ret == 0) goto lab13; /* call R2, line 133 */
876
- if (ret < 0) return ret;
877
- }
878
- { int ret;
879
- ret = slice_del(z); /* delete, line 133 */
880
- if (ret < 0) return ret;
881
- }
882
- goto lab12;
883
- lab13:
884
- z->c = z->l - m;
885
- { int ret;
886
- ret = slice_from_s(z, 3, s_26); /* <-, line 133 */
887
- if (ret < 0) return ret;
888
- }
889
- }
890
- lab12:
891
- lab11:
892
- ;
893
- }
894
- break;
895
- case 9:
896
- { int ret;
897
- ret = slice_from_s(z, 3, s_27); /* <-, line 135 */
898
- if (ret < 0) return ret;
899
- }
900
- break;
901
- case 10:
902
- { int ret = r_R1(z);
903
- if (ret == 0) return 0; /* call R1, line 136 */
904
- if (ret < 0) return ret;
905
- }
906
- { int ret;
907
- ret = slice_from_s(z, 2, s_28); /* <-, line 136 */
908
- if (ret < 0) return ret;
909
- }
910
- break;
911
- case 11:
912
- { int m = z->l - z->c; (void) m; /* or, line 138 */
913
- { int ret = r_R2(z);
914
- if (ret == 0) goto lab15; /* call R2, line 138 */
915
- if (ret < 0) return ret;
916
- }
917
- { int ret;
918
- ret = slice_del(z); /* delete, line 138 */
919
- if (ret < 0) return ret;
920
- }
921
- goto lab14;
922
- lab15:
923
- z->c = z->l - m;
924
- { int ret = r_R1(z);
925
- if (ret == 0) return 0; /* call R1, line 138 */
926
- if (ret < 0) return ret;
927
- }
928
- { int ret;
929
- ret = slice_from_s(z, 3, s_29); /* <-, line 138 */
930
- if (ret < 0) return ret;
931
- }
932
- }
933
- lab14:
934
- break;
935
- case 12:
936
- { int ret = r_R1(z);
937
- if (ret == 0) return 0; /* call R1, line 141 */
938
- if (ret < 0) return ret;
939
- }
940
- if (!(out_grouping_b_U(z, g_v, 97, 251))) return 0;
941
- { int ret;
942
- ret = slice_del(z); /* delete, line 141 */
943
- if (ret < 0) return ret;
944
- }
945
- break;
946
- case 13:
947
- { int ret = r_RV(z);
948
- if (ret == 0) return 0; /* call RV, line 146 */
949
- if (ret < 0) return ret;
950
- }
951
- { int ret;
952
- ret = slice_from_s(z, 3, s_30); /* <-, line 146 */
953
- if (ret < 0) return ret;
954
- }
955
- return 0; /* fail, line 146 */
956
- break;
957
- case 14:
958
- { int ret = r_RV(z);
959
- if (ret == 0) return 0; /* call RV, line 147 */
960
- if (ret < 0) return ret;
961
- }
962
- { int ret;
963
- ret = slice_from_s(z, 3, s_31); /* <-, line 147 */
964
- if (ret < 0) return ret;
965
- }
966
- return 0; /* fail, line 147 */
967
- break;
968
- case 15:
969
- { int m_test = z->l - z->c; /* test, line 149 */
970
- if (!(in_grouping_b_U(z, g_v, 97, 251))) return 0;
971
- { int ret = r_RV(z);
972
- if (ret == 0) return 0; /* call RV, line 149 */
973
- if (ret < 0) return ret;
974
- }
975
- z->c = z->l - m_test;
976
- }
977
- { int ret;
978
- ret = slice_del(z); /* delete, line 149 */
979
- if (ret < 0) return ret;
980
- }
981
- return 0; /* fail, line 149 */
982
- break;
983
- }
984
- return 1;
985
- }
986
-
987
- static int r_i_verb_suffix(struct SN_env * z) {
988
- int among_var;
989
- { int m3; /* setlimit, line 154 */
990
- int m = z->l - z->c; (void) m;
991
- if (z->c < z->I[0]) return 0;
992
- z->c = z->I[0]; /* tomark, line 154 */
993
- m3 = z->lb; z->lb = z->c;
994
- z->c = z->l - m;
995
- z->ket = z->c; /* [, line 155 */
996
- among_var = find_among_b(z, a_4, 35); /* substring, line 155 */
997
- if (!(among_var)) { z->lb = m3; return 0; }
998
- z->bra = z->c; /* ], line 155 */
999
- switch(among_var) {
1000
- case 0: { z->lb = m3; return 0; }
1001
- case 1:
1002
- if (!(out_grouping_b_U(z, g_v, 97, 251))) { z->lb = m3; return 0; }
1003
- { int ret;
1004
- ret = slice_del(z); /* delete, line 161 */
1005
- if (ret < 0) return ret;
1006
- }
1007
- break;
1008
- }
1009
- z->lb = m3;
1010
- }
1011
- return 1;
1012
- }
1013
-
1014
- static int r_verb_suffix(struct SN_env * z) {
1015
- int among_var;
1016
- { int m3; /* setlimit, line 165 */
1017
- int m = z->l - z->c; (void) m;
1018
- if (z->c < z->I[0]) return 0;
1019
- z->c = z->I[0]; /* tomark, line 165 */
1020
- m3 = z->lb; z->lb = z->c;
1021
- z->c = z->l - m;
1022
- z->ket = z->c; /* [, line 166 */
1023
- among_var = find_among_b(z, a_5, 38); /* substring, line 166 */
1024
- if (!(among_var)) { z->lb = m3; return 0; }
1025
- z->bra = z->c; /* ], line 166 */
1026
- switch(among_var) {
1027
- case 0: { z->lb = m3; return 0; }
1028
- case 1:
1029
- { int ret = r_R2(z);
1030
- if (ret == 0) { z->lb = m3; return 0; } /* call R2, line 168 */
1031
- if (ret < 0) return ret;
1032
- }
1033
- { int ret;
1034
- ret = slice_del(z); /* delete, line 168 */
1035
- if (ret < 0) return ret;
1036
- }
1037
- break;
1038
- case 2:
1039
- { int ret;
1040
- ret = slice_del(z); /* delete, line 176 */
1041
- if (ret < 0) return ret;
1042
- }
1043
- break;
1044
- case 3:
1045
- { int ret;
1046
- ret = slice_del(z); /* delete, line 181 */
1047
- if (ret < 0) return ret;
1048
- }
1049
- { int m = z->l - z->c; (void) m; /* try, line 182 */
1050
- z->ket = z->c; /* [, line 182 */
1051
- if (!(eq_s_b(z, 1, s_32))) { z->c = z->l - m; goto lab0; }
1052
- z->bra = z->c; /* ], line 182 */
1053
- { int ret;
1054
- ret = slice_del(z); /* delete, line 182 */
1055
- if (ret < 0) return ret;
1056
- }
1057
- lab0:
1058
- ;
1059
- }
1060
- break;
1061
- }
1062
- z->lb = m3;
1063
- }
1064
- return 1;
1065
- }
1066
-
1067
- static int r_residual_suffix(struct SN_env * z) {
1068
- int among_var;
1069
- { int m = z->l - z->c; (void) m; /* try, line 190 */
1070
- z->ket = z->c; /* [, line 190 */
1071
- if (!(eq_s_b(z, 1, s_33))) { z->c = z->l - m; goto lab0; }
1072
- z->bra = z->c; /* ], line 190 */
1073
- { int m_test = z->l - z->c; /* test, line 190 */
1074
- if (!(out_grouping_b_U(z, g_keep_with_s, 97, 232))) { z->c = z->l - m; goto lab0; }
1075
- z->c = z->l - m_test;
1076
- }
1077
- { int ret;
1078
- ret = slice_del(z); /* delete, line 190 */
1079
- if (ret < 0) return ret;
1080
- }
1081
- lab0:
1082
- ;
1083
- }
1084
- { int m3; /* setlimit, line 191 */
1085
- int m = z->l - z->c; (void) m;
1086
- if (z->c < z->I[0]) return 0;
1087
- z->c = z->I[0]; /* tomark, line 191 */
1088
- m3 = z->lb; z->lb = z->c;
1089
- z->c = z->l - m;
1090
- z->ket = z->c; /* [, line 192 */
1091
- among_var = find_among_b(z, a_6, 7); /* substring, line 192 */
1092
- if (!(among_var)) { z->lb = m3; return 0; }
1093
- z->bra = z->c; /* ], line 192 */
1094
- switch(among_var) {
1095
- case 0: { z->lb = m3; return 0; }
1096
- case 1:
1097
- { int ret = r_R2(z);
1098
- if (ret == 0) { z->lb = m3; return 0; } /* call R2, line 193 */
1099
- if (ret < 0) return ret;
1100
- }
1101
- { int m = z->l - z->c; (void) m; /* or, line 193 */
1102
- if (!(eq_s_b(z, 1, s_34))) goto lab2;
1103
- goto lab1;
1104
- lab2:
1105
- z->c = z->l - m;
1106
- if (!(eq_s_b(z, 1, s_35))) { z->lb = m3; return 0; }
1107
- }
1108
- lab1:
1109
- { int ret;
1110
- ret = slice_del(z); /* delete, line 193 */
1111
- if (ret < 0) return ret;
1112
- }
1113
- break;
1114
- case 2:
1115
- { int ret;
1116
- ret = slice_from_s(z, 1, s_36); /* <-, line 195 */
1117
- if (ret < 0) return ret;
1118
- }
1119
- break;
1120
- case 3:
1121
- { int ret;
1122
- ret = slice_del(z); /* delete, line 196 */
1123
- if (ret < 0) return ret;
1124
- }
1125
- break;
1126
- case 4:
1127
- if (!(eq_s_b(z, 2, s_37))) { z->lb = m3; return 0; }
1128
- { int ret;
1129
- ret = slice_del(z); /* delete, line 197 */
1130
- if (ret < 0) return ret;
1131
- }
1132
- break;
1133
- }
1134
- z->lb = m3;
1135
- }
1136
- return 1;
1137
- }
1138
-
1139
- static int r_un_double(struct SN_env * z) {
1140
- { int m_test = z->l - z->c; /* test, line 203 */
1141
- if (!(find_among_b(z, a_7, 5))) return 0; /* among, line 203 */
1142
- z->c = z->l - m_test;
1143
- }
1144
- z->ket = z->c; /* [, line 203 */
1145
- { int c = skip_utf8(z->p, z->c, z->lb, 0, -1);
1146
- if (c < 0) return 0;
1147
- z->c = c; /* next, line 203 */
1148
- }
1149
- z->bra = z->c; /* ], line 203 */
1150
- { int ret;
1151
- ret = slice_del(z); /* delete, line 203 */
1152
- if (ret < 0) return ret;
1153
- }
1154
- return 1;
1155
- }
1156
-
1157
- static int r_un_accent(struct SN_env * z) {
1158
- { int i = 1;
1159
- while(1) { /* atleast, line 207 */
1160
- if (!(out_grouping_b_U(z, g_v, 97, 251))) goto lab0;
1161
- i--;
1162
- continue;
1163
- lab0:
1164
- break;
1165
- }
1166
- if (i > 0) return 0;
1167
- }
1168
- z->ket = z->c; /* [, line 208 */
1169
- { int m = z->l - z->c; (void) m; /* or, line 208 */
1170
- if (!(eq_s_b(z, 2, s_38))) goto lab2;
1171
- goto lab1;
1172
- lab2:
1173
- z->c = z->l - m;
1174
- if (!(eq_s_b(z, 2, s_39))) return 0;
1175
- }
1176
- lab1:
1177
- z->bra = z->c; /* ], line 208 */
1178
- { int ret;
1179
- ret = slice_from_s(z, 1, s_40); /* <-, line 208 */
1180
- if (ret < 0) return ret;
1181
- }
1182
- return 1;
1183
- }
1184
-
1185
- extern int french_UTF_8_stem(struct SN_env * z) {
1186
- { int c = z->c; /* do, line 214 */
1187
- { int ret = r_prelude(z);
1188
- if (ret == 0) goto lab0; /* call prelude, line 214 */
1189
- if (ret < 0) return ret;
1190
- }
1191
- lab0:
1192
- z->c = c;
1193
- }
1194
- { int c = z->c; /* do, line 215 */
1195
- { int ret = r_mark_regions(z);
1196
- if (ret == 0) goto lab1; /* call mark_regions, line 215 */
1197
- if (ret < 0) return ret;
1198
- }
1199
- lab1:
1200
- z->c = c;
1201
- }
1202
- z->lb = z->c; z->c = z->l; /* backwards, line 216 */
1203
-
1204
- { int m = z->l - z->c; (void) m; /* do, line 218 */
1205
- { int m = z->l - z->c; (void) m; /* or, line 228 */
1206
- { int m = z->l - z->c; (void) m; /* and, line 224 */
1207
- { int m = z->l - z->c; (void) m; /* or, line 220 */
1208
- { int ret = r_standard_suffix(z);
1209
- if (ret == 0) goto lab6; /* call standard_suffix, line 220 */
1210
- if (ret < 0) return ret;
1211
- }
1212
- goto lab5;
1213
- lab6:
1214
- z->c = z->l - m;
1215
- { int ret = r_i_verb_suffix(z);
1216
- if (ret == 0) goto lab7; /* call i_verb_suffix, line 221 */
1217
- if (ret < 0) return ret;
1218
- }
1219
- goto lab5;
1220
- lab7:
1221
- z->c = z->l - m;
1222
- { int ret = r_verb_suffix(z);
1223
- if (ret == 0) goto lab4; /* call verb_suffix, line 222 */
1224
- if (ret < 0) return ret;
1225
- }
1226
- }
1227
- lab5:
1228
- z->c = z->l - m;
1229
- { int m = z->l - z->c; (void) m; /* try, line 225 */
1230
- z->ket = z->c; /* [, line 225 */
1231
- { int m = z->l - z->c; (void) m; /* or, line 225 */
1232
- if (!(eq_s_b(z, 1, s_41))) goto lab10;
1233
- z->bra = z->c; /* ], line 225 */
1234
- { int ret;
1235
- ret = slice_from_s(z, 1, s_42); /* <-, line 225 */
1236
- if (ret < 0) return ret;
1237
- }
1238
- goto lab9;
1239
- lab10:
1240
- z->c = z->l - m;
1241
- if (!(eq_s_b(z, 2, s_43))) { z->c = z->l - m; goto lab8; }
1242
- z->bra = z->c; /* ], line 226 */
1243
- { int ret;
1244
- ret = slice_from_s(z, 1, s_44); /* <-, line 226 */
1245
- if (ret < 0) return ret;
1246
- }
1247
- }
1248
- lab9:
1249
- lab8:
1250
- ;
1251
- }
1252
- }
1253
- goto lab3;
1254
- lab4:
1255
- z->c = z->l - m;
1256
- { int ret = r_residual_suffix(z);
1257
- if (ret == 0) goto lab2; /* call residual_suffix, line 229 */
1258
- if (ret < 0) return ret;
1259
- }
1260
- }
1261
- lab3:
1262
- lab2:
1263
- z->c = z->l - m;
1264
- }
1265
- { int m = z->l - z->c; (void) m; /* do, line 234 */
1266
- { int ret = r_un_double(z);
1267
- if (ret == 0) goto lab11; /* call un_double, line 234 */
1268
- if (ret < 0) return ret;
1269
- }
1270
- lab11:
1271
- z->c = z->l - m;
1272
- }
1273
- { int m = z->l - z->c; (void) m; /* do, line 235 */
1274
- { int ret = r_un_accent(z);
1275
- if (ret == 0) goto lab12; /* call un_accent, line 235 */
1276
- if (ret < 0) return ret;
1277
- }
1278
- lab12:
1279
- z->c = z->l - m;
1280
- }
1281
- z->c = z->lb;
1282
- { int c = z->c; /* do, line 237 */
1283
- { int ret = r_postlude(z);
1284
- if (ret == 0) goto lab13; /* call postlude, line 237 */
1285
- if (ret < 0) return ret;
1286
- }
1287
- lab13:
1288
- z->c = c;
1289
- }
1290
- return 1;
1291
- }
1292
-
1293
- extern struct SN_env * french_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
1294
-
1295
- extern void french_UTF_8_close_env(struct SN_env * z) { SN_close_env(z); }
1296
-