isomorfeus-ferret 0.12.4 → 0.12.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (216) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +612 -612
  3. data/README.md +77 -48
  4. data/ext/isomorfeus_ferret_ext/bm_hash.c +9 -6
  5. data/ext/isomorfeus_ferret_ext/bm_micro_string.c +4 -2
  6. data/ext/isomorfeus_ferret_ext/brotli_common_constants.c +15 -0
  7. data/ext/isomorfeus_ferret_ext/brotli_common_constants.h +200 -0
  8. data/ext/isomorfeus_ferret_ext/brotli_common_context.c +156 -0
  9. data/ext/isomorfeus_ferret_ext/brotli_common_context.h +113 -0
  10. data/ext/isomorfeus_ferret_ext/brotli_common_dictionary.c +5914 -0
  11. data/ext/isomorfeus_ferret_ext/brotli_common_dictionary.h +64 -0
  12. data/ext/isomorfeus_ferret_ext/brotli_common_platform.c +22 -0
  13. data/ext/isomorfeus_ferret_ext/brotli_common_platform.h +594 -0
  14. data/ext/isomorfeus_ferret_ext/brotli_common_transform.c +291 -0
  15. data/ext/isomorfeus_ferret_ext/brotli_common_transform.h +85 -0
  16. data/ext/isomorfeus_ferret_ext/brotli_common_version.h +26 -0
  17. data/ext/isomorfeus_ferret_ext/brotli_dec_bit_reader.c +76 -0
  18. data/ext/isomorfeus_ferret_ext/brotli_dec_bit_reader.h +351 -0
  19. data/ext/isomorfeus_ferret_ext/brotli_dec_decode.c +2608 -0
  20. data/ext/isomorfeus_ferret_ext/brotli_dec_huffman.c +339 -0
  21. data/ext/isomorfeus_ferret_ext/brotli_dec_huffman.h +121 -0
  22. data/ext/isomorfeus_ferret_ext/brotli_dec_prefix.h +732 -0
  23. data/ext/isomorfeus_ferret_ext/brotli_dec_state.c +159 -0
  24. data/ext/isomorfeus_ferret_ext/brotli_dec_state.h +365 -0
  25. data/ext/isomorfeus_ferret_ext/brotli_decode.h +344 -0
  26. data/ext/isomorfeus_ferret_ext/brotli_enc_backward_references.c +145 -0
  27. data/ext/isomorfeus_ferret_ext/brotli_enc_backward_references.h +39 -0
  28. data/ext/isomorfeus_ferret_ext/brotli_enc_backward_references_hq.c +843 -0
  29. data/ext/isomorfeus_ferret_ext/brotli_enc_backward_references_hq.h +95 -0
  30. data/ext/isomorfeus_ferret_ext/brotli_enc_backward_references_inc.h +163 -0
  31. data/ext/isomorfeus_ferret_ext/brotli_enc_bit_cost.c +35 -0
  32. data/ext/isomorfeus_ferret_ext/brotli_enc_bit_cost.h +63 -0
  33. data/ext/isomorfeus_ferret_ext/brotli_enc_bit_cost_inc.h +127 -0
  34. data/ext/isomorfeus_ferret_ext/brotli_enc_block_encoder_inc.h +34 -0
  35. data/ext/isomorfeus_ferret_ext/brotli_enc_block_splitter.c +194 -0
  36. data/ext/isomorfeus_ferret_ext/brotli_enc_block_splitter.h +51 -0
  37. data/ext/isomorfeus_ferret_ext/brotli_enc_block_splitter_inc.h +440 -0
  38. data/ext/isomorfeus_ferret_ext/brotli_enc_brotli_bit_stream.c +1314 -0
  39. data/ext/isomorfeus_ferret_ext/brotli_enc_brotli_bit_stream.h +84 -0
  40. data/ext/isomorfeus_ferret_ext/brotli_enc_cluster.c +56 -0
  41. data/ext/isomorfeus_ferret_ext/brotli_enc_cluster.h +48 -0
  42. data/ext/isomorfeus_ferret_ext/brotli_enc_cluster_inc.h +320 -0
  43. data/ext/isomorfeus_ferret_ext/brotli_enc_command.c +28 -0
  44. data/ext/isomorfeus_ferret_ext/brotli_enc_command.h +190 -0
  45. data/ext/isomorfeus_ferret_ext/brotli_enc_compress_fragment.c +790 -0
  46. data/ext/isomorfeus_ferret_ext/brotli_enc_compress_fragment.h +61 -0
  47. data/ext/isomorfeus_ferret_ext/brotli_enc_compress_fragment_two_pass.c +645 -0
  48. data/ext/isomorfeus_ferret_ext/brotli_enc_compress_fragment_two_pass.h +54 -0
  49. data/ext/isomorfeus_ferret_ext/brotli_enc_dictionary_hash.c +1846 -0
  50. data/ext/isomorfeus_ferret_ext/brotli_enc_dictionary_hash.h +25 -0
  51. data/ext/isomorfeus_ferret_ext/brotli_enc_encode.c +1927 -0
  52. data/ext/isomorfeus_ferret_ext/brotli_enc_encoder_dict.c +33 -0
  53. data/ext/isomorfeus_ferret_ext/brotli_enc_encoder_dict.h +43 -0
  54. data/ext/isomorfeus_ferret_ext/brotli_enc_entropy_encode.c +503 -0
  55. data/ext/isomorfeus_ferret_ext/brotli_enc_entropy_encode.h +122 -0
  56. data/ext/isomorfeus_ferret_ext/brotli_enc_entropy_encode_static.h +539 -0
  57. data/ext/isomorfeus_ferret_ext/brotli_enc_fast_log.c +105 -0
  58. data/ext/isomorfeus_ferret_ext/brotli_enc_fast_log.h +66 -0
  59. data/ext/isomorfeus_ferret_ext/brotli_enc_find_match_length.h +79 -0
  60. data/ext/isomorfeus_ferret_ext/brotli_enc_hash.h +488 -0
  61. data/ext/isomorfeus_ferret_ext/brotli_enc_hash_composite_inc.h +125 -0
  62. data/ext/isomorfeus_ferret_ext/brotli_enc_hash_forgetful_chain_inc.h +293 -0
  63. data/ext/isomorfeus_ferret_ext/brotli_enc_hash_longest_match64_inc.h +267 -0
  64. data/ext/isomorfeus_ferret_ext/brotli_enc_hash_longest_match_inc.h +262 -0
  65. data/ext/isomorfeus_ferret_ext/brotli_enc_hash_longest_match_quickly_inc.h +266 -0
  66. data/ext/isomorfeus_ferret_ext/brotli_enc_hash_rolling_inc.h +212 -0
  67. data/ext/isomorfeus_ferret_ext/brotli_enc_hash_to_binary_tree_inc.h +329 -0
  68. data/ext/isomorfeus_ferret_ext/brotli_enc_histogram.c +100 -0
  69. data/ext/isomorfeus_ferret_ext/brotli_enc_histogram.h +63 -0
  70. data/ext/isomorfeus_ferret_ext/brotli_enc_histogram_inc.h +51 -0
  71. data/ext/isomorfeus_ferret_ext/brotli_enc_literal_cost.c +175 -0
  72. data/ext/isomorfeus_ferret_ext/brotli_enc_literal_cost.h +30 -0
  73. data/ext/isomorfeus_ferret_ext/brotli_enc_memory.c +170 -0
  74. data/ext/isomorfeus_ferret_ext/brotli_enc_memory.h +114 -0
  75. data/ext/isomorfeus_ferret_ext/brotli_enc_metablock.c +663 -0
  76. data/ext/isomorfeus_ferret_ext/brotli_enc_metablock.h +105 -0
  77. data/ext/isomorfeus_ferret_ext/brotli_enc_metablock_inc.h +183 -0
  78. data/ext/isomorfeus_ferret_ext/brotli_enc_params.h +46 -0
  79. data/ext/isomorfeus_ferret_ext/brotli_enc_prefix.h +53 -0
  80. data/ext/isomorfeus_ferret_ext/brotli_enc_quality.h +165 -0
  81. data/ext/isomorfeus_ferret_ext/brotli_enc_ringbuffer.h +167 -0
  82. data/ext/isomorfeus_ferret_ext/brotli_enc_static_dict.c +486 -0
  83. data/ext/isomorfeus_ferret_ext/brotli_enc_static_dict.h +40 -0
  84. data/ext/isomorfeus_ferret_ext/brotli_enc_static_dict_lut.h +5864 -0
  85. data/ext/isomorfeus_ferret_ext/brotli_enc_utf8_util.c +85 -0
  86. data/ext/isomorfeus_ferret_ext/brotli_enc_utf8_util.h +32 -0
  87. data/ext/isomorfeus_ferret_ext/brotli_enc_write_bits.h +87 -0
  88. data/ext/isomorfeus_ferret_ext/brotli_encode.h +448 -0
  89. data/ext/isomorfeus_ferret_ext/brotli_port.h +288 -0
  90. data/ext/isomorfeus_ferret_ext/brotli_types.h +83 -0
  91. data/ext/isomorfeus_ferret_ext/frb_index.c +35 -4
  92. data/ext/isomorfeus_ferret_ext/frb_store.c +34 -5
  93. data/ext/isomorfeus_ferret_ext/frt_document.h +1 -0
  94. data/ext/isomorfeus_ferret_ext/frt_fs_store.c +1 -0
  95. data/ext/isomorfeus_ferret_ext/frt_index.c +174 -25
  96. data/ext/isomorfeus_ferret_ext/frt_index.h +6 -3
  97. data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
  98. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
  99. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +12 -15
  100. data/ext/isomorfeus_ferret_ext/frt_ram_store.c +1 -0
  101. data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
  102. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
  103. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
  104. data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
  105. data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
  106. data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
  107. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
  108. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
  109. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
  110. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
  111. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
  112. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
  113. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
  114. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
  115. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
  116. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
  117. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
  118. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
  119. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
  120. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
  121. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
  122. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
  123. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
  124. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
  125. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
  126. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
  127. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
  128. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
  129. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
  130. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
  131. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
  132. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
  133. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
  134. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
  135. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
  136. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
  137. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
  138. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
  139. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
  140. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
  141. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
  142. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
  143. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
  144. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
  145. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
  146. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
  147. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
  148. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
  149. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
  150. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
  151. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
  152. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
  153. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
  154. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
  155. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
  156. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
  157. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
  158. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
  159. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
  160. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
  161. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
  162. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
  163. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
  164. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
  165. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
  166. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
  167. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
  168. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
  169. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
  170. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
  171. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
  172. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
  173. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
  174. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
  175. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
  176. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
  177. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
  178. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
  179. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
  180. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
  181. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
  182. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
  183. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
  184. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
  185. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
  186. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
  187. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
  188. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
  189. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
  190. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
  191. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
  192. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
  193. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
  194. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
  195. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
  196. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
  197. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
  198. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
  199. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
  200. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
  201. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
  202. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
  203. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
  204. data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
  205. data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
  206. data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
  207. data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
  208. data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
  209. data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
  210. data/ext/isomorfeus_ferret_ext/test.c +7 -1
  211. data/ext/isomorfeus_ferret_ext/test_fields.c +57 -45
  212. data/ext/isomorfeus_ferret_ext/test_index.c +4 -1
  213. data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
  214. data/lib/isomorfeus/ferret/version.rb +1 -1
  215. metadata +125 -5
  216. data/ext/isomorfeus_ferret_ext/q_parser.y +0 -1366
