isomorfeus-ferret 0.12.7 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +101 -19
  3. data/README.md +54 -1
  4. data/ext/isomorfeus_ferret_ext/bm_bitvector.c +22 -30
  5. data/ext/isomorfeus_ferret_ext/bm_hash.c +6 -12
  6. data/ext/isomorfeus_ferret_ext/bm_micro_string.c +3 -6
  7. data/ext/isomorfeus_ferret_ext/bm_store.c +11 -22
  8. data/ext/isomorfeus_ferret_ext/brotli_common_dictionary.c +1 -1
  9. data/ext/isomorfeus_ferret_ext/brotli_dec_decode.c +1 -1
  10. data/ext/isomorfeus_ferret_ext/bzip_blocksort.c +1094 -0
  11. data/ext/isomorfeus_ferret_ext/bzip_huffman.c +205 -0
  12. data/ext/isomorfeus_ferret_ext/bzlib.c +1572 -0
  13. data/ext/isomorfeus_ferret_ext/bzlib.h +282 -0
  14. data/ext/isomorfeus_ferret_ext/bzlib_compress.c +672 -0
  15. data/ext/isomorfeus_ferret_ext/bzlib_crctable.c +104 -0
  16. data/ext/isomorfeus_ferret_ext/bzlib_decompress.c +652 -0
  17. data/ext/isomorfeus_ferret_ext/bzlib_private.h +509 -0
  18. data/ext/isomorfeus_ferret_ext/bzlib_randtable.c +84 -0
  19. data/ext/isomorfeus_ferret_ext/fio_tmpfile.h +53 -53
  20. data/ext/isomorfeus_ferret_ext/frb_analysis.c +785 -1192
  21. data/ext/isomorfeus_ferret_ext/frb_index.c +492 -474
  22. data/ext/isomorfeus_ferret_ext/frb_qparser.c +48 -60
  23. data/ext/isomorfeus_ferret_ext/frb_search.c +1520 -1002
  24. data/ext/isomorfeus_ferret_ext/frb_store.c +96 -96
  25. data/ext/isomorfeus_ferret_ext/frb_threading.h +0 -1
  26. data/ext/isomorfeus_ferret_ext/frb_utils.c +147 -196
  27. data/ext/isomorfeus_ferret_ext/frt_analysis.c +695 -1090
  28. data/ext/isomorfeus_ferret_ext/frt_analysis.h +174 -170
  29. data/ext/isomorfeus_ferret_ext/frt_array.c +2 -4
  30. data/ext/isomorfeus_ferret_ext/frt_bitvector.c +9 -16
  31. data/ext/isomorfeus_ferret_ext/frt_bitvector.h +32 -81
  32. data/ext/isomorfeus_ferret_ext/frt_document.c +15 -20
  33. data/ext/isomorfeus_ferret_ext/frt_document.h +10 -10
  34. data/ext/isomorfeus_ferret_ext/frt_except.c +5 -12
  35. data/ext/isomorfeus_ferret_ext/frt_field_index.c +3 -3
  36. data/ext/isomorfeus_ferret_ext/frt_field_index.h +6 -7
  37. data/ext/isomorfeus_ferret_ext/frt_filter.c +35 -46
  38. data/ext/isomorfeus_ferret_ext/frt_fs_store.c +1 -0
  39. data/ext/isomorfeus_ferret_ext/frt_global.c +105 -63
  40. data/ext/isomorfeus_ferret_ext/frt_global.h +7 -3
  41. data/ext/isomorfeus_ferret_ext/frt_hash.c +1 -2
  42. data/ext/isomorfeus_ferret_ext/frt_ind.c +32 -35
  43. data/ext/isomorfeus_ferret_ext/frt_ind.h +9 -9
  44. data/ext/isomorfeus_ferret_ext/frt_index.c +580 -399
  45. data/ext/isomorfeus_ferret_ext/frt_index.h +272 -291
  46. data/ext/isomorfeus_ferret_ext/frt_mempool.c +1 -2
  47. data/ext/isomorfeus_ferret_ext/frt_multimapper.c +4 -7
  48. data/ext/isomorfeus_ferret_ext/frt_q_boolean.c +67 -91
  49. data/ext/isomorfeus_ferret_ext/frt_q_const_score.c +35 -38
  50. data/ext/isomorfeus_ferret_ext/frt_q_filtered_query.c +53 -72
  51. data/ext/isomorfeus_ferret_ext/frt_q_fuzzy.c +25 -32
  52. data/ext/isomorfeus_ferret_ext/frt_q_match_all.c +21 -23
  53. data/ext/isomorfeus_ferret_ext/frt_q_multi_term.c +66 -103
  54. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +207 -195
  55. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +20 -16
  56. data/ext/isomorfeus_ferret_ext/frt_q_prefix.c +17 -14
  57. data/ext/isomorfeus_ferret_ext/frt_q_range.c +102 -131
  58. data/ext/isomorfeus_ferret_ext/frt_q_span.c +179 -178
  59. data/ext/isomorfeus_ferret_ext/frt_q_term.c +47 -60
  60. data/ext/isomorfeus_ferret_ext/frt_q_wildcard.c +18 -16
  61. data/ext/isomorfeus_ferret_ext/frt_ram_store.c +45 -84
  62. data/ext/isomorfeus_ferret_ext/frt_search.c +105 -146
  63. data/ext/isomorfeus_ferret_ext/frt_search.h +331 -320
  64. data/ext/isomorfeus_ferret_ext/frt_similarity.c +5 -13
  65. data/ext/isomorfeus_ferret_ext/frt_similarity.h +7 -12
  66. data/ext/isomorfeus_ferret_ext/frt_sort.c +105 -149
  67. data/ext/isomorfeus_ferret_ext/frt_store.c +13 -7
  68. data/ext/isomorfeus_ferret_ext/frt_store.h +10 -2
  69. data/ext/isomorfeus_ferret_ext/frt_threading.h +0 -1
  70. data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.c +21 -109
  71. data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.h +2 -32
  72. data/ext/isomorfeus_ferret_ext/lz4.c +2495 -0
  73. data/ext/isomorfeus_ferret_ext/lz4.h +774 -0
  74. data/ext/isomorfeus_ferret_ext/lz4frame.c +1899 -0
  75. data/ext/isomorfeus_ferret_ext/lz4frame.h +623 -0
  76. data/ext/isomorfeus_ferret_ext/lz4hc.c +1615 -0
  77. data/ext/isomorfeus_ferret_ext/lz4hc.h +413 -0
  78. data/ext/isomorfeus_ferret_ext/lz4xxhash.c +1030 -0
  79. data/ext/isomorfeus_ferret_ext/lz4xxhash.h +328 -0
  80. data/ext/isomorfeus_ferret_ext/stem_modules.h +0 -86
  81. data/ext/isomorfeus_ferret_ext/test.c +1 -2
  82. data/ext/isomorfeus_ferret_ext/test_1710.c +11 -12
  83. data/ext/isomorfeus_ferret_ext/test_analysis.c +590 -583
  84. data/ext/isomorfeus_ferret_ext/test_compound_io.c +1 -1
  85. data/ext/isomorfeus_ferret_ext/test_document.c +19 -15
  86. data/ext/isomorfeus_ferret_ext/test_except.c +1 -2
  87. data/ext/isomorfeus_ferret_ext/test_fields.c +59 -60
  88. data/ext/isomorfeus_ferret_ext/test_file_deleter.c +10 -27
  89. data/ext/isomorfeus_ferret_ext/test_filter.c +11 -8
  90. data/ext/isomorfeus_ferret_ext/test_hash.c +2 -2
  91. data/ext/isomorfeus_ferret_ext/test_hashset.c +1 -1
  92. data/ext/isomorfeus_ferret_ext/test_highlighter.c +15 -11
  93. data/ext/isomorfeus_ferret_ext/test_index.c +372 -365
  94. data/ext/isomorfeus_ferret_ext/test_q_const_score.c +5 -3
  95. data/ext/isomorfeus_ferret_ext/test_q_filtered.c +5 -3
  96. data/ext/isomorfeus_ferret_ext/test_q_fuzzy.c +13 -10
  97. data/ext/isomorfeus_ferret_ext/test_q_parser.c +45 -7
  98. data/ext/isomorfeus_ferret_ext/test_q_span.c +15 -12
  99. data/ext/isomorfeus_ferret_ext/test_ram_store.c +3 -3
  100. data/ext/isomorfeus_ferret_ext/test_search.c +60 -62
  101. data/ext/isomorfeus_ferret_ext/test_segments.c +5 -4
  102. data/ext/isomorfeus_ferret_ext/test_sort.c +17 -14
  103. data/ext/isomorfeus_ferret_ext/test_store.c +2 -0
  104. data/ext/isomorfeus_ferret_ext/test_term.c +3 -1
  105. data/ext/isomorfeus_ferret_ext/test_term_vectors.c +9 -10
  106. data/ext/isomorfeus_ferret_ext/test_test.c +1 -2
  107. data/ext/isomorfeus_ferret_ext/test_threading.c +9 -10
  108. data/ext/isomorfeus_ferret_ext/testhelper.c +1 -2
  109. data/lib/isomorfeus/ferret/version.rb +1 -1
  110. metadata +27 -57
  111. data/ext/isomorfeus_ferret_ext/email.rl +0 -21
  112. data/ext/isomorfeus_ferret_ext/frt_scanner.c +0 -900
  113. data/ext/isomorfeus_ferret_ext/frt_scanner.h +0 -28
  114. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +0 -6706
  115. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +0 -4420
  116. data/ext/isomorfeus_ferret_ext/scanner.h +0 -28
  117. data/ext/isomorfeus_ferret_ext/scanner.in +0 -43
  118. data/ext/isomorfeus_ferret_ext/scanner.rl +0 -84
  119. data/ext/isomorfeus_ferret_ext/scanner_mb.rl +0 -200
  120. data/ext/isomorfeus_ferret_ext/scanner_utf8.rl +0 -85
  121. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +0 -1167
  122. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +0 -6
  123. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +0 -1433
  124. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +0 -6
  125. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +0 -301
  126. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +0 -6
  127. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +0 -590
  128. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +0 -6
  129. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +0 -1049
  130. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +0 -6
  131. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +0 -705
  132. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +0 -6
  133. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +0 -1239
  134. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +0 -6
  135. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +0 -477
  136. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +0 -6
  137. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +0 -1217
  138. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.h +0 -7
  139. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +0 -394
  140. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +0 -6
  141. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +0 -457
  142. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +0 -6
  143. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +0 -1009
  144. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +0 -6
  145. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +0 -259
  146. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +0 -6
  147. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +0 -704
  148. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +0 -6
  149. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +0 -948
  150. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +0 -6
  151. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +0 -1028
  152. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +0 -6
  153. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +0 -275
  154. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +0 -6
  155. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +0 -849
  156. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +0 -6
  157. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +0 -952
  158. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +0 -6
  159. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +0 -669
  160. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +0 -6
  161. data/ext/isomorfeus_ferret_ext/stem_modules.txt +0 -63
  162. data/ext/isomorfeus_ferret_ext/uchar-ucs4.rl +0 -1854
  163. data/ext/isomorfeus_ferret_ext/uchar-utf8.rl +0 -1999
  164. data/ext/isomorfeus_ferret_ext/url.rl +0 -27