@@ -1,4 +1,4 @@
1
- /* This file was generated automatically by the Snowball to ANSI C compiler */
1
+ /* Generated by Snowball 2.2.0 - https://snowballstem.org/ */
2
2
 
3
3
  #include "stem_header.h"
4
4
 
@@ -26,12 +26,12 @@ static const symbol s_0_5[2] = { 0xC3, 0xBA };
26
26
 
27
27
  static const struct among a_0[6] =
28
28
  {
29
- /* 0 */ { 0, 0, -1, 6, 0},
30
- /* 1 */ { 2, s_0_1, 0, 1, 0},
31
- /* 2 */ { 2, s_0_2, 0, 2, 0},
32
- /* 3 */ { 2, s_0_3, 0, 3, 0},
33
- /* 4 */ { 2, s_0_4, 0, 4, 0},
34
- /* 5 */ { 2, s_0_5, 0, 5, 0}
29
+ { 0, 0, -1, 6, 0},
30
+ { 2, s_0_1, 0, 1, 0},
31
+ { 2, s_0_2, 0, 2, 0},
32
+ { 2, s_0_3, 0, 3, 0},
33
+ { 2, s_0_4, 0, 4, 0},
34
+ { 2, s_0_5, 0, 5, 0}
35
35
  };
36
36
 
37
37
  static const symbol s_1_0[2] = { 'l', 'a' };
@@ -50,19 +50,19 @@ static const symbol s_1_12[3] = { 'n', 'o', 's' };
50
50
 
51
51
  static const struct among a_1[13] =
52
52
  {
53
- /* 0 */ { 2, s_1_0, -1, -1, 0},
54
- /* 1 */ { 4, s_1_1, 0, -1, 0},
55
- /* 2 */ { 2, s_1_2, -1, -1, 0},
56
- /* 3 */ { 2, s_1_3, -1, -1, 0},
57
- /* 4 */ { 2, s_1_4, -1, -1, 0},
58
- /* 5 */ { 2, s_1_5, -1, -1, 0},
59
- /* 6 */ { 4, s_1_6, 5, -1, 0},
60
- /* 7 */ { 3, s_1_7, -1, -1, 0},
61
- /* 8 */ { 5, s_1_8, 7, -1, 0},
62
- /* 9 */ { 3, s_1_9, -1, -1, 0},
63
- /* 10 */ { 3, s_1_10, -1, -1, 0},
64
- /* 11 */ { 5, s_1_11, 10, -1, 0},
65
- /* 12 */ { 3, s_1_12, -1, -1, 0}
53
+ { 2, s_1_0, -1, -1, 0},
54
+ { 4, s_1_1, 0, -1, 0},
55
+ { 2, s_1_2, -1, -1, 0},
56
+ { 2, s_1_3, -1, -1, 0},
57
+ { 2, s_1_4, -1, -1, 0},
58
+ { 2, s_1_5, -1, -1, 0},
59
+ { 4, s_1_6, 5, -1, 0},
60
+ { 3, s_1_7, -1, -1, 0},
61
+ { 5, s_1_8, 7, -1, 0},
62
+ { 3, s_1_9, -1, -1, 0},
63
+ { 3, s_1_10, -1, -1, 0},
64
+ { 5, s_1_11, 10, -1, 0},
65
+ { 3, s_1_12, -1, -1, 0}
66
66
  };
67
67
 
68
68
  static const symbol s_2_0[4] = { 'a', 'n', 'd', 'o' };
@@ -79,17 +79,17 @@ static const symbol s_2_10[3] = { 0xC3, 0xAD, 'r' };
79
79
 
80
80
  static const struct among a_2[11] =
81
81
  {
82
- /* 0 */ { 4, s_2_0, -1, 6, 0},
83
- /* 1 */ { 5, s_2_1, -1, 6, 0},
84
- /* 2 */ { 5, s_2_2, -1, 7, 0},
85
- /* 3 */ { 5, s_2_3, -1, 2, 0},
86
- /* 4 */ { 6, s_2_4, -1, 1, 0},
87
- /* 5 */ { 2, s_2_5, -1, 6, 0},
88
- /* 6 */ { 2, s_2_6, -1, 6, 0},
89
- /* 7 */ { 2, s_2_7, -1, 6, 0},
90
- /* 8 */ { 3, s_2_8, -1, 3, 0},
91
- /* 9 */ { 3, s_2_9, -1, 4, 0},
92
- /* 10 */ { 3, s_2_10, -1, 5, 0}
82
+ { 4, s_2_0, -1, 6, 0},
83
+ { 5, s_2_1, -1, 6, 0},
84
+ { 5, s_2_2, -1, 7, 0},
85
+ { 5, s_2_3, -1, 2, 0},
86
+ { 6, s_2_4, -1, 1, 0},
87
+ { 2, s_2_5, -1, 6, 0},
88
+ { 2, s_2_6, -1, 6, 0},
89
+ { 2, s_2_7, -1, 6, 0},
90
+ { 3, s_2_8, -1, 3, 0},
91
+ { 3, s_2_9, -1, 4, 0},
92
+ { 3, s_2_10, -1, 5, 0}
93
93
  };
94
94
 
95
95
  static const symbol s_3_0[2] = { 'i', 'c' };
@@ -99,10 +99,10 @@ static const symbol s_3_3[2] = { 'i', 'v' };
99
99
 
100
100
  static const struct among a_3[4] =
101
101
  {
102
- /* 0 */ { 2, s_3_0, -1, -1, 0},
103
- /* 1 */ { 2, s_3_1, -1, -1, 0},
104
- /* 2 */ { 2, s_3_2, -1, -1, 0},
105
- /* 3 */ { 2, s_3_3, -1, 1, 0}
102
+ { 2, s_3_0, -1, -1, 0},
103
+ { 2, s_3_1, -1, -1, 0},
104
+ { 2, s_3_2, -1, -1, 0},
105
+ { 2, s_3_3, -1, 1, 0}
106
106
  };
107
107
 
108
108
  static const symbol s_4_0[4] = { 'a', 'b', 'l', 'e' };
@@ -111,9 +111,9 @@ static const symbol s_4_2[4] = { 'a', 'n', 't', 'e' };
111
111
 
112
112
  static const struct among a_4[3] =
113
113
  {
114
- /* 0 */ { 4, s_4_0, -1, 1, 0},
115
- /* 1 */ { 4, s_4_1, -1, 1, 0},
116
- /* 2 */ { 4, s_4_2, -1, 1, 0}
114
+ { 4, s_4_0, -1, 1, 0},
115
+ { 4, s_4_1, -1, 1, 0},
116
+ { 4, s_4_2, -1, 1, 0}
117
117
  };
118
118
 
119
119
  static const symbol s_5_0[2] = { 'i', 'c' };
@@ -122,9 +122,9 @@ static const symbol s_5_2[2] = { 'i', 'v' };
122
122
 
123
123
  static const struct among a_5[3] =
124
124
  {
125
- /* 0 */ { 2, s_5_0, -1, 1, 0},
126
- /* 1 */ { 4, s_5_1, -1, 1, 0},
127
- /* 2 */ { 2, s_5_2, -1, 1, 0}
125
+ { 2, s_5_0, -1, 1, 0},
126
+ { 4, s_5_1, -1, 1, 0},
127
+ { 2, s_5_2, -1, 1, 0}
128
128
  };
129
129
 
130
130
  static const symbol s_6_0[3] = { 'i', 'c', 'a' };
@@ -176,52 +176,52 @@ static const symbol s_6_45[4] = { 'i', 'v', 'o', 's' };
176
176
 
177
177
  static const struct among a_6[46] =
178
178
  {
179
- /* 0 */ { 3, s_6_0, -1, 1, 0},
180
- /* 1 */ { 5, s_6_1, -1, 2, 0},
181
- /* 2 */ { 5, s_6_2, -1, 5, 0},
182
- /* 3 */ { 5, s_6_3, -1, 2, 0},
183
- /* 4 */ { 3, s_6_4, -1, 1, 0},
184
- /* 5 */ { 4, s_6_5, -1, 1, 0},
185
- /* 6 */ { 3, s_6_6, -1, 9, 0},
186
- /* 7 */ { 4, s_6_7, -1, 1, 0},
187
- /* 8 */ { 6, s_6_8, -1, 3, 0},
188
- /* 9 */ { 4, s_6_9, -1, 8, 0},
189
- /* 10 */ { 4, s_6_10, -1, 1, 0},
190
- /* 11 */ { 4, s_6_11, -1, 1, 0},
191
- /* 12 */ { 4, s_6_12, -1, 2, 0},
192
- /* 13 */ { 5, s_6_13, -1, 7, 0},
193
- /* 14 */ { 6, s_6_14, 13, 6, 0},
194
- /* 15 */ { 6, s_6_15, -1, 2, 0},
195
- /* 16 */ { 6, s_6_16, -1, 4, 0},
196
- /* 17 */ { 3, s_6_17, -1, 1, 0},
197
- /* 18 */ { 4, s_6_18, -1, 1, 0},
198
- /* 19 */ { 3, s_6_19, -1, 1, 0},
199
- /* 20 */ { 7, s_6_20, -1, 1, 0},
200
- /* 21 */ { 7, s_6_21, -1, 1, 0},
201
- /* 22 */ { 3, s_6_22, -1, 9, 0},
202
- /* 23 */ { 4, s_6_23, -1, 2, 0},
203
- /* 24 */ { 4, s_6_24, -1, 1, 0},
204
- /* 25 */ { 6, s_6_25, -1, 2, 0},
205
- /* 26 */ { 6, s_6_26, -1, 5, 0},
206
- /* 27 */ { 6, s_6_27, -1, 2, 0},
207
- /* 28 */ { 4, s_6_28, -1, 1, 0},
208
- /* 29 */ { 5, s_6_29, -1, 1, 0},
209
- /* 30 */ { 4, s_6_30, -1, 9, 0},
210
- /* 31 */ { 5, s_6_31, -1, 1, 0},
211
- /* 32 */ { 7, s_6_32, -1, 3, 0},
212
- /* 33 */ { 6, s_6_33, -1, 8, 0},
213
- /* 34 */ { 5, s_6_34, -1, 1, 0},
214
- /* 35 */ { 5, s_6_35, -1, 1, 0},
215
- /* 36 */ { 7, s_6_36, -1, 2, 0},
216
- /* 37 */ { 7, s_6_37, -1, 4, 0},
217
- /* 38 */ { 6, s_6_38, -1, 2, 0},
218
- /* 39 */ { 5, s_6_39, -1, 2, 0},
219
- /* 40 */ { 4, s_6_40, -1, 1, 0},
220
- /* 41 */ { 5, s_6_41, -1, 1, 0},
221
- /* 42 */ { 4, s_6_42, -1, 1, 0},
222
- /* 43 */ { 8, s_6_43, -1, 1, 0},
223
- /* 44 */ { 8, s_6_44, -1, 1, 0},
224
- /* 45 */ { 4, s_6_45, -1, 9, 0}
179
+ { 3, s_6_0, -1, 1, 0},
180
+ { 5, s_6_1, -1, 2, 0},
181
+ { 5, s_6_2, -1, 5, 0},
182
+ { 5, s_6_3, -1, 2, 0},
183
+ { 3, s_6_4, -1, 1, 0},
184
+ { 4, s_6_5, -1, 1, 0},
185
+ { 3, s_6_6, -1, 9, 0},
186
+ { 4, s_6_7, -1, 1, 0},
187
+ { 6, s_6_8, -1, 3, 0},
188
+ { 4, s_6_9, -1, 8, 0},
189
+ { 4, s_6_10, -1, 1, 0},
190
+ { 4, s_6_11, -1, 1, 0},
191
+ { 4, s_6_12, -1, 2, 0},
192
+ { 5, s_6_13, -1, 7, 0},
193
+ { 6, s_6_14, 13, 6, 0},
194
+ { 6, s_6_15, -1, 2, 0},
195
+ { 6, s_6_16, -1, 4, 0},
196
+ { 3, s_6_17, -1, 1, 0},
197
+ { 4, s_6_18, -1, 1, 0},
198
+ { 3, s_6_19, -1, 1, 0},
199
+ { 7, s_6_20, -1, 1, 0},
200
+ { 7, s_6_21, -1, 1, 0},
201
+ { 3, s_6_22, -1, 9, 0},
202
+ { 4, s_6_23, -1, 2, 0},
203
+ { 4, s_6_24, -1, 1, 0},
204
+ { 6, s_6_25, -1, 2, 0},
205
+ { 6, s_6_26, -1, 5, 0},
206
+ { 6, s_6_27, -1, 2, 0},
207
+ { 4, s_6_28, -1, 1, 0},
208
+ { 5, s_6_29, -1, 1, 0},
209
+ { 4, s_6_30, -1, 9, 0},
210
+ { 5, s_6_31, -1, 1, 0},
211
+ { 7, s_6_32, -1, 3, 0},
212
+ { 6, s_6_33, -1, 8, 0},
213
+ { 5, s_6_34, -1, 1, 0},
214
+ { 5, s_6_35, -1, 1, 0},
215
+ { 7, s_6_36, -1, 2, 0},
216
+ { 7, s_6_37, -1, 4, 0},
217
+ { 6, s_6_38, -1, 2, 0},
218
+ { 5, s_6_39, -1, 2, 0},
219
+ { 4, s_6_40, -1, 1, 0},
220
+ { 5, s_6_41, -1, 1, 0},
221
+ { 4, s_6_42, -1, 1, 0},
222
+ { 8, s_6_43, -1, 1, 0},
223
+ { 8, s_6_44, -1, 1, 0},
224
+ { 4, s_6_45, -1, 9, 0}
225
225
  };
226
226
 
227
227
  static const symbol s_7_0[2] = { 'y', 'a' };
@@ -239,18 +239,18 @@ static const symbol s_7_11[3] = { 'y', 0xC3, 0xB3 };
239
239
 
240
240
  static const struct among a_7[12] =
241
241
  {
242
- /* 0 */ { 2, s_7_0, -1, 1, 0},
243
- /* 1 */ { 2, s_7_1, -1, 1, 0},
244
- /* 2 */ { 3, s_7_2, -1, 1, 0},
245
- /* 3 */ { 3, s_7_3, -1, 1, 0},
246
- /* 4 */ { 5, s_7_4, -1, 1, 0},
247
- /* 5 */ { 5, s_7_5, -1, 1, 0},
248
- /* 6 */ { 2, s_7_6, -1, 1, 0},
249
- /* 7 */ { 3, s_7_7, -1, 1, 0},
250
- /* 8 */ { 3, s_7_8, -1, 1, 0},
251
- /* 9 */ { 4, s_7_9, -1, 1, 0},
252
- /* 10 */ { 5, s_7_10, -1, 1, 0},
253
- /* 11 */ { 3, s_7_11, -1, 1, 0}
242
+ { 2, s_7_0, -1, 1, 0},
243
+ { 2, s_7_1, -1, 1, 0},
244
+ { 3, s_7_2, -1, 1, 0},
245
+ { 3, s_7_3, -1, 1, 0},
246
+ { 5, s_7_4, -1, 1, 0},
247
+ { 5, s_7_5, -1, 1, 0},
248
+ { 2, s_7_6, -1, 1, 0},
249
+ { 3, s_7_7, -1, 1, 0},
250
+ { 3, s_7_8, -1, 1, 0},
251
+ { 4, s_7_9, -1, 1, 0},
252
+ { 5, s_7_10, -1, 1, 0},
253
+ { 3, s_7_11, -1, 1, 0}
254
254
  };
255
255
 
256
256
  static const symbol s_8_0[3] = { 'a', 'b', 'a' };
@@ -352,102 +352,102 @@ static const symbol s_8_95[3] = { 'i', 0xC3, 0xB3 };
352
352
 
353
353
  static const struct among a_8[96] =