@@ -1,1217 +0,0 @@
1
-
2
- /* This file was generated automatically by the Snowball to ANSI C compiler */
3
-
4
- #include "stem_header.h"
5
-
6
- extern int hungarian_ISO_8859_1_stem(struct SN_env * z);
7
-
8
- static int r_double(struct SN_env * z);
9
- static int r_undouble(struct SN_env * z);
10
- static int r_factive(struct SN_env * z);
11
- static int r_instrum(struct SN_env * z);
12
- static int r_plur_owner(struct SN_env * z);
13
- static int r_sing_owner(struct SN_env * z);
14
- static int r_owned(struct SN_env * z);
15
- static int r_plural(struct SN_env * z);
16
- static int r_case_other(struct SN_env * z);
17
- static int r_case_special(struct SN_env * z);
18
- static int r_case(struct SN_env * z);
19
- static int r_v_ending(struct SN_env * z);
20
- static int r_R1(struct SN_env * z);
21
- static int r_mark_regions(struct SN_env * z);
22
-
23
- extern struct SN_env * hungarian_ISO_8859_1_create_env(void);
24
- extern void hungarian_ISO_8859_1_close_env(struct SN_env * z);
25
-
26
- static const symbol s_0_0[2] = { 'c', 's' };
27
- static const symbol s_0_1[3] = { 'd', 'z', 's' };
28
- static const symbol s_0_2[2] = { 'g', 'y' };
29
- static const symbol s_0_3[2] = { 'l', 'y' };
30
- static const symbol s_0_4[2] = { 'n', 'y' };
31
- static const symbol s_0_5[2] = { 's', 'z' };
32
- static const symbol s_0_6[2] = { 't', 'y' };
33
- static const symbol s_0_7[2] = { 'z', 's' };
34
-
35
- static const struct among a_0[8] =
36
- {
37
- /* 0 */ { 2, s_0_0, -1, -1, 0},
38
- /* 1 */ { 3, s_0_1, -1, -1, 0},
39
- /* 2 */ { 2, s_0_2, -1, -1, 0},
40
- /* 3 */ { 2, s_0_3, -1, -1, 0},
41
- /* 4 */ { 2, s_0_4, -1, -1, 0},
42
- /* 5 */ { 2, s_0_5, -1, -1, 0},
43
- /* 6 */ { 2, s_0_6, -1, -1, 0},
44
- /* 7 */ { 2, s_0_7, -1, -1, 0}
45
- };
46
-
47
- static const symbol s_1_0[1] = { 0xE1 };
48
- static const symbol s_1_1[1] = { 0xE9 };
49
-
50
- static const struct among a_1[2] =
51
- {
52
- /* 0 */ { 1, s_1_0, -1, 1, 0},
53
- /* 1 */ { 1, s_1_1, -1, 2, 0}
54
- };
55
-
56
- static const symbol s_2_0[2] = { 'b', 'b' };
57
- static const symbol s_2_1[2] = { 'c', 'c' };
58
- static const symbol s_2_2[2] = { 'd', 'd' };
59
- static const symbol s_2_3[2] = { 'f', 'f' };
60
- static const symbol s_2_4[2] = { 'g', 'g' };
61
- static const symbol s_2_5[2] = { 'j', 'j' };
62
- static const symbol s_2_6[2] = { 'k', 'k' };
63
- static const symbol s_2_7[2] = { 'l', 'l' };
64
- static const symbol s_2_8[2] = { 'm', 'm' };
65
- static const symbol s_2_9[2] = { 'n', 'n' };
66
- static const symbol s_2_10[2] = { 'p', 'p' };
67
- static const symbol s_2_11[2] = { 'r', 'r' };
68
- static const symbol s_2_12[3] = { 'c', 'c', 's' };
69
- static const symbol s_2_13[2] = { 's', 's' };
70
- static const symbol s_2_14[3] = { 'z', 'z', 's' };
71
- static const symbol s_2_15[2] = { 't', 't' };
72
- static const symbol s_2_16[2] = { 'v', 'v' };
73
- static const symbol s_2_17[3] = { 'g', 'g', 'y' };
74
- static const symbol s_2_18[3] = { 'l', 'l', 'y' };
75
- static const symbol s_2_19[3] = { 'n', 'n', 'y' };
76
- static const symbol s_2_20[3] = { 't', 't', 'y' };
77
- static const symbol s_2_21[3] = { 's', 's', 'z' };
78
- static const symbol s_2_22[2] = { 'z', 'z' };
79
-
80
- static const struct among a_2[23] =
81
- {
82
- /* 0 */ { 2, s_2_0, -1, -1, 0},
83
- /* 1 */ { 2, s_2_1, -1, -1, 0},
84
- /* 2 */ { 2, s_2_2, -1, -1, 0},
85
- /* 3 */ { 2, s_2_3, -1, -1, 0},
86
- /* 4 */ { 2, s_2_4, -1, -1, 0},
87
- /* 5 */ { 2, s_2_5, -1, -1, 0},
88
- /* 6 */ { 2, s_2_6, -1, -1, 0},
89
- /* 7 */ { 2, s_2_7, -1, -1, 0},
90
- /* 8 */ { 2, s_2_8, -1, -1, 0},
91
- /* 9 */ { 2, s_2_9, -1, -1, 0},
92
- /* 10 */ { 2, s_2_10, -1, -1, 0},
93
- /* 11 */ { 2, s_2_11, -1, -1, 0},
94
- /* 12 */ { 3, s_2_12, -1, -1, 0},
95
- /* 13 */ { 2, s_2_13, -1, -1, 0},
96
- /* 14 */ { 3, s_2_14, -1, -1, 0},
97
- /* 15 */ { 2, s_2_15, -1, -1, 0},
98
- /* 16 */ { 2, s_2_16, -1, -1, 0},
99
- /* 17 */ { 3, s_2_17, -1, -1, 0},
100
- /* 18 */ { 3, s_2_18, -1, -1, 0},
101
- /* 19 */ { 3, s_2_19, -1, -1, 0},
102
- /* 20 */ { 3, s_2_20, -1, -1, 0},
103
- /* 21 */ { 3, s_2_21, -1, -1, 0},
104
- /* 22 */ { 2, s_2_22, -1, -1, 0}
105
- };
106
-
107
- static const symbol s_3_0[2] = { 'a', 'l' };
108
- static const symbol s_3_1[2] = { 'e', 'l' };
109
-
110
- static const struct among a_3[2] =
111
- {
112
- /* 0 */ { 2, s_3_0, -1, 1, 0},
113
- /* 1 */ { 2, s_3_1, -1, 2, 0}
114
- };
115
-
116
- static const symbol s_4_0[2] = { 'b', 'a' };
117
- static const symbol s_4_1[2] = { 'r', 'a' };
118
- static const symbol s_4_2[2] = { 'b', 'e' };
119
- static const symbol s_4_3[2] = { 'r', 'e' };
120
- static const symbol s_4_4[2] = { 'i', 'g' };
121
- static const symbol s_4_5[3] = { 'n', 'a', 'k' };
122
- static const symbol s_4_6[3] = { 'n', 'e', 'k' };
123
- static const symbol s_4_7[3] = { 'v', 'a', 'l' };
124
- static const symbol s_4_8[3] = { 'v', 'e', 'l' };
125
- static const symbol s_4_9[2] = { 'u', 'l' };
126
- static const symbol s_4_10[3] = { 'n', 0xE1, 'l' };
127
- static const symbol s_4_11[3] = { 'n', 0xE9, 'l' };
128
- static const symbol s_4_12[3] = { 'b', 0xF3, 'l' };
129
- static const symbol s_4_13[3] = { 'r', 0xF3, 'l' };
130
- static const symbol s_4_14[3] = { 't', 0xF3, 'l' };
131
- static const symbol s_4_15[3] = { 'b', 0xF5, 'l' };
132
- static const symbol s_4_16[3] = { 'r', 0xF5, 'l' };
133
- static const symbol s_4_17[3] = { 't', 0xF5, 'l' };
134
- static const symbol s_4_18[2] = { 0xFC, 'l' };
135
- static const symbol s_4_19[1] = { 'n' };
136
- static const symbol s_4_20[2] = { 'a', 'n' };
137
- static const symbol s_4_21[3] = { 'b', 'a', 'n' };
138
- static const symbol s_4_22[2] = { 'e', 'n' };
139
- static const symbol s_4_23[3] = { 'b', 'e', 'n' };
140
- static const symbol s_4_24[6] = { 'k', 0xE9, 'p', 'p', 'e', 'n' };
141
- static const symbol s_4_25[2] = { 'o', 'n' };
142
- static const symbol s_4_26[2] = { 0xF6, 'n' };
143
- static const symbol s_4_27[4] = { 'k', 0xE9, 'p', 'p' };
144
- static const symbol s_4_28[3] = { 'k', 'o', 'r' };
145
- static const symbol s_4_29[1] = { 't' };
146
- static const symbol s_4_30[2] = { 'a', 't' };
147
- static const symbol s_4_31[2] = { 'e', 't' };
148
- static const symbol s_4_32[4] = { 'k', 0xE9, 'n', 't' };
149
- static const symbol s_4_33[6] = { 'a', 'n', 'k', 0xE9, 'n', 't' };
150
- static const symbol s_4_34[6] = { 'e', 'n', 'k', 0xE9, 'n', 't' };
151
- static const symbol s_4_35[6] = { 'o', 'n', 'k', 0xE9, 'n', 't' };
152
- static const symbol s_4_36[2] = { 'o', 't' };
153
- static const symbol s_4_37[3] = { 0xE9, 'r', 't' };
154
- static const symbol s_4_38[2] = { 0xF6, 't' };
155
- static const symbol s_4_39[3] = { 'h', 'e', 'z' };
156
- static const symbol s_4_40[3] = { 'h', 'o', 'z' };
157
- static const symbol s_4_41[3] = { 'h', 0xF6, 'z' };
158
- static const symbol s_4_42[2] = { 'v', 0xE1 };
159
- static const symbol s_4_43[2] = { 'v', 0xE9 };
160
-
161
- static const struct among a_4[44] =
162
- {
163
- /* 0 */ { 2, s_4_0, -1, -1, 0},
164
- /* 1 */ { 2, s_4_1, -1, -1, 0},
165
- /* 2 */ { 2, s_4_2, -1, -1, 0},
166
- /* 3 */ { 2, s_4_3, -1, -1, 0},
167
- /* 4 */ { 2, s_4_4, -1, -1, 0},
168
- /* 5 */ { 3, s_4_5, -1, -1, 0},
169
- /* 6 */ { 3, s_4_6, -1, -1, 0},
170
- /* 7 */ { 3, s_4_7, -1, -1, 0},
171
- /* 8 */ { 3, s_4_8, -1, -1, 0},
172
- /* 9 */ { 2, s_4_9, -1, -1, 0},
173
- /* 10 */ { 3, s_4_10, -1, -1, 0},
174
- /* 11 */ { 3, s_4_11, -1, -1, 0},
175
- /* 12 */ { 3, s_4_12, -1, -1, 0},
176
- /* 13 */ { 3, s_4_13, -1, -1, 0},
177
- /* 14 */ { 3, s_4_14, -1, -1, 0},
178
- /* 15 */ { 3, s_4_15, -1, -1, 0},
179
- /* 16 */ { 3, s_4_16, -1, -1, 0},
180
- /* 17 */ { 3, s_4_17, -1, -1, 0},
181
- /* 18 */ { 2, s_4_18, -1, -1, 0},
182
- /* 19 */ { 1, s_4_19, -1, -1, 0},
183
- /* 20 */ { 2, s_4_20, 19, -1, 0},
184
- /* 21 */ { 3, s_4_21, 20, -1, 0},
185
- /* 22 */ { 2, s_4_22, 19, -1, 0},
186
- /* 23 */ { 3, s_4_23, 22, -1, 0},
187
- /* 24 */ { 6, s_4_24, 22, -1, 0},
188
- /* 25 */ { 2, s_4_25, 19, -1, 0},
189
- /* 26 */ { 2, s_4_26, 19, -1, 0},
190
- /* 27 */ { 4, s_4_27, -1, -1, 0},
191
- /* 28 */ { 3, s_4_28, -1, -1, 0},
192
- /* 29 */ { 1, s_4_29, -1, -1, 0},
193
- /* 30 */ { 2, s_4_30, 29, -1, 0},
194
- /* 31 */ { 2, s_4_31, 29, -1, 0},
195
- /* 32 */ { 4, s_4_32, 29, -1, 0},
196
- /* 33 */ { 6, s_4_33, 32, -1, 0},
197
- /* 34 */ { 6, s_4_34, 32, -1, 0},
198
- /* 35 */ { 6, s_4_35, 32, -1, 0},
199
- /* 36 */ { 2, s_4_36, 29, -1, 0},
200
- /* 37 */ { 3, s_4_37, 29, -1, 0},
201
- /* 38 */ { 2, s_4_38, 29, -1, 0},
202
- /* 39 */ { 3, s_4_39, -1, -1, 0},
203
- /* 40 */ { 3, s_4_40, -1, -1, 0},
204
- /* 41 */ { 3, s_4_41, -1, -1, 0},
205
- /* 42 */ { 2, s_4_42, -1, -1, 0},
206
- /* 43 */ { 2, s_4_43, -1, -1, 0}
207
- };
208
-
209
- static const symbol s_5_0[2] = { 0xE1, 'n' };
210
- static const symbol s_5_1[2] = { 0xE9, 'n' };
211
- static const symbol s_5_2[6] = { 0xE1, 'n', 'k', 0xE9, 'n', 't' };
212
-
213
- static const struct among a_5[3] =
214
- {
215
- /* 0 */ { 2, s_5_0, -1, 2, 0},
216
- /* 1 */ { 2, s_5_1, -1, 1, 0},
217
- /* 2 */ { 6, s_5_2, -1, 3, 0}
218
- };
219
-
220
- static const symbol s_6_0[4] = { 's', 't', 'u', 'l' };
221
- static const symbol s_6_1[5] = { 'a', 's', 't', 'u', 'l' };
222
- static const symbol s_6_2[5] = { 0xE1, 's', 't', 'u', 'l' };
223
- static const symbol s_6_3[4] = { 's', 't', 0xFC, 'l' };
224
- static const symbol s_6_4[5] = { 'e', 's', 't', 0xFC, 'l' };
225
- static const symbol s_6_5[5] = { 0xE9, 's', 't', 0xFC, 'l' };
226
-
227
- static const struct among a_6[6] =
228
- {
229
- /* 0 */ { 4, s_6_0, -1, 2, 0},
230
- /* 1 */ { 5, s_6_1, 0, 1, 0},
231
- /* 2 */ { 5, s_6_2, 0, 3, 0},
232
- /* 3 */ { 4, s_6_3, -1, 2, 0},
233
- /* 4 */ { 5, s_6_4, 3, 1, 0},
234
- /* 5 */ { 5, s_6_5, 3, 4, 0}
235
- };
236
-
237
- static const symbol s_7_0[1] = { 0xE1 };
238
- static const symbol s_7_1[1] = { 0xE9 };
239
-
240
- static const struct among a_7[2] =
241
- {
242
- /* 0 */ { 1, s_7_0, -1, 1, 0},
243
- /* 1 */ { 1, s_7_1, -1, 2, 0}
244
- };
245
-
246
- static const symbol s_8_0[1] = { 'k' };
247
- static const symbol s_8_1[2] = { 'a', 'k' };
248
- static const symbol s_8_2[2] = { 'e', 'k' };
249
- static const symbol s_8_3[2] = { 'o', 'k' };
250
- static const symbol s_8_4[2] = { 0xE1, 'k' };
251
- static const symbol s_8_5[2] = { 0xE9, 'k' };
252
- static const symbol s_8_6[2] = { 0xF6, 'k' };
253
-
254
- static const struct among a_8[7] =
255
- {
256
- /* 0 */ { 1, s_8_0, -1, 7, 0},
257
- /* 1 */ { 2, s_8_1, 0, 4, 0},
258
- /* 2 */ { 2, s_8_2, 0, 6, 0},
259
- /* 3 */ { 2, s_8_3, 0, 5, 0},
260
- /* 4 */ { 2, s_8_4, 0, 1, 0},
261
- /* 5 */ { 2, s_8_5, 0, 2, 0},
262
- /* 6 */ { 2, s_8_6, 0, 3, 0}
263
- };
264
-
265
- static const symbol s_9_0[2] = { 0xE9, 'i' };
266
- static const symbol s_9_1[3] = { 0xE1, 0xE9, 'i' };
267
- static const symbol s_9_2[3] = { 0xE9, 0xE9, 'i' };
268
- static const symbol s_9_3[1] = { 0xE9 };
269
- static const symbol s_9_4[2] = { 'k', 0xE9 };
270
- static const symbol s_9_5[3] = { 'a', 'k', 0xE9 };
271
- static const symbol s_9_6[3] = { 'e', 'k', 0xE9 };
272
- static const symbol s_9_7[3] = { 'o', 'k', 0xE9 };
273
- static const symbol s_9_8[3] = { 0xE1, 'k', 0xE9 };
274
- static const symbol s_9_9[3] = { 0xE9, 'k', 0xE9 };
275
- static const symbol s_9_10[3] = { 0xF6, 'k', 0xE9 };
276
- static const symbol s_9_11[2] = { 0xE9, 0xE9 };
277
-
278
- static const struct among a_9[12] =
279
- {
280
- /* 0 */ { 2, s_9_0, -1, 7, 0},
281
- /* 1 */ { 3, s_9_1, 0, 6, 0},
282
- /* 2 */ { 3, s_9_2, 0, 5, 0},
283
- /* 3 */ { 1, s_9_3, -1, 9, 0},
284
- /* 4 */ { 2, s_9_4, 3, 4, 0},
285
- /* 5 */ { 3, s_9_5, 4, 1, 0},
286
- /* 6 */ { 3, s_9_6, 4, 1, 0},
287
- /* 7 */ { 3, s_9_7, 4, 1, 0},
288
- /* 8 */ { 3, s_9_8, 4, 3, 0},
289
- /* 9 */ { 3, s_9_9, 4, 2, 0},
290
- /* 10 */ { 3, s_9_10, 4, 1, 0},
291
- /* 11 */ { 2, s_9_11, 3, 8, 0}
292
- };
293
-
294
- static const symbol s_10_0[1] = { 'a' };
295
- static const symbol s_10_1[2] = { 'j', 'a' };
296
- static const symbol s_10_2[1] = { 'd' };
297
- static const symbol s_10_3[2] = { 'a', 'd' };
298
- static const symbol s_10_4[2] = { 'e', 'd' };
299
- static const symbol s_10_5[2] = { 'o', 'd' };
300
- static const symbol s_10_6[2] = { 0xE1, 'd' };
301
- static const symbol s_10_7[2] = { 0xE9, 'd' };
302
- static const symbol s_10_8[2] = { 0xF6, 'd' };
303
- static const symbol s_10_9[1] = { 'e' };
304
- static const symbol s_10_10[2] = { 'j', 'e' };
305
- static const symbol s_10_11[2] = { 'n', 'k' };
306
- static const symbol s_10_12[3] = { 'u', 'n', 'k' };
307
- static const symbol s_10_13[3] = { 0xE1, 'n', 'k' };
308
- static const symbol s_10_14[3] = { 0xE9, 'n', 'k' };
309
- static const symbol s_10_15[3] = { 0xFC, 'n', 'k' };
310
- static const symbol s_10_16[2] = { 'u', 'k' };
311
- static const symbol s_10_17[3] = { 'j', 'u', 'k' };
312
- static const symbol s_10_18[4] = { 0xE1, 'j', 'u', 'k' };
313
- static const symbol s_10_19[2] = { 0xFC, 'k' };
314
- static const symbol s_10_20[3] = { 'j', 0xFC, 'k' };
315
- static const symbol s_10_21[4] = { 0xE9, 'j', 0xFC, 'k' };
316
- static const symbol s_10_22[1] = { 'm' };
317
- static const symbol s_10_23[2] = { 'a', 'm' };
318
- static const symbol s_10_24[2] = { 'e', 'm' };
319
- static const symbol s_10_25[2] = { 'o', 'm' };
320
- static const symbol s_10_26[2] = { 0xE1, 'm' };
321
- static const symbol s_10_27[2] = { 0xE9, 'm' };
322
- static const symbol s_10_28[1] = { 'o' };
323
- static const symbol s_10_29[1] = { 0xE1 };
324
- static const symbol s_10_30[1] = { 0xE9 };
325
-
326
- static const struct among a_10[31] =
327
- {
328
- /* 0 */ { 1, s_10_0, -1, 18, 0},
329
- /* 1 */ { 2, s_10_1, 0, 17, 0},
330
- /* 2 */ { 1, s_10_2, -1, 16, 0},
331
- /* 3 */ { 2, s_10_3, 2, 13, 0},
332
- /* 4 */ { 2, s_10_4, 2, 13, 0},
333
- /* 5 */ { 2, s_10_5, 2, 13, 0},
334
- /* 6 */ { 2, s_10_6, 2, 14, 0},
335
- /* 7 */ { 2, s_10_7, 2, 15, 0},
336
- /* 8 */ { 2, s_10_8, 2, 13, 0},
337
- /* 9 */ { 1, s_10_9, -1, 18, 0},
338
- /* 10 */ { 2, s_10_10, 9, 17, 0},
339
- /* 11 */ { 2, s_10_11, -1, 4, 0},
340
- /* 12 */ { 3, s_10_12, 11, 1, 0},
341
- /* 13 */ { 3, s_10_13, 11, 2, 0},
342
- /* 14 */ { 3, s_10_14, 11, 3, 0},
343
- /* 15 */ { 3, s_10_15, 11, 1, 0},
344
- /* 16 */ { 2, s_10_16, -1, 8, 0},
345
- /* 17 */ { 3, s_10_17, 16, 7, 0},
346
- /* 18 */ { 4, s_10_18, 17, 5, 0},
347
- /* 19 */ { 2, s_10_19, -1, 8, 0},
348
- /* 20 */ { 3, s_10_20, 19, 7, 0},
349
- /* 21 */ { 4, s_10_21, 20, 6, 0},
350
- /* 22 */ { 1, s_10_22, -1, 12, 0},
351
- /* 23 */ { 2, s_10_23, 22, 9, 0},
352
- /* 24 */ { 2, s_10_24, 22, 9, 0},
353
- /* 25 */ { 2, s_10_25, 22, 9, 0},
354
- /* 26 */ { 2, s_10_26, 22, 10, 0},
355
- /* 27 */ { 2, s_10_27, 22, 11, 0},
356
- /* 28 */ { 1, s_10_28, -1, 18, 0},
357
- /* 29 */ { 1, s_10_29, -1, 19, 0},
358
- /* 30 */ { 1, s_10_30, -1, 20, 0}
359
- };
360
-
361
- static const symbol s_11_0[2] = { 'i', 'd' };
362
- static const symbol s_11_1[3] = { 'a', 'i', 'd' };
363
- static const symbol s_11_2[4] = { 'j', 'a', 'i', 'd' };
364
- static const symbol s_11_3[3] = { 'e', 'i', 'd' };
365
- static const symbol s_11_4[4] = { 'j', 'e', 'i', 'd' };
366
- static const symbol s_11_5[3] = { 0xE1, 'i', 'd' };
367
- static const symbol s_11_6[3] = { 0xE9, 'i', 'd' };
368
- static const symbol s_11_7[1] = { 'i' };
369
- static const symbol s_11_8[2] = { 'a', 'i' };
370
- static const symbol s_11_9[3] = { 'j', 'a', 'i' };
371
- static const symbol s_11_10[2] = { 'e', 'i' };
372
- static const symbol s_11_11[3] = { 'j', 'e', 'i' };
373
- static const symbol s_11_12[2] = { 0xE1, 'i' };
374
- static const symbol s_11_13[2] = { 0xE9, 'i' };
375
- static const symbol s_11_14[4] = { 'i', 't', 'e', 'k' };
376
- static const symbol s_11_15[5] = { 'e', 'i', 't', 'e', 'k' };
377
- static const symbol s_11_16[6] = { 'j', 'e', 'i', 't', 'e', 'k' };
378
- static const symbol s_11_17[5] = { 0xE9, 'i', 't', 'e', 'k' };
379
- static const symbol s_11_18[2] = { 'i', 'k' };
380
- static const symbol s_11_19[3] = { 'a', 'i', 'k' };
381
- static const symbol s_11_20[4] = { 'j', 'a', 'i', 'k' };
382
- static const symbol s_11_21[3] = { 'e', 'i', 'k' };
383
- static const symbol s_11_22[4] = { 'j', 'e', 'i', 'k' };
384
- static const symbol s_11_23[3] = { 0xE1, 'i', 'k' };
385
- static const symbol s_11_24[3] = { 0xE9, 'i', 'k' };
386
- static const symbol s_11_25[3] = { 'i', 'n', 'k' };
387
- static const symbol s_11_26[4] = { 'a', 'i', 'n', 'k' };
388
- static const symbol s_11_27[5] = { 'j', 'a', 'i', 'n', 'k' };
389
- static const symbol s_11_28[4] = { 'e', 'i', 'n', 'k' };
390
- static const symbol s_11_29[5] = { 'j', 'e', 'i', 'n', 'k' };
391
- static const symbol s_11_30[4] = { 0xE1, 'i', 'n', 'k' };
392
- static const symbol s_11_31[4] = { 0xE9, 'i', 'n', 'k' };
393
- static const symbol s_11_32[5] = { 'a', 'i', 't', 'o', 'k' };
394
- static const symbol s_11_33[6] = { 'j', 'a', 'i', 't', 'o', 'k' };
395
- static const symbol s_11_34[5] = { 0xE1, 'i', 't', 'o', 'k' };
396
- static const symbol s_11_35[2] = { 'i', 'm' };
397
- static const symbol s_11_36[3] = { 'a', 'i', 'm' };
398
- static const symbol s_11_37[4] = { 'j', 'a', 'i', 'm' };
399
- static const symbol s_11_38[3] = { 'e', 'i', 'm' };
400
- static const symbol s_11_39[4] = { 'j', 'e', 'i', 'm' };
401
- static const symbol s_11_40[3] = { 0xE1, 'i', 'm' };
402
- static const symbol s_11_41[3] = { 0xE9, 'i', 'm' };
403
-
404
- static const struct among a_11[42] =
405
- {
406
- /* 0 */ { 2, s_11_0, -1, 10, 0},
407
- /* 1 */ { 3, s_11_1, 0, 9, 0},
408
- /* 2 */ { 4, s_11_2, 1, 6, 0},
409
- /* 3 */ { 3, s_11_3, 0, 9, 0},
410
- /* 4 */ { 4, s_11_4, 3, 6, 0},
411
- /* 5 */ { 3, s_11_5, 0, 7, 0},
412
- /* 6 */ { 3, s_11_6, 0, 8, 0},
413
- /* 7 */ { 1, s_11_7, -1, 15, 0},
414
- /* 8 */ { 2, s_11_8, 7, 14, 0},
415
- /* 9 */ { 3, s_11_9, 8, 11, 0},
416
- /* 10 */ { 2, s_11_10, 7, 14, 0},
417
- /* 11 */ { 3, s_11_11, 10, 11, 0},
418
- /* 12 */ { 2, s_11_12, 7, 12, 0},
419
- /* 13 */ { 2, s_11_13, 7, 13, 0},
420
- /* 14 */ { 4, s_11_14, -1, 24, 0},
421
- /* 15 */ { 5, s_11_15, 14, 21, 0},
422
- /* 16 */ { 6, s_11_16, 15, 20, 0},
423
- /* 17 */ { 5, s_11_17, 14, 23, 0},
424
- /* 18 */ { 2, s_11_18, -1, 29, 0},
425
- /* 19 */ { 3, s_11_19, 18, 26, 0},
426
- /* 20 */ { 4, s_11_20, 19, 25, 0},
427
- /* 21 */ { 3, s_11_21, 18, 26, 0},
428
- /* 22 */ { 4, s_11_22, 21, 25, 0},
429
- /* 23 */ { 3, s_11_23, 18, 27, 0},
430
- /* 24 */ { 3, s_11_24, 18, 28, 0},
431
- /* 25 */ { 3, s_11_25, -1, 20, 0},
432
- /* 26 */ { 4, s_11_26, 25, 17, 0},
433
- /* 27 */ { 5, s_11_27, 26, 16, 0},
434
- /* 28 */ { 4, s_11_28, 25, 17, 0},
435
- /* 29 */ { 5, s_11_29, 28, 16, 0},
436
- /* 30 */ { 4, s_11_30, 25, 18, 0},
437
- /* 31 */ { 4, s_11_31, 25, 19, 0},
438
- /* 32 */ { 5, s_11_32, -1, 21, 0},
439
- /* 33 */ { 6, s_11_33, 32, 20, 0},
440
- /* 34 */ { 5, s_11_34, -1, 22, 0},
441
- /* 35 */ { 2, s_11_35, -1, 5, 0},
442
- /* 36 */ { 3, s_11_36, 35, 4, 0},
443
- /* 37 */ { 4, s_11_37, 36, 1, 0},
444
- /* 38 */ { 3, s_11_38, 35, 4, 0},
445
- /* 39 */ { 4, s_11_39, 38, 1, 0},
446
- /* 40 */ { 3, s_11_40, 35, 2, 0},
447
- /* 41 */ { 3, s_11_41, 35, 3, 0}
448
- };
449
-
450
- static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 52, 14 };
451
-
452
- static const symbol s_0[] = { 'a' };
453
- static const symbol s_1[] = { 'e' };
454
- static const symbol s_2[] = { 'e' };
455
- static const symbol s_3[] = { 'a' };
456
- static const symbol s_4[] = { 'a' };
457
- static const symbol s_5[] = { 'a' };
458
- static const symbol s_6[] = { 'e' };
459
- static const symbol s_7[] = { 'a' };
460
- static const symbol s_8[] = { 'e' };
461
- static const symbol s_9[] = { 'e' };
462
- static const symbol s_10[] = { 'a' };
463
- static const symbol s_11[] = { 'e' };
464
- static const symbol s_12[] = { 'a' };
465
- static const symbol s_13[] = { 'e' };
466
- static const symbol s_14[] = { 'a' };
467
- static const symbol s_15[] = { 'e' };
468
- static const symbol s_16[] = { 'a' };
469
- static const symbol s_17[] = { 'e' };
470
- static const symbol s_18[] = { 'a' };
471
- static const symbol s_19[] = { 'e' };
472
- static const symbol s_20[] = { 'a' };
473
- static const symbol s_21[] = { 'e' };
474
- static const symbol s_22[] = { 'a' };
475
- static const symbol s_23[] = { 'e' };
476
- static const symbol s_24[] = { 'a' };
477
- static const symbol s_25[] = { 'e' };
478
- static const symbol s_26[] = { 'a' };
479
- static const symbol s_27[] = { 'e' };
480
- static const symbol s_28[] = { 'a' };
481
- static const symbol s_29[] = { 'e' };
482
- static const symbol s_30[] = { 'a' };
483
- static const symbol s_31[] = { 'e' };
484
- static const symbol s_32[] = { 'a' };
485
- static const symbol s_33[] = { 'e' };
486
- static const symbol s_34[] = { 'a' };
487
- static const symbol s_35[] = { 'e' };
488
-
489
- static int r_mark_regions(struct SN_env * z) {
490
- z->I[0] = z->l;
491
- { int c1 = z->c; /* or, line 51 */
492
- if (in_grouping(z, g_v, 97, 252, 0)) goto lab1;
493
- if (in_grouping(z, g_v, 97, 252, 1) < 0) goto lab1; /* goto */ /* non v, line 48 */
494
- { int c2 = z->c; /* or, line 49 */
495
- if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 3 || !((101187584 >> (z->p[z->c + 1] & 0x1f)) & 1)) goto lab3;
496
- if (!(find_among(z, a_0, 8))) goto lab3; /* among, line 49 */
497
- goto lab2;
498
- lab3:
499
- z->c = c2;
500
- if (z->c >= z->l) goto lab1;
501
- z->c++; /* next, line 49 */
502
- }
503
- lab2:
504
- z->I[0] = z->c; /* setmark p1, line 50 */
505
- goto lab0;
506
- lab1:
507
- z->c = c1;
508
- if (out_grouping(z, g_v, 97, 252, 0)) return 0;
509
- { /* gopast */ /* grouping v, line 53 */
510
- int ret = out_grouping(z, g_v, 97, 252, 1);
511
- if (ret < 0) return 0;
512
- z->c += ret;
513
- }
514
- z->I[0] = z->c; /* setmark p1, line 53 */
515
- }
516
- lab0:
517
- return 1;
518
- }
519
-
520
- static int r_R1(struct SN_env * z) {
521
- if (!(z->I[0] <= z->c)) return 0;
522
- return 1;
523
- }
524
-
525
- static int r_v_ending(struct SN_env * z) {
526
- int among_var;
527
- z->ket = z->c; /* [, line 61 */
528
- if (z->c <= z->lb || (z->p[z->c - 1] != 225 && z->p[z->c - 1] != 233)) return 0;
529
- among_var = find_among_b(z, a_1, 2); /* substring, line 61 */
530
- if (!(among_var)) return 0;
531
- z->bra = z->c; /* ], line 61 */
532
- { int ret = r_R1(z);
533
- if (ret == 0) return 0; /* call R1, line 61 */
534
- if (ret < 0) return ret;
535
- }
536
- switch(among_var) {
537
- case 0: return 0;
538
- case 1:
539
- { int ret = slice_from_s(z, 1, s_0); /* <-, line 62 */
540
- if (ret < 0) return ret;
541
- }
542
- break;
543
- case 2:
544
- { int ret = slice_from_s(z, 1, s_1); /* <-, line 63 */
545
- if (ret < 0) return ret;
546
- }
547
- break;
548
- }
549
- return 1;
550
- }
551
-
552
- static int r_double(struct SN_env * z) {
553
- { int m_test = z->l - z->c; /* test, line 68 */
554
- if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((106790108 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
555
- if (!(find_among_b(z, a_2, 23))) return 0; /* among, line 68 */
556
- z->c = z->l - m_test;
557
- }
558
- return 1;
559
- }
560
-
561
- static int r_undouble(struct SN_env * z) {
562
- if (z->c <= z->lb) return 0;
563
- z->c--; /* next, line 73 */
564
- z->ket = z->c; /* [, line 73 */
565
- { int ret = z->c - 1;
566
- if (z->lb > ret || ret > z->l) return 0;
567
- z->c = ret; /* hop, line 73 */
568
- }
569
- z->bra = z->c; /* ], line 73 */
570
- { int ret = slice_del(z); /* delete, line 73 */
571
- if (ret < 0) return ret;
572
- }
573
- return 1;
574
- }
575
-
576
- static int r_instrum(struct SN_env * z) {
577
- int among_var;
578
- z->ket = z->c; /* [, line 77 */
579
- if (z->c - 1 <= z->lb || z->p[z->c - 1] != 108) return 0;
580
- among_var = find_among_b(z, a_3, 2); /* substring, line 77 */
581
- if (!(among_var)) return 0;
582
- z->bra = z->c; /* ], line 77 */
583
- { int ret = r_R1(z);
584
- if (ret == 0) return 0; /* call R1, line 77 */
585
- if (ret < 0) return ret;
586
- }
587
- switch(among_var) {
588
- case 0: return 0;
589
- case 1:
590
- { int ret = r_double(z);
591
- if (ret == 0) return 0; /* call double, line 78 */
592
- if (ret < 0) return ret;
593
- }
594
- break;
595
- case 2:
596
- { int ret = r_double(z);
597
- if (ret == 0) return 0; /* call double, line 79 */
598
- if (ret < 0) return ret;
599
- }
600
- break;
601
- }
602
- { int ret = slice_del(z); /* delete, line 81 */
603
- if (ret < 0) return ret;
604
- }
605
- { int ret = r_undouble(z);
606
- if (ret == 0) return 0; /* call undouble, line 82 */
607
- if (ret < 0) return ret;
608
- }
609
- return 1;
610
- }
611
-
612
- static int r_case(struct SN_env * z) {
613
- z->ket = z->c; /* [, line 87 */
614
- if (!(find_among_b(z, a_4, 44))) return 0; /* substring, line 87 */
615
- z->bra = z->c; /* ], line 87 */
616
- { int ret = r_R1(z);
617
- if (ret == 0) return 0; /* call R1, line 87 */
618
- if (ret < 0) return ret;
619
- }
620
- { int ret = slice_del(z); /* delete, line 111 */
621
- if (ret < 0) return ret;
622
- }
623
- { int ret = r_v_ending(z);
624
- if (ret == 0) return 0; /* call v_ending, line 112 */
625
- if (ret < 0) return ret;
626
- }
627
- return 1;
628
- }
629
-
630
- static int r_case_special(struct SN_env * z) {
631
- int among_var;
632
- z->ket = z->c; /* [, line 116 */
633
- if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 110 && z->p[z->c - 1] != 116)) return 0;
634
- among_var = find_among_b(z, a_5, 3); /* substring, line 116 */
635
- if (!(among_var)) return 0;
636
- z->bra = z->c; /* ], line 116 */
637
- { int ret = r_R1(z);
638
- if (ret == 0) return 0; /* call R1, line 116 */
639
- if (ret < 0) return ret;
640
- }
641
- switch(among_var) {
642
- case 0: return 0;
643
- case 1:
644
- { int ret = slice_from_s(z, 1, s_2); /* <-, line 117 */
645
- if (ret < 0) return ret;
646
- }
647
- break;
648
- case 2:
649
- { int ret = slice_from_s(z, 1, s_3); /* <-, line 118 */
650
- if (ret < 0) return ret;
651
- }
652
- break;
653
- case 3:
654
- { int ret = slice_from_s(z, 1, s_4); /* <-, line 119 */
655
- if (ret < 0) return ret;
656
- }
657
- break;
658
- }
659
- return 1;
660
- }
661
-
662
- static int r_case_other(struct SN_env * z) {
663
- int among_var;
664
- z->ket = z->c; /* [, line 124 */
665
- if (z->c - 3 <= z->lb || z->p[z->c - 1] != 108) return 0;
666
- among_var = find_among_b(z, a_6, 6); /* substring, line 124 */
667
- if (!(among_var)) return 0;
668
- z->bra = z->c; /* ], line 124 */
669
- { int ret = r_R1(z);
670
- if (ret == 0) return 0; /* call R1, line 124 */
671
- if (ret < 0) return ret;
672
- }
673
- switch(among_var) {
674
- case 0: return 0;
675
- case 1:
676
- { int ret = slice_del(z); /* delete, line 125 */
677
- if (ret < 0) return ret;
678
- }
679
- break;
680
- case 2:
681
- { int ret = slice_del(z); /* delete, line 126 */
682
- if (ret < 0) return ret;
683
- }
684
- break;
685
- case 3:
686
- { int ret = slice_from_s(z, 1, s_5); /* <-, line 127 */
687
- if (ret < 0) return ret;
688
- }
689
- break;
690
- case 4:
691
- { int ret = slice_from_s(z, 1, s_6); /* <-, line 128 */
692
- if (ret < 0) return ret;
693
- }
694
- break;
695
- }
696
- return 1;
697
- }
698
-
699
- static int r_factive(struct SN_env * z) {
700
- int among_var;
701
- z->ket = z->c; /* [, line 133 */
702
- if (z->c <= z->lb || (z->p[z->c - 1] != 225 && z->p[z->c - 1] != 233)) return 0;
703
- among_var = find_among_b(z, a_7, 2); /* substring, line 133 */
704
- if (!(among_var)) return 0;
705
- z->bra = z->c; /* ], line 133 */
706
- { int ret = r_R1(z);
707
- if (ret == 0) return 0; /* call R1, line 133 */
708
- if (ret < 0) return ret;
709
- }
710
- switch(among_var) {
711
- case 0: return 0;
712
- case 1:
713
- { int ret = r_double(z);
714
- if (ret == 0) return 0; /* call double, line 134 */
715
- if (ret < 0) return ret;
716
- }
717
- break;
718
- case 2:
719
- { int ret = r_double(z);
720
- if (ret == 0) return 0; /* call double, line 135 */
721
- if (ret < 0) return ret;
722
- }
723
- break;
724
- }
725
- { int ret = slice_del(z); /* delete, line 137 */
726
- if (ret < 0) return ret;
727
- }
728
- { int ret = r_undouble(z);
729
- if (ret == 0) return 0; /* call undouble, line 138 */
730
- if (ret < 0) return ret;
731
- }
732
- return 1;
733
- }
734
-
735
- static int r_plural(struct SN_env * z) {
736
- int among_var;
737
- z->ket = z->c; /* [, line 142 */
738
- if (z->c <= z->lb || z->p[z->c - 1] != 107) return 0;
739
- among_var = find_among_b(z, a_8, 7); /* substring, line 142 */
740
- if (!(among_var)) return 0;
741
- z->bra = z->c; /* ], line 142 */
742
- { int ret = r_R1(z);
743
- if (ret == 0) return 0; /* call R1, line 142 */
744
- if (ret < 0) return ret;
745
- }
746
- switch(among_var) {
747
- case 0: return 0;
748
- case 1:
749
- { int ret = slice_from_s(z, 1, s_7); /* <-, line 143 */
750
- if (ret < 0) return ret;
751
- }
752
- break;
753
- case 2:
754
- { int ret = slice_from_s(z, 1, s_8); /* <-, line 144 */
755
- if (ret < 0) return ret;
756
- }
757
- break;
758
- case 3:
759
- { int ret = slice_del(z); /* delete, line 145 */
760
- if (ret < 0) return ret;
761
- }
762
- break;
763
- case 4:
764
- { int ret = slice_del(z); /* delete, line 146 */
765
- if (ret < 0) return ret;
766
- }
767
- break;
768
- case 5:
769
- { int ret = slice_del(z); /* delete, line 147 */
770
- if (ret < 0) return ret;
771
- }
772
- break;
773
- case 6:
774
- { int ret = slice_del(z); /* delete, line 148 */
775
- if (ret < 0) return ret;
776
- }
777
- break;
778
- case 7:
779
- { int ret = slice_del(z); /* delete, line 149 */
780
- if (ret < 0) return ret;
781
- }
782
- break;
783
- }
784
- return 1;
785
- }
786
-
787
- static int r_owned(struct SN_env * z) {
788
- int among_var;
789
- z->ket = z->c; /* [, line 154 */
790
- if (z->c <= z->lb || (z->p[z->c - 1] != 105 && z->p[z->c - 1] != 233)) return 0;
791
- among_var = find_among_b(z, a_9, 12); /* substring, line 154 */
792
- if (!(among_var)) return 0;
793
- z->bra = z->c; /* ], line 154 */
794
- { int ret = r_R1(z);
795
- if (ret == 0) return 0; /* call R1, line 154 */
796
- if (ret < 0) return ret;
797
- }
798
- switch(among_var) {
799
- case 0: return 0;
800
- case 1:
801
- { int ret = slice_del(z); /* delete, line 155 */
802
- if (ret < 0) return ret;
803
- }
804
- break;
805
- case 2:
806
- { int ret = slice_from_s(z, 1, s_9); /* <-, line 156 */
807
- if (ret < 0) return ret;
808
- }
809
- break;
810
- case 3:
811
- { int ret = slice_from_s(z, 1, s_10); /* <-, line 157 */
812
- if (ret < 0) return ret;
813
- }
814
- break;
815
- case 4:
816
- { int ret = slice_del(z); /* delete, line 158 */
817
- if (ret < 0) return ret;
818
- }
819
- break;
820
- case 5:
821
- { int ret = slice_from_s(z, 1, s_11); /* <-, line 159 */
822
- if (ret < 0) return ret;
823
- }
824
- break;
825
- case 6:
826
- { int ret = slice_from_s(z, 1, s_12); /* <-, line 160 */
827
- if (ret < 0) return ret;
828
- }
829
- break;
830
- case 7:
831
- { int ret = slice_del(z); /* delete, line 161 */
832
- if (ret < 0) return ret;
833
- }
834
- break;
835
- case 8:
836
- { int ret = slice_from_s(z, 1, s_13); /* <-, line 162 */
837
- if (ret < 0) return ret;
838
- }
839
- break;
840
- case 9:
841
- { int ret = slice_del(z); /* delete, line 163 */
842
- if (ret < 0) return ret;
843
- }
844
- break;
845
- }
846
- return 1;
847
- }
848
-
849
- static int r_sing_owner(struct SN_env * z) {
850
- int among_var;
851
- z->ket = z->c; /* [, line 168 */
852
- among_var = find_among_b(z, a_10, 31); /* substring, line 168 */
853
- if (!(among_var)) return 0;
854
- z->bra = z->c; /* ], line 168 */
855
- { int ret = r_R1(z);
856
- if (ret == 0) return 0; /* call R1, line 168 */
857
- if (ret < 0) return ret;
858
- }
859
- switch(among_var) {
860
- case 0: return 0;
861
- case 1:
862
- { int ret = slice_del(z); /* delete, line 169 */
863
- if (ret < 0) return ret;
864
- }
865
- break;
866
- case 2:
867
- { int ret = slice_from_s(z, 1, s_14); /* <-, line 170 */
868
- if (ret < 0) return ret;
869
- }
870
- break;
871
- case 3:
872
- { int ret = slice_from_s(z, 1, s_15); /* <-, line 171 */
873
- if (ret < 0) return ret;
874
- }
875
- break;
876
- case 4:
877
- { int ret = slice_del(z); /* delete, line 172 */
878
- if (ret < 0) return ret;
879
- }
880
- break;
881
- case 5:
882
- { int ret = slice_from_s(z, 1, s_16); /* <-, line 173 */
883
- if (ret < 0) return ret;
884
- }
885
- break;
886
- case 6:
887
- { int ret = slice_from_s(z, 1, s_17); /* <-, line 174 */
888
- if (ret < 0) return ret;
889
- }
890
- break;
891
- case 7:
892
- { int ret = slice_del(z); /* delete, line 175 */
893
- if (ret < 0) return ret;
894
- }
895
- break;
896
- case 8:
897
- { int ret = slice_del(z); /* delete, line 176 */
898
- if (ret < 0) return ret;
899
- }
900
- break;
901
- case 9:
902
- { int ret = slice_del(z); /* delete, line 177 */
903
- if (ret < 0) return ret;
904
- }
905
- break;
906
- case 10:
907
- { int ret = slice_from_s(z, 1, s_18); /* <-, line 178 */
908
- if (ret < 0) return ret;
909
- }
910
- break;
911
- case 11:
912
- { int ret = slice_from_s(z, 1, s_19); /* <-, line 179 */
913
- if (ret < 0) return ret;
914
- }
915
- break;
916
- case 12:
917
- { int ret = slice_del(z); /* delete, line 180 */
918
- if (ret < 0) return ret;
919
- }
920
- break;
921
- case 13:
922
- { int ret = slice_del(z); /* delete, line 181 */
923
- if (ret < 0) return ret;
924
- }
925
- break;
926
- case 14:
927
- { int ret = slice_from_s(z, 1, s_20); /* <-, line 182 */
928
- if (ret < 0) return ret;
929
- }
930
- break;
931
- case 15:
932
- { int ret = slice_from_s(z, 1, s_21); /* <-, line 183 */
933
- if (ret < 0) return ret;
934
- }
935
- break;
936
- case 16:
937
- { int ret = slice_del(z); /* delete, line 184 */
938
- if (ret < 0) return ret;
939
- }
940
- break;
941
- case 17:
942
- { int ret = slice_del(z); /* delete, line 185 */
943
- if (ret < 0) return ret;
944
- }
945
- break;
946
- case 18:
947
- { int ret = slice_del(z); /* delete, line 186 */
948
- if (ret < 0) return ret;
949
- }
950
- break;
951
- case 19:
952
- { int ret = slice_from_s(z, 1, s_22); /* <-, line 187 */
953
- if (ret < 0) return ret;
954
- }
955
- break;
956
- case 20:
957
- { int ret = slice_from_s(z, 1, s_23); /* <-, line 188 */
958
- if (ret < 0) return ret;
959
- }
960
- break;
961
- }
962
- return 1;
963
- }
964
-
965
- static int r_plur_owner(struct SN_env * z) {
966
- int among_var;
967
- z->ket = z->c; /* [, line 193 */
968
- if (z->c <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((10768 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
969
- among_var = find_among_b(z, a_11, 42); /* substring, line 193 */
970
- if (!(among_var)) return 0;
971
- z->bra = z->c; /* ], line 193 */
972
- { int ret = r_R1(z);
973
- if (ret == 0) return 0; /* call R1, line 193 */
974
- if (ret < 0) return ret;
975
- }
976
- switch(among_var) {
977
- case 0: return 0;
978
- case 1:
979
- { int ret = slice_del(z); /* delete, line 194 */
980
- if (ret < 0) return ret;
981
- }
982
- break;
983
- case 2:
984
- { int ret = slice_from_s(z, 1, s_24); /* <-, line 195 */
985
- if (ret < 0) return ret;
986
- }
987
- break;
988
- case 3:
989
- { int ret = slice_from_s(z, 1, s_25); /* <-, line 196 */
990
- if (ret < 0) return ret;
991
- }
992
- break;
993
- case 4:
994
- { int ret = slice_del(z); /* delete, line 197 */
995
- if (ret < 0) return ret;
996
- }
997
- break;
998
- case 5:
999
- { int ret = slice_del(z); /* delete, line 198 */
1000
- if (ret < 0) return ret;
1001
- }
1002
- break;
1003
- case 6:
1004
- { int ret = slice_del(z); /* delete, line 199 */
1005
- if (ret < 0) return ret;
1006
- }
1007
- break;
1008
- case 7:
1009
- { int ret = slice_from_s(z, 1, s_26); /* <-, line 200 */
1010
- if (ret < 0) return ret;
1011
- }
1012
- break;
1013
- case 8:
1014
- { int ret = slice_from_s(z, 1, s_27); /* <-, line 201 */
1015
- if (ret < 0) return ret;
1016
- }
1017
- break;
1018
- case 9:
1019
- { int ret = slice_del(z); /* delete, line 202 */
1020
- if (ret < 0) return ret;
1021
- }
1022
- break;
1023
- case 10:
1024
- { int ret = slice_del(z); /* delete, line 203 */
1025
- if (ret < 0) return ret;
1026
- }
1027
- break;
1028
- case 11:
1029
- { int ret = slice_del(z); /* delete, line 204 */
1030
- if (ret < 0) return ret;
1031
- }
1032
- break;
1033
- case 12:
1034
- { int ret = slice_from_s(z, 1, s_28); /* <-, line 205 */
1035
- if (ret < 0) return ret;
1036
- }
1037
- break;
1038
- case 13:
1039
- { int ret = slice_from_s(z, 1, s_29); /* <-, line 206 */
1040
- if (ret < 0) return ret;
1041
- }
1042
- break;
1043
- case 14:
1044
- { int ret = slice_del(z); /* delete, line 207 */
1045
- if (ret < 0) return ret;
1046
- }
1047
- break;
1048
- case 15:
1049
- { int ret = slice_del(z); /* delete, line 208 */
1050
- if (ret < 0) return ret;
1051
- }
1052
- break;
1053
- case 16:
1054
- { int ret = slice_del(z); /* delete, line 209 */
1055
- if (ret < 0) return ret;
1056
- }
1057
- break;
1058
- case 17:
1059
- { int ret = slice_del(z); /* delete, line 210 */
1060
- if (ret < 0) return ret;
1061
- }
1062
- break;
1063
- case 18:
1064
- { int ret = slice_from_s(z, 1, s_30); /* <-, line 211 */
1065
- if (ret < 0) return ret;
1066
- }
1067
- break;
1068
- case 19:
1069
- { int ret = slice_from_s(z, 1, s_31); /* <-, line 212 */
1070
- if (ret < 0) return ret;
1071
- }
1072
- break;
1073
- case 20:
1074
- { int ret = slice_del(z); /* delete, line 214 */
1075
- if (ret < 0) return ret;
1076
- }
1077
- break;
1078
- case 21:
1079
- { int ret = slice_del(z); /* delete, line 215 */
1080
- if (ret < 0) return ret;
1081
- }
1082
- break;
1083
- case 22:
1084
- { int ret = slice_from_s(z, 1, s_32); /* <-, line 216 */
1085
- if (ret < 0) return ret;
1086
- }
1087
- break;
1088
- case 23:
1089
- { int ret = slice_from_s(z, 1, s_33); /* <-, line 217 */
1090
- if (ret < 0) return ret;
1091
- }
1092
- break;
1093
- case 24:
1094
- { int ret = slice_del(z); /* delete, line 218 */
1095
- if (ret < 0) return ret;
1096
- }
1097
- break;
1098
- case 25:
1099
- { int ret = slice_del(z); /* delete, line 219 */
1100
- if (ret < 0) return ret;
1101
- }
1102
- break;
1103
- case 26:
1104
- { int ret = slice_del(z); /* delete, line 220 */
1105
- if (ret < 0) return ret;
1106
- }
1107
- break;
1108
- case 27:
1109
- { int ret = slice_from_s(z, 1, s_34); /* <-, line 221 */
1110
- if (ret < 0) return ret;
1111
- }
1112
- break;
1113
- case 28:
1114
- { int ret = slice_from_s(z, 1, s_35); /* <-, line 222 */
1115
- if (ret < 0) return ret;
1116
- }
1117
- break;
1118
- case 29:
1119
- { int ret = slice_del(z); /* delete, line 223 */
1120
- if (ret < 0) return ret;
1121
- }
1122
- break;
1123
- }
1124
- return 1;
1125
- }
1126
-
1127
- extern int hungarian_ISO_8859_1_stem(struct SN_env * z) {
1128
- { int c1 = z->c; /* do, line 229 */
1129
- { int ret = r_mark_regions(z);
1130
- if (ret == 0) goto lab0; /* call mark_regions, line 229 */
1131
- if (ret < 0) return ret;
1132
- }
1133
- lab0:
1134
- z->c = c1;
1135
- }
1136
- z->lb = z->c; z->c = z->l; /* backwards, line 230 */
1137
-
1138
- { int m2 = z->l - z->c; (void)m2; /* do, line 231 */
1139
- { int ret = r_instrum(z);
1140
- if (ret == 0) goto lab1; /* call instrum, line 231 */
1141
- if (ret < 0) return ret;
1142
- }
1143
- lab1:
1144
- z->c = z->l - m2;
1145
- }
1146
- { int m3 = z->l - z->c; (void)m3; /* do, line 232 */
1147
- { int ret = r_case(z);
1148
- if (ret == 0) goto lab2; /* call case, line 232 */
1149
- if (ret < 0) return ret;
1150
- }
1151
- lab2:
1152
- z->c = z->l - m3;
1153
- }
1154
- { int m4 = z->l - z->c; (void)m4; /* do, line 233 */
1155
- { int ret = r_case_special(z);
1156
- if (ret == 0) goto lab3; /* call case_special, line 233 */
1157
- if (ret < 0) return ret;
1158
- }
1159
- lab3:
1160
- z->c = z->l - m4;
1161
- }
1162
- { int m5 = z->l - z->c; (void)m5; /* do, line 234 */
1163
- { int ret = r_case_other(z);
1164
- if (ret == 0) goto lab4; /* call case_other, line 234 */
1165
- if (ret < 0) return ret;
1166
- }
1167
- lab4:
1168
- z->c = z->l - m5;
1169
- }
1170
- { int m6 = z->l - z->c; (void)m6; /* do, line 235 */
1171
- { int ret = r_factive(z);
1172
- if (ret == 0) goto lab5; /* call factive, line 235 */
1173
- if (ret < 0) return ret;
1174
- }
1175
- lab5:
1176
- z->c = z->l - m6;
1177
- }
1178
- { int m7 = z->l - z->c; (void)m7; /* do, line 236 */
1179
- { int ret = r_owned(z);
1180
- if (ret == 0) goto lab6; /* call owned, line 236 */
1181
- if (ret < 0) return ret;
1182
- }
1183
- lab6:
1184
- z->c = z->l - m7;
1185
- }
1186
- { int m8 = z->l - z->c; (void)m8; /* do, line 237 */
1187
- { int ret = r_sing_owner(z);
1188
- if (ret == 0) goto lab7; /* call sing_owner, line 237 */
1189
- if (ret < 0) return ret;
1190
- }
1191
- lab7:
1192
- z->c = z->l - m8;
1193
- }
1194
- { int m9 = z->l - z->c; (void)m9; /* do, line 238 */
1195
- { int ret = r_plur_owner(z);
1196
- if (ret == 0) goto lab8; /* call plur_owner, line 238 */
1197
- if (ret < 0) return ret;
1198
- }
1199
- lab8:
1200
- z->c = z->l - m9;
1201
- }
1202
- { int m10 = z->l - z->c; (void)m10; /* do, line 239 */
1203
- { int ret = r_plural(z);
1204
- if (ret == 0) goto lab9; /* call plural, line 239 */
1205
- if (ret < 0) return ret;
1206
- }
1207
- lab9:
1208
- z->c = z->l - m10;
1209
- }
1210
- z->c = z->lb;
1211
- return 1;
1212
- }
1213
-
1214
- extern struct SN_env * hungarian_ISO_8859_1_create_env(void) { return SN_create_env(0, 1); }
1215
-
1216
- extern void hungarian_ISO_8859_1_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1217
-