354
354
  {
355
- /* 0 */ { 3, s_8_0, -1, 2, 0},
356
- /* 1 */ { 3, s_8_1, -1, 2, 0},
357
- /* 2 */ { 3, s_8_2, -1, 2, 0},
358
- /* 3 */ { 3, s_8_3, -1, 2, 0},
359
- /* 4 */ { 4, s_8_4, -1, 2, 0},
360
- /* 5 */ { 3, s_8_5, -1, 2, 0},
361
- /* 6 */ { 5, s_8_6, 5, 2, 0},
362
- /* 7 */ { 5, s_8_7, 5, 2, 0},
363
- /* 8 */ { 5, s_8_8, 5, 2, 0},
364
- /* 9 */ { 2, s_8_9, -1, 2, 0},
365
- /* 10 */ { 2, s_8_10, -1, 2, 0},
366
- /* 11 */ { 2, s_8_11, -1, 2, 0},
367
- /* 12 */ { 3, s_8_12, -1, 2, 0},
368
- /* 13 */ { 4, s_8_13, -1, 2, 0},
369
- /* 14 */ { 4, s_8_14, -1, 2, 0},
370
- /* 15 */ { 4, s_8_15, -1, 2, 0},
371
- /* 16 */ { 2, s_8_16, -1, 2, 0},
372
- /* 17 */ { 4, s_8_17, 16, 2, 0},
373
- /* 18 */ { 4, s_8_18, 16, 2, 0},
374
- /* 19 */ { 5, s_8_19, 16, 2, 0},
375
- /* 20 */ { 4, s_8_20, 16, 2, 0},
376
- /* 21 */ { 6, s_8_21, 20, 2, 0},
377
- /* 22 */ { 6, s_8_22, 20, 2, 0},
378
- /* 23 */ { 6, s_8_23, 20, 2, 0},
379
- /* 24 */ { 2, s_8_24, -1, 1, 0},
380
- /* 25 */ { 4, s_8_25, 24, 2, 0},
381
- /* 26 */ { 5, s_8_26, 24, 2, 0},
382
- /* 27 */ { 4, s_8_27, -1, 2, 0},
383
- /* 28 */ { 5, s_8_28, -1, 2, 0},
384
- /* 29 */ { 5, s_8_29, -1, 2, 0},
385
- /* 30 */ { 5, s_8_30, -1, 2, 0},
386
- /* 31 */ { 5, s_8_31, -1, 2, 0},
387
- /* 32 */ { 3, s_8_32, -1, 2, 0},
388
- /* 33 */ { 3, s_8_33, -1, 2, 0},
389
- /* 34 */ { 4, s_8_34, -1, 2, 0},
390
- /* 35 */ { 5, s_8_35, -1, 2, 0},
391
- /* 36 */ { 2, s_8_36, -1, 2, 0},
392
- /* 37 */ { 2, s_8_37, -1, 2, 0},
393
- /* 38 */ { 2, s_8_38, -1, 2, 0},
394
- /* 39 */ { 2, s_8_39, -1, 2, 0},
395
- /* 40 */ { 4, s_8_40, 39, 2, 0},
396
- /* 41 */ { 4, s_8_41, 39, 2, 0},
397
- /* 42 */ { 4, s_8_42, 39, 2, 0},
398
- /* 43 */ { 4, s_8_43, 39, 2, 0},
399
- /* 44 */ { 5, s_8_44, 39, 2, 0},
400
- /* 45 */ { 4, s_8_45, 39, 2, 0},
401
- /* 46 */ { 6, s_8_46, 45, 2, 0},
402
- /* 47 */ { 6, s_8_47, 45, 2, 0},
403
- /* 48 */ { 6, s_8_48, 45, 2, 0},
404
- /* 49 */ { 2, s_8_49, -1, 1, 0},
405
- /* 50 */ { 4, s_8_50, 49, 2, 0},
406
- /* 51 */ { 5, s_8_51, 49, 2, 0},
407
- /* 52 */ { 5, s_8_52, -1, 2, 0},
408
- /* 53 */ { 5, s_8_53, -1, 2, 0},
409
- /* 54 */ { 6, s_8_54, -1, 2, 0},
410
- /* 55 */ { 5, s_8_55, -1, 2, 0},
411
- /* 56 */ { 7, s_8_56, 55, 2, 0},
412
- /* 57 */ { 7, s_8_57, 55, 2, 0},
413
- /* 58 */ { 7, s_8_58, 55, 2, 0},
414
- /* 59 */ { 5, s_8_59, -1, 2, 0},
415
- /* 60 */ { 6, s_8_60, -1, 2, 0},
416
- /* 61 */ { 6, s_8_61, -1, 2, 0},
417
- /* 62 */ { 6, s_8_62, -1, 2, 0},
418
- /* 63 */ { 4, s_8_63, -1, 2, 0},
419
- /* 64 */ { 4, s_8_64, -1, 1, 0},
420
- /* 65 */ { 6, s_8_65, 64, 2, 0},
421
- /* 66 */ { 6, s_8_66, 64, 2, 0},
422
- /* 67 */ { 6, s_8_67, 64, 2, 0},
423
- /* 68 */ { 4, s_8_68, -1, 2, 0},
424
- /* 69 */ { 4, s_8_69, -1, 2, 0},
425
- /* 70 */ { 4, s_8_70, -1, 2, 0},
426
- /* 71 */ { 7, s_8_71, 70, 2, 0},
427
- /* 72 */ { 7, s_8_72, 70, 2, 0},
428
- /* 73 */ { 8, s_8_73, 70, 2, 0},
429
- /* 74 */ { 6, s_8_74, 70, 2, 0},
430
- /* 75 */ { 8, s_8_75, 74, 2, 0},
431
- /* 76 */ { 8, s_8_76, 74, 2, 0},
432
- /* 77 */ { 8, s_8_77, 74, 2, 0},
433
- /* 78 */ { 4, s_8_78, -1, 1, 0},
434
- /* 79 */ { 6, s_8_79, 78, 2, 0},
435
- /* 80 */ { 6, s_8_80, 78, 2, 0},
436
- /* 81 */ { 6, s_8_81, 78, 2, 0},
437
- /* 82 */ { 7, s_8_82, 78, 2, 0},
438
- /* 83 */ { 8, s_8_83, 78, 2, 0},
439
- /* 84 */ { 4, s_8_84, -1, 2, 0},
440
- /* 85 */ { 5, s_8_85, -1, 2, 0},
441
- /* 86 */ { 5, s_8_86, -1, 2, 0},
442
- /* 87 */ { 5, s_8_87, -1, 2, 0},
443
- /* 88 */ { 3, s_8_88, -1, 2, 0},
444
- /* 89 */ { 4, s_8_89, -1, 2, 0},
445
- /* 90 */ { 4, s_8_90, -1, 2, 0},
446
- /* 91 */ { 4, s_8_91, -1, 2, 0},
447
- /* 92 */ { 4, s_8_92, -1, 2, 0},
448
- /* 93 */ { 4, s_8_93, -1, 2, 0},
449
- /* 94 */ { 4, s_8_94, -1, 2, 0},
450
- /* 95 */ { 3, s_8_95, -1, 2, 0}
355
+ { 3, s_8_0, -1, 2, 0},
356
+ { 3, s_8_1, -1, 2, 0},
357
+ { 3, s_8_2, -1, 2, 0},
358
+ { 3, s_8_3, -1, 2, 0},
359
+ { 4, s_8_4, -1, 2, 0},
360
+ { 3, s_8_5, -1, 2, 0},
361
+ { 5, s_8_6, 5, 2, 0},
362
+ { 5, s_8_7, 5, 2, 0},
363
+ { 5, s_8_8, 5, 2, 0},
364
+ { 2, s_8_9, -1, 2, 0},
365
+ { 2, s_8_10, -1, 2, 0},
366
+ { 2, s_8_11, -1, 2, 0},
367
+ { 3, s_8_12, -1, 2, 0},
368
+ { 4, s_8_13, -1, 2, 0},
369
+ { 4, s_8_14, -1, 2, 0},
370
+ { 4, s_8_15, -1, 2, 0},
371
+ { 2, s_8_16, -1, 2, 0},
372
+ { 4, s_8_17, 16, 2, 0},
373
+ { 4, s_8_18, 16, 2, 0},
374
+ { 5, s_8_19, 16, 2, 0},
375
+ { 4, s_8_20, 16, 2, 0},
376
+ { 6, s_8_21, 20, 2, 0},
377
+ { 6, s_8_22, 20, 2, 0},
378
+ { 6, s_8_23, 20, 2, 0},
379
+ { 2, s_8_24, -1, 1, 0},
380
+ { 4, s_8_25, 24, 2, 0},
381
+ { 5, s_8_26, 24, 2, 0},
382
+ { 4, s_8_27, -1, 2, 0},
383
+ { 5, s_8_28, -1, 2, 0},
384
+ { 5, s_8_29, -1, 2, 0},
385
+ { 5, s_8_30, -1, 2, 0},
386
+ { 5, s_8_31, -1, 2, 0},
387
+ { 3, s_8_32, -1, 2, 0},
388
+ { 3, s_8_33, -1, 2, 0},
389
+ { 4, s_8_34, -1, 2, 0},
390
+ { 5, s_8_35, -1, 2, 0},
391
+ { 2, s_8_36, -1, 2, 0},
392
+ { 2, s_8_37, -1, 2, 0},
393
+ { 2, s_8_38, -1, 2, 0},
394
+ { 2, s_8_39, -1, 2, 0},
395
+ { 4, s_8_40, 39, 2, 0},
396
+ { 4, s_8_41, 39, 2, 0},
397
+ { 4, s_8_42, 39, 2, 0},
398
+ { 4, s_8_43, 39, 2, 0},
399
+ { 5, s_8_44, 39, 2, 0},
400
+ { 4, s_8_45, 39, 2, 0},
401
+ { 6, s_8_46, 45, 2, 0},
402
+ { 6, s_8_47, 45, 2, 0},
403
+ { 6, s_8_48, 45, 2, 0},
404
+ { 2, s_8_49, -1, 1, 0},
405
+ { 4, s_8_50, 49, 2, 0},
406
+ { 5, s_8_51, 49, 2, 0},
407
+ { 5, s_8_52, -1, 2, 0},
408
+ { 5, s_8_53, -1, 2, 0},
409
+ { 6, s_8_54, -1, 2, 0},
410
+ { 5, s_8_55, -1, 2, 0},
411
+ { 7, s_8_56, 55, 2, 0},
412
+ { 7, s_8_57, 55, 2, 0},
413
+ { 7, s_8_58, 55, 2, 0},
414
+ { 5, s_8_59, -1, 2, 0},
415
+ { 6, s_8_60, -1, 2, 0},
416
+ { 6, s_8_61, -1, 2, 0},
417
+ { 6, s_8_62, -1, 2, 0},
418
+ { 4, s_8_63, -1, 2, 0},
419
+ { 4, s_8_64, -1, 1, 0},
420
+ { 6, s_8_65, 64, 2, 0},
421
+ { 6, s_8_66, 64, 2, 0},
422
+ { 6, s_8_67, 64, 2, 0},
423
+ { 4, s_8_68, -1, 2, 0},
424
+ { 4, s_8_69, -1, 2, 0},
425
+ { 4, s_8_70, -1, 2, 0},
426
+ { 7, s_8_71, 70, 2, 0},
427
+ { 7, s_8_72, 70, 2, 0},
428
+ { 8, s_8_73, 70, 2, 0},
429
+ { 6, s_8_74, 70, 2, 0},
430
+ { 8, s_8_75, 74, 2, 0},
431
+ { 8, s_8_76, 74, 2, 0},
432
+ { 8, s_8_77, 74, 2, 0},
433
+ { 4, s_8_78, -1, 1, 0},
434
+ { 6, s_8_79, 78, 2, 0},
435
+ { 6, s_8_80, 78, 2, 0},
436
+ { 6, s_8_81, 78, 2, 0},
437
+ { 7, s_8_82, 78, 2, 0},
438
+ { 8, s_8_83, 78, 2, 0},
439
+ { 4, s_8_84, -1, 2, 0},
440
+ { 5, s_8_85, -1, 2, 0},
441
+ { 5, s_8_86, -1, 2, 0},
442
+ { 5, s_8_87, -1, 2, 0},
443
+ { 3, s_8_88, -1, 2, 0},
444
+ { 4, s_8_89, -1, 2, 0},
445
+ { 4, s_8_90, -1, 2, 0},
446
+ { 4, s_8_91, -1, 2, 0},
447
+ { 4, s_8_92, -1, 2, 0},
448
+ { 4, s_8_93, -1, 2, 0},
449
+ { 4, s_8_94, -1, 2, 0},
450
+ { 3, s_8_95, -1, 2, 0}
451
451
  };
452
452
 
453
453
  static const symbol s_9_0[1] = { 'a' };
@@ -461,14 +461,14 @@ static const symbol s_9_7[2] = { 0xC3, 0xB3 };
461
461
 
462
462
  static const struct among a_9[8] =
463
463
  {
464
- /* 0 */ { 1, s_9_0, -1, 1, 0},
465
- /* 1 */ { 1, s_9_1, -1, 2, 0},
466
- /* 2 */ { 1, s_9_2, -1, 1, 0},
467
- /* 3 */ { 2, s_9_3, -1, 1, 0},
468
- /* 4 */ { 2, s_9_4, -1, 1, 0},
469
- /* 5 */ { 2, s_9_5, -1, 2, 0},
470
- /* 6 */ { 2, s_9_6, -1, 1, 0},
471
- /* 7 */ { 2, s_9_7, -1, 1, 0}
464
+ { 1, s_9_0, -1, 1, 0},
465
+ { 1, s_9_1, -1, 2, 0},
466
+ { 1, s_9_2, -1, 1, 0},
467
+ { 2, s_9_3, -1, 1, 0},
468
+ { 2, s_9_4, -1, 1, 0},
469
+ { 2, s_9_5, -1, 2, 0},
470
+ { 2, s_9_6, -1, 1, 0},
471
+ { 2, s_9_7, -1, 1, 0}
472
472
  };
473
473
 
474
474
  static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 };
@@ -483,29 +483,23 @@ static const symbol s_6[] = { 'a', 'n', 'd', 'o' };
483
483
  static const symbol s_7[] = { 'a', 'r' };
484
484
  static const symbol s_8[] = { 'e', 'r' };
485
485
  static const symbol s_9[] = { 'i', 'r' };
486
- static const symbol s_10[] = { 'u' };
487
- static const symbol s_11[] = { 'i', 'c' };
488
- static const symbol s_12[] = { 'l', 'o', 'g' };
489
- static const symbol s_13[] = { 'u' };
490
- static const symbol s_14[] = { 'e', 'n', 't', 'e' };
486
+ static const symbol s_10[] = { 'i', 'c' };
487
+ static const symbol s_11[] = { 'l', 'o', 'g' };
488
+ static const symbol s_12[] = { 'u' };
489
+ static const symbol s_13[] = { 'e', 'n', 't', 'e' };
490
+ static const symbol s_14[] = { 'a', 't' };
491
491
  static const symbol s_15[] = { 'a', 't' };
492
- static const symbol s_16[] = { 'a', 't' };
493
- static const symbol s_17[] = { 'u' };
494
- static const symbol s_18[] = { 'u' };
495
- static const symbol s_19[] = { 'g' };
496
- static const symbol s_20[] = { 'u' };
497
- static const symbol s_21[] = { 'g' };
498
492
 
499
493
  static int r_mark_regions(struct SN_env * z) {
500
- z->I[0] = z->l;
501
- z->I[1] = z->l;
502
494
  z->I[2] = z->l;
503
- { int c1 = z->c; /* do, line 37 */
504
- { int c2 = z->c; /* or, line 39 */
495
+ z->I[1] = z->l;
496
+ z->I[0] = z->l;
497
+ { int c1 = z->c;
498
+ { int c2 = z->c;
505
499
  if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
506
- { int c3 = z->c; /* or, line 38 */
500
+ { int c3 = z->c;
507
501
  if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab4;
508
- { /* gopast */ /* grouping v, line 38 */
502
+ {
509
503
  int ret = out_grouping_U(z, g_v, 97, 252, 1);
510
504
  if (ret < 0) goto lab4;
511
505
  z->c += ret;
@@ -514,7 +508,7 @@ static int r_mark_regions(struct SN_env * z) {
514
508
  lab4:
515
509
  z->c = c3;
516
510
  if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab2;
517
- { /* gopast */ /* non v, line 38 */
511
+ {
518
512
  int ret = in_grouping_U(z, g_v, 97, 252, 1);
519
513
  if (ret < 0) goto lab2;
520
514
  z->c += ret;
@@ -525,9 +519,9 @@ static int r_mark_regions(struct SN_env * z) {
525
519
  lab2:
526
520
  z->c = c2;
527
521
  if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
528
- { int c4 = z->c; /* or, line 40 */
522
+ { int c4 = z->c;
529
523
  if (out_grouping_U(z, g_v, 97, 252, 0)) goto lab6;
530
- { /* gopast */ /* grouping v, line 40 */
524
+ {
531
525
  int ret = out_grouping_U(z, g_v, 97, 252, 1);
532
526
  if (ret < 0) goto lab6;
533
527
  z->c += ret;
@@ -536,42 +530,42 @@ static int r_mark_regions(struct SN_env * z) {
536
530
  lab6:
537
531
  z->c = c4;
538
532
  if (in_grouping_U(z, g_v, 97, 252, 0)) goto lab0;
539
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
533
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
540
534
  if (ret < 0) goto lab0;
541
- z->c = ret; /* next, line 40 */
535
+ z->c = ret;
542
536
  }
543
537
  }
544
538
  lab5:
545
539
  ;
546
540
  }
547
541
  lab1:
548
- z->I[0] = z->c; /* setmark pV, line 41 */
542
+ z->I[2] = z->c;
549
543
  lab0:
550
544
  z->c = c1;
551
545
  }
552
- { int c5 = z->c; /* do, line 43 */
553
- { /* gopast */ /* grouping v, line 44 */
546
+ { int c5 = z->c;
547
+ {
554
548
  int ret = out_grouping_U(z, g_v, 97, 252, 1);
555
549
  if (ret < 0) goto lab7;
556
550
  z->c += ret;
557
551
  }
558
- { /* gopast */ /* non v, line 44 */
552
+ {
559
553
  int ret = in_grouping_U(z, g_v, 97, 252, 1);
560
554
  if (ret < 0) goto lab7;
561
555
  z->c += ret;
562
556
  }
563
- z->I[1] = z->c; /* setmark p1, line 44 */
564
- { /* gopast */ /* grouping v, line 45 */
557
+ z->I[1] = z->c;
558
+ {
565
559
  int ret = out_grouping_U(z, g_v, 97, 252, 1);
566
560
  if (ret < 0) goto lab7;
567
561
  z->c += ret;
568
562
  }
569
- { /* gopast */ /* non v, line 45 */
563
+ {
570
564
  int ret = in_grouping_U(z, g_v, 97, 252, 1);
571
565
  if (ret < 0) goto lab7;
572
566
  z->c += ret;
573
567
  }
574
- z->I[2] = z->c; /* setmark p2, line 45 */
568
+ z->I[0] = z->c;
575
569
  lab7:
576
570
  z->c = c5;
577
571
  }
@@ -580,44 +574,43 @@ static int r_mark_regions(struct SN_env * z) {
580
574
 
581
575
  static int r_postlude(struct SN_env * z) {
582
576
  int among_var;
583
- while(1) { /* repeat, line 49 */
577
+ while(1) {
584
578
  int c1 = z->c;
585
- z->bra = z->c; /* [, line 50 */
579
+ z->bra = z->c;
586
580
  if (z->c + 1 >= z->l || z->p[z->c + 1] >> 5 != 5 || !((67641858 >> (z->p[z->c + 1] & 0x1f)) & 1)) among_var = 6; else
587
- among_var = find_among(z, a_0, 6); /* substring, line 50 */
581
+ among_var = find_among(z, a_0, 6);
588
582
  if (!(among_var)) goto lab0;
589
- z->ket = z->c; /* ], line 50 */
590
- switch(among_var) {
591
- case 0: goto lab0;
583
+ z->ket = z->c;
584
+ switch (among_var) {
592
585
  case 1:
593
- { int ret = slice_from_s(z, 1, s_0); /* <-, line 51 */
586
+ { int ret = slice_from_s(z, 1, s_0);
594
587
  if (ret < 0) return ret;
595
588
  }
596
589
  break;
597
590
  case 2:
598
- { int ret = slice_from_s(z, 1, s_1); /* <-, line 52 */
591
+ { int ret = slice_from_s(z, 1, s_1);
599
592
  if (ret < 0) return ret;
600
593
  }
601
594
  break;
602
595
  case 3:
603
- { int ret = slice_from_s(z, 1, s_2); /* <-, line 53 */
596
+ { int ret = slice_from_s(z, 1, s_2);
604
597
  if (ret < 0) return ret;
605
598
  }
606
599
  break;
607
600
  case 4:
608
- { int ret = slice_from_s(z, 1, s_3); /* <-, line 54 */
601
+ { int ret = slice_from_s(z, 1, s_3);
609
602
  if (ret < 0) return ret;
610
603
  }
611
604
  break;
612
605
  case 5:
613
- { int ret = slice_from_s(z, 1, s_4); /* <-, line 55 */
606
+ { int ret = slice_from_s(z, 1, s_4);
614
607
  if (ret < 0) return ret;
615
608
  }
616
609
  break;
617
610
  case 6:
618
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
611
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
619
612
  if (ret < 0) goto lab0;
620
- z->c = ret; /* next, line 57 */
613
+ z->c = ret;
621
614
  }
622
615
  break;
623
616
  }
@@ -630,7 +623,7 @@ static int r_postlude(struct SN_env * z) {
630
623
  }
631
624
 
632
625
  static int r_RV(struct SN_env * z) {
633
- if (!(z->I[0] <= z->c)) return 0;
626
+ if (!(z->I[2] <= z->c)) return 0;
634
627
  return 1;
635
628
  }
636
629
 
@@ -640,63 +633,62 @@ static int r_R1(struct SN_env * z) {
640
633
  }
641
634
 
642
635
  static int r_R2(struct SN_env * z) {
643
- if (!(z->I[2] <= z->c)) return 0;
636
+ if (!(z->I[0] <= z->c)) return 0;
644
637
  return 1;
645
638
  }
646
639
 
647
640
  static int r_attached_pronoun(struct SN_env * z) {
648
641
  int among_var;
649
- z->ket = z->c; /* [, line 68 */
642
+ z->ket = z->c;
650
643
  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((557090 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
651
- if (!(find_among_b(z, a_1, 13))) return 0; /* substring, line 68 */
652
- z->bra = z->c; /* ], line 68 */
644
+ if (!(find_among_b(z, a_1, 13))) return 0;
645
+ z->bra = z->c;
653
646
  if (z->c - 1 <= z->lb || (z->p[z->c - 1] != 111 && z->p[z->c - 1] != 114)) return 0;
654
- among_var = find_among_b(z, a_2, 11); /* substring, line 72 */
647
+ among_var = find_among_b(z, a_2, 11);
655
648
  if (!(among_var)) return 0;
656
649
  { int ret = r_RV(z);
657
- if (ret == 0) return 0; /* call RV, line 72 */
658
- if (ret < 0) return ret;
650
+ if (ret <= 0) return ret;
659
651
  }
660
- switch(among_var) {
661
- case 0: return 0;
652
+ switch (among_var) {
662
653
  case 1:
663
- z->bra = z->c; /* ], line 73 */
664
- { int ret = slice_from_s(z, 5, s_5); /* <-, line 73 */
654
+ z->bra = z->c;
655
+ { int ret = slice_from_s(z, 5, s_5);
665
656
  if (ret < 0) return ret;
666
657
  }
667
658
  break;
668
659
  case 2:
669
- z->bra = z->c; /* ], line 74 */
670
- { int ret = slice_from_s(z, 4, s_6); /* <-, line 74 */
660
+ z->bra = z->c;
661
+ { int ret = slice_from_s(z, 4, s_6);
671
662
  if (ret < 0) return ret;
672
663
  }
673
664
  break;
674
665
  case 3:
675
- z->bra = z->c; /* ], line 75 */
676
- { int ret = slice_from_s(z, 2, s_7); /* <-, line 75 */
666
+ z->bra = z->c;
667
+ { int ret = slice_from_s(z, 2, s_7);
677
668
  if (ret < 0) return ret;
678
669
  }
679
670
  break;
680
671
  case 4:
681
- z->bra = z->c; /* ], line 76 */
682
- { int ret = slice_from_s(z, 2, s_8); /* <-, line 76 */
672
+ z->bra = z->c;
673
+ { int ret = slice_from_s(z, 2, s_8);
683
674
  if (ret < 0) return ret;
684
675
  }
685
676
  break;
686
677
  case 5:
687
- z->bra = z->c; /* ], line 77 */
688
- { int ret = slice_from_s(z, 2, s_9); /* <-, line 77 */
678
+ z->bra = z->c;
679
+ { int ret = slice_from_s(z, 2, s_9);
689
680
  if (ret < 0) return ret;
690
681
  }
691
682
  break;
692
683
  case 6:
693
- { int ret = slice_del(z); /* delete, line 81 */
684
+ { int ret = slice_del(z);
694
685
  if (ret < 0) return ret;
695
686
  }
696
687
  break;
697
688
  case 7:
698
- if (!(eq_s_b(z, 1, s_10))) return 0;
699
- { int ret = slice_del(z); /* delete, line 82 */
689
+ if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0;
690
+ z->c--;
691
+ { int ret = slice_del(z);
700
692
  if (ret < 0) return ret;
701
693
  }
702
694
  break;
@@ -706,39 +698,36 @@ static int r_attached_pronoun(struct SN_env * z) {
706
698
 
707
699
  static int r_standard_suffix(struct SN_env * z) {
708
700
  int among_var;
709
- z->ket = z->c; /* [, line 87 */
701
+ z->ket = z->c;
710
702
  if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((835634 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
711
- among_var = find_among_b(z, a_6, 46); /* substring, line 87 */
703
+ among_var = find_among_b(z, a_6, 46);
712
704
  if (!(among_var)) return 0;
713
- z->bra = z->c; /* ], line 87 */
714
- switch(among_var) {
715
- case 0: return 0;
705
+ z->bra = z->c;
706
+ switch (among_var) {
716
707
  case 1:
717
708
  { int ret = r_R2(z);
718
- if (ret == 0) return 0; /* call R2, line 99 */
719
- if (ret < 0) return ret;
709
+ if (ret <= 0) return ret;
720
710
  }
721
- { int ret = slice_del(z); /* delete, line 99 */
711
+ { int ret = slice_del(z);
722
712
  if (ret < 0) return ret;
723
713
  }
724
714
  break;
725
715
  case 2:
726
716
  { int ret = r_R2(z);
727
- if (ret == 0) return 0; /* call R2, line 105 */
728
- if (ret < 0) return ret;
717
+ if (ret <= 0) return ret;
729
718
  }
730
- { int ret = slice_del(z); /* delete, line 105 */
719
+ { int ret = slice_del(z);
731
720
  if (ret < 0) return ret;
732
721
  }
733
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 106 */
734
- z->ket = z->c; /* [, line 106 */
735
- if (!(eq_s_b(z, 2, s_11))) { z->c = z->l - m_keep; goto lab0; }
736
- z->bra = z->c; /* ], line 106 */
722
+ { int m1 = z->l - z->c; (void)m1;
723
+ z->ket = z->c;
724
+ if (!(eq_s_b(z, 2, s_10))) { z->c = z->l - m1; goto lab0; }
725
+ z->bra = z->c;
737
726
  { int ret = r_R2(z);
738
- if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call R2, line 106 */
727
+ if (ret == 0) { z->c = z->l - m1; goto lab0; }
739
728
  if (ret < 0) return ret;
740
729
  }
741
- { int ret = slice_del(z); /* delete, line 106 */
730
+ { int ret = slice_del(z);
742
731
  if (ret < 0) return ret;
743
732
  }
744
733
  lab0:
@@ -747,63 +736,58 @@ static int r_standard_suffix(struct SN_env * z) {
747
736
  break;
748
737
  case 3:
749
738
  { int ret = r_R2(z);
750
- if (ret == 0) return 0; /* call R2, line 111 */
751
- if (ret < 0) return ret;
739
+ if (ret <= 0) return ret;
752
740
  }
753
- { int ret = slice_from_s(z, 3, s_12); /* <-, line 111 */
741
+ { int ret = slice_from_s(z, 3, s_11);
754
742
  if (ret < 0) return ret;
755
743
  }
756
744
  break;
757
745
  case 4:
758
746
  { int ret = r_R2(z);
759
- if (ret == 0) return 0; /* call R2, line 115 */
760
- if (ret < 0) return ret;
747
+ if (ret <= 0) return ret;
761
748
  }
762
- { int ret = slice_from_s(z, 1, s_13); /* <-, line 115 */
749
+ { int ret = slice_from_s(z, 1, s_12);
763
750
  if (ret < 0) return ret;
764
751
  }
765
752
  break;
766
753
  case 5:
767
754
  { int ret = r_R2(z);
768
- if (ret == 0) return 0; /* call R2, line 119 */
769
- if (ret < 0) return ret;
755
+ if (ret <= 0) return ret;
770
756
  }
771
- { int ret = slice_from_s(z, 4, s_14); /* <-, line 119 */
757
+ { int ret = slice_from_s(z, 4, s_13);
772
758
  if (ret < 0) return ret;
773
759
  }
774
760
  break;
775
761
  case 6:
776
762
  { int ret = r_R1(z);
777
- if (ret == 0) return 0; /* call R1, line 123 */
778
- if (ret < 0) return ret;
763
+ if (ret <= 0) return ret;
779
764
  }
780
- { int ret = slice_del(z); /* delete, line 123 */
765
+ { int ret = slice_del(z);
781
766
  if (ret < 0) return ret;
782
767
  }
783
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 124 */
784
- z->ket = z->c; /* [, line 125 */
785
- if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab1; }
786
- among_var = find_among_b(z, a_3, 4); /* substring, line 125 */
787
- if (!(among_var)) { z->c = z->l - m_keep; goto lab1; }
788
- z->bra = z->c; /* ], line 125 */
768
+ { int m2 = z->l - z->c; (void)m2;
769
+ z->ket = z->c;
770
+ if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4718616 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m2; goto lab1; }
771
+ among_var = find_among_b(z, a_3, 4);
772
+ if (!(among_var)) { z->c = z->l - m2; goto lab1; }
773
+ z->bra = z->c;
789
774
  { int ret = r_R2(z);
790
- if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 125 */
775
+ if (ret == 0) { z->c = z->l - m2; goto lab1; }
791
776
  if (ret < 0) return ret;
792
777
  }
793
- { int ret = slice_del(z); /* delete, line 125 */
778
+ { int ret = slice_del(z);
794
779
  if (ret < 0) return ret;
795
780
  }
796
- switch(among_var) {
797
- case 0: { z->c = z->l - m_keep; goto lab1; }
781
+ switch (among_var) {
798
782
  case 1:
799
- z->ket = z->c; /* [, line 126 */
800
- if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m_keep; goto lab1; }
801
- z->bra = z->c; /* ], line 126 */
783
+ z->ket = z->c;
784
+ if (!(eq_s_b(z, 2, s_14))) { z->c = z->l - m2; goto lab1; }
785
+ z->bra = z->c;
802
786
  { int ret = r_R2(z);
803
- if (ret == 0) { z->c = z->l - m_keep; goto lab1; } /* call R2, line 126 */
787
+ if (ret == 0) { z->c = z->l - m2; goto lab1; }
804
788
  if (ret < 0) return ret;
805
789
  }
806
- { int ret = slice_del(z); /* delete, line 126 */
790
+ { int ret = slice_del(z);
807
791
  if (ret < 0) return ret;
808
792
  }
809
793
  break;
@@ -814,29 +798,22 @@ static int r_standard_suffix(struct SN_env * z) {
814
798
  break;
815
799
  case 7:
816
800
  { int ret = r_R2(z);
817
- if (ret == 0) return 0; /* call R2, line 135 */
818
- if (ret < 0) return ret;
801
+ if (ret <= 0) return ret;
819
802
  }
820
- { int ret = slice_del(z); /* delete, line 135 */
803
+ { int ret = slice_del(z);
821
804
  if (ret < 0) return ret;
822
805
  }
823
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 136 */
824
- z->ket = z->c; /* [, line 137 */
825
- if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m_keep; goto lab2; }
826
- among_var = find_among_b(z, a_4, 3); /* substring, line 137 */
827
- if (!(among_var)) { z->c = z->l - m_keep; goto lab2; }
828
- z->bra = z->c; /* ], line 137 */
829
- switch(among_var) {
830
- case 0: { z->c = z->l - m_keep; goto lab2; }
831
- case 1:
832
- { int ret = r_R2(z);
833
- if (ret == 0) { z->c = z->l - m_keep; goto lab2; } /* call R2, line 140 */
834
- if (ret < 0) return ret;
835
- }
836
- { int ret = slice_del(z); /* delete, line 140 */
837
- if (ret < 0) return ret;
838
- }
839
- break;
806
+ { int m3 = z->l - z->c; (void)m3;
807
+ z->ket = z->c;
808
+ if (z->c - 3 <= z->lb || z->p[z->c - 1] != 101) { z->c = z->l - m3; goto lab2; }
809
+ if (!(find_among_b(z, a_4, 3))) { z->c = z->l - m3; goto lab2; }
810
+ z->bra = z->c;
811
+ { int ret = r_R2(z);
812
+ if (ret == 0) { z->c = z->l - m3; goto lab2; }
813
+ if (ret < 0) return ret;
814
+ }
815
+ { int ret = slice_del(z);
816
+ if (ret < 0) return ret;
840
817
  }
841
818
  lab2:
842
819
  ;
@@ -844,29 +821,22 @@ static int r_standard_suffix(struct SN_env * z) {
844
821
  break;
845
822
  case 8:
846
823
  { int ret = r_R2(z);
847
- if (ret == 0) return 0; /* call R2, line 147 */
848
- if (ret < 0) return ret;
824
+ if (ret <= 0) return ret;
849
825
  }
850
- { int ret = slice_del(z); /* delete, line 147 */
826
+ { int ret = slice_del(z);
851
827
  if (ret < 0) return ret;
852
828
  }
853
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 148 */
854
- z->ket = z->c; /* [, line 149 */
855
- if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m_keep; goto lab3; }
856
- among_var = find_among_b(z, a_5, 3); /* substring, line 149 */
857
- if (!(among_var)) { z->c = z->l - m_keep; goto lab3; }
858
- z->bra = z->c; /* ], line 149 */
859
- switch(among_var) {
860
- case 0: { z->c = z->l - m_keep; goto lab3; }
861
- case 1:
862
- { int ret = r_R2(z);
863
- if (ret == 0) { z->c = z->l - m_keep; goto lab3; } /* call R2, line 152 */
864
- if (ret < 0) return ret;
865
- }
866
- { int ret = slice_del(z); /* delete, line 152 */
867
- if (ret < 0) return ret;
868
- }
869
- break;
829
+ { int m4 = z->l - z->c; (void)m4;
830
+ z->ket = z->c;
831
+ if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((4198408 >> (z->p[z->c - 1] & 0x1f)) & 1)) { z->c = z->l - m4; goto lab3; }
832
+ if (!(find_among_b(z, a_5, 3))) { z->c = z->l - m4; goto lab3; }
833
+ z->bra = z->c;
834
+ { int ret = r_R2(z);
835
+ if (ret == 0) { z->c = z->l - m4; goto lab3; }
836
+ if (ret < 0) return ret;
837
+ }
838
+ { int ret = slice_del(z);
839
+ if (ret < 0) return ret;
870
840
  }
871
841
  lab3:
872
842
  ;
@@ -874,21 +844,20 @@ static int r_standard_suffix(struct SN_env * z) {
874
844
  break;
875
845
  case 9:
876
846
  { int ret = r_R2(z);
877
- if (ret == 0) return 0; /* call R2, line 159 */
878
- if (ret < 0) return ret;
847
+ if (ret <= 0) return ret;
879
848
  }
880
- { int ret = slice_del(z); /* delete, line 159 */
849
+ { int ret = slice_del(z);
881
850
  if (ret < 0) return ret;
882
851
  }
883
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 160 */
884
- z->ket = z->c; /* [, line 161 */
885
- if (!(eq_s_b(z, 2, s_16))) { z->c = z->l - m_keep; goto lab4; }
886
- z->bra = z->c; /* ], line 161 */
852
+ { int m5 = z->l - z->c; (void)m5;
853
+ z->ket = z->c;
854
+ if (!(eq_s_b(z, 2, s_15))) { z->c = z->l - m5; goto lab4; }
855
+ z->bra = z->c;
887
856
  { int ret = r_R2(z);
888
- if (ret == 0) { z->c = z->l - m_keep; goto lab4; } /* call R2, line 161 */
857
+ if (ret == 0) { z->c = z->l - m5; goto lab4; }
889
858
  if (ret < 0) return ret;
890
859
  }
891
- { int ret = slice_del(z); /* delete, line 161 */
860
+ { int ret = slice_del(z);
892
861
  if (ret < 0) return ret;
893
862
  }
894
863
  lab4:
@@ -900,64 +869,55 @@ static int r_standard_suffix(struct SN_env * z) {
900
869
  }
901
870
 
902
871
  static int r_y_verb_suffix(struct SN_env * z) {
903
- int among_var;
904
- { int mlimit; /* setlimit, line 168 */
905
- int m1 = z->l - z->c; (void)m1;
906
- if (z->c < z->I[0]) return 0;
907
- z->c = z->I[0]; /* tomark, line 168 */
908
- mlimit = z->lb; z->lb = z->c;
909
- z->c = z->l - m1;
910
- z->ket = z->c; /* [, line 168 */
911
- among_var = find_among_b(z, a_7, 12); /* substring, line 168 */
912
- if (!(among_var)) { z->lb = mlimit; return 0; }
913
- z->bra = z->c; /* ], line 168 */
914
- z->lb = mlimit;
872
+
873
+ { int mlimit1;
874
+ if (z->c < z->I[2]) return 0;
875
+ mlimit1 = z->lb; z->lb = z->I[2];
876
+ z->ket = z->c;
877
+ if (!(find_among_b(z, a_7, 12))) { z->lb = mlimit1; return 0; }
878
+ z->bra = z->c;
879
+ z->lb = mlimit1;
915
880
  }
916
- switch(among_var) {
917
- case 0: return 0;
918
- case 1:
919
- if (!(eq_s_b(z, 1, s_17))) return 0;
920
- { int ret = slice_del(z); /* delete, line 171 */
921
- if (ret < 0) return ret;
922
- }
923
- break;
881
+ if (z->c <= z->lb || z->p[z->c - 1] != 'u') return 0;
882
+ z->c--;
883
+ { int ret = slice_del(z);
884
+ if (ret < 0) return ret;
924
885
  }
925
886
  return 1;
926
887
  }
927
888
 
928
889
  static int r_verb_suffix(struct SN_env * z) {
929
890
  int among_var;
930
- { int mlimit; /* setlimit, line 176 */
931
- int m1 = z->l - z->c; (void)m1;
932
- if (z->c < z->I[0]) return 0;
933
- z->c = z->I[0]; /* tomark, line 176 */
934
- mlimit = z->lb; z->lb = z->c;
935
- z->c = z->l - m1;
936
- z->ket = z->c; /* [, line 176 */
937
- among_var = find_among_b(z, a_8, 96); /* substring, line 176 */
938
- if (!(among_var)) { z->lb = mlimit; return 0; }
939
- z->bra = z->c; /* ], line 176 */
940
- z->lb = mlimit;
891
+
892
+ { int mlimit1;
893
+ if (z->c < z->I[2]) return 0;
894
+ mlimit1 = z->lb; z->lb = z->I[2];
895
+ z->ket = z->c;
896
+ among_var = find_among_b(z, a_8, 96);
897
+ if (!(among_var)) { z->lb = mlimit1; return 0; }
898
+ z->bra = z->c;
899
+ z->lb = mlimit1;
941
900
  }
942
- switch(among_var) {
943
- case 0: return 0;
901
+ switch (among_var) {
944
902
  case 1:
945
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 179 */
946
- if (!(eq_s_b(z, 1, s_18))) { z->c = z->l - m_keep; goto lab0; }
947
- { int m_test = z->l - z->c; /* test, line 179 */
948
- if (!(eq_s_b(z, 1, s_19))) { z->c = z->l - m_keep; goto lab0; }
949
- z->c = z->l - m_test;
903
+ { int m2 = z->l - z->c; (void)m2;
904
+ if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m2; goto lab0; }
905
+ z->c--;
906
+ { int m_test3 = z->l - z->c;
907
+ if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m2; goto lab0; }
908
+ z->c--;
909
+ z->c = z->l - m_test3;
950
910
  }
951
911
  lab0:
952
912
  ;
953
913
  }
954
- z->bra = z->c; /* ], line 179 */
955
- { int ret = slice_del(z); /* delete, line 179 */
914
+ z->bra = z->c;
915
+ { int ret = slice_del(z);
956
916
  if (ret < 0) return ret;
957
917
  }
958
918
  break;
959
919
  case 2:
960
- { int ret = slice_del(z); /* delete, line 200 */
920
+ { int ret = slice_del(z);
961
921
  if (ret < 0) return ret;
962
922
  }
963
923
  break;
@@ -967,42 +927,41 @@ static int r_verb_suffix(struct SN_env * z) {
967
927
 
968
928
  static int r_residual_suffix(struct SN_env * z) {
969
929
  int among_var;
970
- z->ket = z->c; /* [, line 205 */
971
- among_var = find_among_b(z, a_9, 8); /* substring, line 205 */
930
+ z->ket = z->c;
931
+ among_var = find_among_b(z, a_9, 8);
972
932
  if (!(among_var)) return 0;
973
- z->bra = z->c; /* ], line 205 */
974
- switch(among_var) {
975
- case 0: return 0;
933
+ z->bra = z->c;
934
+ switch (among_var) {
976
935
  case 1:
977
936
  { int ret = r_RV(z);
978
- if (ret == 0) return 0; /* call RV, line 208 */
979
- if (ret < 0) return ret;
937
+ if (ret <= 0) return ret;
980
938
  }
981
- { int ret = slice_del(z); /* delete, line 208 */
939
+ { int ret = slice_del(z);
982
940
  if (ret < 0) return ret;
983
941
  }
984
942
  break;
985
943
  case 2:
986
944
  { int ret = r_RV(z);
987
- if (ret == 0) return 0; /* call RV, line 210 */
988
- if (ret < 0) return ret;
945
+ if (ret <= 0) return ret;
989
946
  }
990
- { int ret = slice_del(z); /* delete, line 210 */
947
+ { int ret = slice_del(z);
991
948
  if (ret < 0) return ret;
992
949
  }
993
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 210 */
994
- z->ket = z->c; /* [, line 210 */
995
- if (!(eq_s_b(z, 1, s_20))) { z->c = z->l - m_keep; goto lab0; }
996
- z->bra = z->c; /* ], line 210 */
997
- { int m_test = z->l - z->c; /* test, line 210 */
998
- if (!(eq_s_b(z, 1, s_21))) { z->c = z->l - m_keep; goto lab0; }
999
- z->c = z->l - m_test;
950
+ { int m1 = z->l - z->c; (void)m1;
951
+ z->ket = z->c;
952
+ if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->c = z->l - m1; goto lab0; }
953
+ z->c--;
954
+ z->bra = z->c;
955
+ { int m_test2 = z->l - z->c;
956
+ if (z->c <= z->lb || z->p[z->c - 1] != 'g') { z->c = z->l - m1; goto lab0; }
957
+ z->c--;
958
+ z->c = z->l - m_test2;
1000
959
  }
1001
960
  { int ret = r_RV(z);
1002
- if (ret == 0) { z->c = z->l - m_keep; goto lab0; } /* call RV, line 210 */
961
+ if (ret == 0) { z->c = z->l - m1; goto lab0; }
1003
962
  if (ret < 0) return ret;
1004
963
  }
1005
- { int ret = slice_del(z); /* delete, line 210 */
964
+ { int ret = slice_del(z);
1006
965
  if (ret < 0) return ret;
1007
966
  }
1008
967
  lab0:
@@ -1014,70 +973,60 @@ static int r_residual_suffix(struct SN_env * z) {
1014
973
  }
1015
974
 
1016
975
  extern int spanish_UTF_8_stem(struct SN_env * z) {
1017
- { int c1 = z->c; /* do, line 216 */
1018
- { int ret = r_mark_regions(z);
1019
- if (ret == 0) goto lab0; /* call mark_regions, line 216 */
1020
- if (ret < 0) return ret;
1021
- }
1022
- lab0:
1023
- z->c = c1;
976
+
977
+ { int ret = r_mark_regions(z);
978
+ if (ret < 0) return ret;
1024
979
  }
1025
- z->lb = z->c; z->c = z->l; /* backwards, line 217 */
980
+ z->lb = z->c; z->c = z->l;
1026
981
 
1027
- { int m2 = z->l - z->c; (void)m2; /* do, line 218 */
982
+ { int m1 = z->l - z->c; (void)m1;
1028
983
  { int ret = r_attached_pronoun(z);
1029
- if (ret == 0) goto lab1; /* call attached_pronoun, line 218 */
1030
984
  if (ret < 0) return ret;
1031
985
  }
1032
- lab1:
1033
- z->c = z->l - m2;
986
+ z->c = z->l - m1;
1034
987
  }
1035
- { int m3 = z->l - z->c; (void)m3; /* do, line 219 */
1036
- { int m4 = z->l - z->c; (void)m4; /* or, line 219 */
988
+ { int m2 = z->l - z->c; (void)m2;
989
+ { int m3 = z->l - z->c; (void)m3;
1037
990
  { int ret = r_standard_suffix(z);
1038
- if (ret == 0) goto lab4; /* call standard_suffix, line 219 */
991
+ if (ret == 0) goto lab2;
1039
992
  if (ret < 0) return ret;
1040
993
  }
1041
- goto lab3;
1042
- lab4:
1043
- z->c = z->l - m4;
994
+ goto lab1;
995
+ lab2:
996
+ z->c = z->l - m3;
1044
997
  { int ret = r_y_verb_suffix(z);
1045
- if (ret == 0) goto lab5; /* call y_verb_suffix, line 220 */
998
+ if (ret == 0) goto lab3;
1046
999
  if (ret < 0) return ret;
1047
1000
  }
1048
- goto lab3;
1049
- lab5:
1050
- z->c = z->l - m4;
1001
+ goto lab1;
1002
+ lab3:
1003
+ z->c = z->l - m3;
1051
1004
  { int ret = r_verb_suffix(z);
1052
- if (ret == 0) goto lab2; /* call verb_suffix, line 221 */
1005
+ if (ret == 0) goto lab0;
1053
1006
  if (ret < 0) return ret;
1054
1007
  }
1055
1008
  }
1056
- lab3:
1057
- lab2:
1058
- z->c = z->l - m3;
1009
+ lab1:
1010
+ lab0:
1011
+ z->c = z->l - m2;
1059
1012
  }
1060
- { int m5 = z->l - z->c; (void)m5; /* do, line 223 */
1013
+ { int m4 = z->l - z->c; (void)m4;
1061
1014
  { int ret = r_residual_suffix(z);
1062
- if (ret == 0) goto lab6; /* call residual_suffix, line 223 */
1063
1015
  if (ret < 0) return ret;
1064
1016
  }
1065
- lab6:
1066
- z->c = z->l - m5;
1017
+ z->c = z->l - m4;
1067
1018
  }
1068
1019
  z->c = z->lb;
1069
- { int c6 = z->c; /* do, line 225 */
1020
+ { int c5 = z->c;
1070
1021
  { int ret = r_postlude(z);
1071
- if (ret == 0) goto lab7; /* call postlude, line 225 */
1072
1022
  if (ret < 0) return ret;
1073
1023
  }
1074
- lab7:
1075
- z->c = c6;
1024
+ z->c = c5;
1076
1025
  }
1077
1026
  return 1;
1078
1027
  }
1079
1028
 
1080
- extern struct SN_env * spanish_UTF_8_create_env(void) { return SN_create_env(0, 3, 0); }
1029
+ extern struct SN_env * spanish_UTF_8_create_env(void) { return SN_create_env(0, 3); }
1081
1030
 
1082
1031
  extern void spanish_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1083
1032