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
 
@@ -29,9 +29,9 @@ static const symbol s_0_2[5] = { 'g', 'e', 'n', 'e', 'r' };
29
29
 
30
30
  static const struct among a_0[3] =
31
31
  {
32
- /* 0 */ { 5, s_0_0, -1, -1, 0},
33
- /* 1 */ { 6, s_0_1, -1, -1, 0},
34
- /* 2 */ { 5, s_0_2, -1, -1, 0}
32
+ { 5, s_0_0, -1, -1, 0},
33
+ { 6, s_0_1, -1, -1, 0},
34
+ { 5, s_0_2, -1, -1, 0}
35
35
  };
36
36
 
37
37
  static const symbol s_1_0[1] = { '\'' };
@@ -40,9 +40,9 @@ static const symbol s_1_2[2] = { '\'', 's' };
40
40
 
41
41
  static const struct among a_1[3] =
42
42
  {
43
- /* 0 */ { 1, s_1_0, -1, 1, 0},
44
- /* 1 */ { 3, s_1_1, 0, 1, 0},
45
- /* 2 */ { 2, s_1_2, -1, 1, 0}
43
+ { 1, s_1_0, -1, 1, 0},
44
+ { 3, s_1_1, 0, 1, 0},
45
+ { 2, s_1_2, -1, 1, 0}
46
46
  };
47
47
 
48
48
  static const symbol s_2_0[3] = { 'i', 'e', 'd' };
@@ -54,12 +54,12 @@ static const symbol s_2_5[2] = { 'u', 's' };
54
54
 
55
55
  static const struct among a_2[6] =
56
56
  {
57
- /* 0 */ { 3, s_2_0, -1, 2, 0},
58
- /* 1 */ { 1, s_2_1, -1, 3, 0},
59
- /* 2 */ { 3, s_2_2, 1, 2, 0},
60
- /* 3 */ { 4, s_2_3, 1, 1, 0},
61
- /* 4 */ { 2, s_2_4, 1, -1, 0},
62
- /* 5 */ { 2, s_2_5, 1, -1, 0}
57
+ { 3, s_2_0, -1, 2, 0},
58
+ { 1, s_2_1, -1, 3, 0},
59
+ { 3, s_2_2, 1, 2, 0},
60
+ { 4, s_2_3, 1, 1, 0},
61
+ { 2, s_2_4, 1, -1, 0},
62
+ { 2, s_2_5, 1, -1, 0}
63
63
  };
64
64
 
65
65
  static const symbol s_3_1[2] = { 'b', 'b' };
@@ -77,19 +77,19 @@ static const symbol s_3_12[2] = { 'i', 'z' };
77
77
 
78
78
  static const struct among a_3[13] =
79
79
  {
80
- /* 0 */ { 0, 0, -1, 3, 0},
81
- /* 1 */ { 2, s_3_1, 0, 2, 0},
82
- /* 2 */ { 2, s_3_2, 0, 2, 0},
83
- /* 3 */ { 2, s_3_3, 0, 2, 0},
84
- /* 4 */ { 2, s_3_4, 0, 2, 0},
85
- /* 5 */ { 2, s_3_5, 0, 1, 0},
86
- /* 6 */ { 2, s_3_6, 0, 2, 0},
87
- /* 7 */ { 2, s_3_7, 0, 2, 0},
88
- /* 8 */ { 2, s_3_8, 0, 2, 0},
89
- /* 9 */ { 2, s_3_9, 0, 2, 0},
90
- /* 10 */ { 2, s_3_10, 0, 1, 0},
91
- /* 11 */ { 2, s_3_11, 0, 2, 0},
92
- /* 12 */ { 2, s_3_12, 0, 1, 0}
80
+ { 0, 0, -1, 3, 0},
81
+ { 2, s_3_1, 0, 2, 0},
82
+ { 2, s_3_2, 0, 2, 0},
83
+ { 2, s_3_3, 0, 2, 0},
84
+ { 2, s_3_4, 0, 2, 0},
85
+ { 2, s_3_5, 0, 1, 0},
86
+ { 2, s_3_6, 0, 2, 0},
87
+ { 2, s_3_7, 0, 2, 0},
88
+ { 2, s_3_8, 0, 2, 0},
89
+ { 2, s_3_9, 0, 2, 0},
90
+ { 2, s_3_10, 0, 1, 0},
91
+ { 2, s_3_11, 0, 2, 0},
92
+ { 2, s_3_12, 0, 1, 0}
93
93
  };
94
94
 
95
95
  static const symbol s_4_0[2] = { 'e', 'd' };
@@ -101,12 +101,12 @@ static const symbol s_4_5[5] = { 'i', 'n', 'g', 'l', 'y' };
101
101
 
102
102
  static const struct among a_4[6] =
103
103
  {
104
- /* 0 */ { 2, s_4_0, -1, 2, 0},
105
- /* 1 */ { 3, s_4_1, 0, 1, 0},
106
- /* 2 */ { 3, s_4_2, -1, 2, 0},
107
- /* 3 */ { 4, s_4_3, -1, 2, 0},
108
- /* 4 */ { 5, s_4_4, 3, 1, 0},
109
- /* 5 */ { 5, s_4_5, -1, 2, 0}
104
+ { 2, s_4_0, -1, 2, 0},
105
+ { 3, s_4_1, 0, 1, 0},
106
+ { 3, s_4_2, -1, 2, 0},
107
+ { 4, s_4_3, -1, 2, 0},
108
+ { 5, s_4_4, 3, 1, 0},
109
+ { 5, s_4_5, -1, 2, 0}
110
110
  };
111
111
 
112
112
  static const symbol s_5_0[4] = { 'a', 'n', 'c', 'i' };
@@ -136,30 +136,30 @@ static const symbol s_5_23[7] = { 'o', 'u', 's', 'n', 'e', 's', 's' };
136
136
 
137
137
  static const struct among a_5[24] =
138
138
  {
139
- /* 0 */ { 4, s_5_0, -1, 3, 0},
140
- /* 1 */ { 4, s_5_1, -1, 2, 0},
141
- /* 2 */ { 3, s_5_2, -1, 13, 0},
142
- /* 3 */ { 2, s_5_3, -1, 16, 0},
143
- /* 4 */ { 3, s_5_4, 3, 12, 0},
144
- /* 5 */ { 4, s_5_5, 4, 4, 0},
145
- /* 6 */ { 4, s_5_6, 3, 8, 0},
146
- /* 7 */ { 5, s_5_7, 3, 14, 0},
147
- /* 8 */ { 6, s_5_8, 3, 15, 0},
148
- /* 9 */ { 5, s_5_9, 3, 10, 0},
149
- /* 10 */ { 5, s_5_10, 3, 5, 0},
150
- /* 11 */ { 5, s_5_11, -1, 8, 0},
151
- /* 12 */ { 6, s_5_12, -1, 12, 0},
152
- /* 13 */ { 5, s_5_13, -1, 11, 0},
153
- /* 14 */ { 6, s_5_14, -1, 1, 0},
154
- /* 15 */ { 7, s_5_15, 14, 7, 0},
155
- /* 16 */ { 5, s_5_16, -1, 8, 0},
156
- /* 17 */ { 5, s_5_17, -1, 7, 0},
157
- /* 18 */ { 7, s_5_18, 17, 6, 0},
158
- /* 19 */ { 4, s_5_19, -1, 6, 0},
159
- /* 20 */ { 4, s_5_20, -1, 7, 0},
160
- /* 21 */ { 7, s_5_21, -1, 11, 0},
161
- /* 22 */ { 7, s_5_22, -1, 9, 0},
162
- /* 23 */ { 7, s_5_23, -1, 10, 0}
139
+ { 4, s_5_0, -1, 3, 0},
140
+ { 4, s_5_1, -1, 2, 0},
141
+ { 3, s_5_2, -1, 13, 0},
142
+ { 2, s_5_3, -1, 15, 0},
143
+ { 3, s_5_4, 3, 12, 0},
144
+ { 4, s_5_5, 4, 4, 0},
145
+ { 4, s_5_6, 3, 8, 0},
146
+ { 5, s_5_7, 3, 9, 0},
147
+ { 6, s_5_8, 3, 14, 0},
148
+ { 5, s_5_9, 3, 10, 0},
149
+ { 5, s_5_10, 3, 5, 0},
150
+ { 5, s_5_11, -1, 8, 0},
151
+ { 6, s_5_12, -1, 12, 0},
152
+ { 5, s_5_13, -1, 11, 0},
153
+ { 6, s_5_14, -1, 1, 0},
154
+ { 7, s_5_15, 14, 7, 0},
155
+ { 5, s_5_16, -1, 8, 0},
156
+ { 5, s_5_17, -1, 7, 0},
157
+ { 7, s_5_18, 17, 6, 0},
158
+ { 4, s_5_19, -1, 6, 0},
159
+ { 4, s_5_20, -1, 7, 0},
160
+ { 7, s_5_21, -1, 11, 0},
161
+ { 7, s_5_22, -1, 9, 0},
162
+ { 7, s_5_23, -1, 10, 0}
163
163
  };
164
164
 
165
165
  static const symbol s_6_0[5] = { 'i', 'c', 'a', 't', 'e' };
@@ -174,15 +174,15 @@ static const symbol s_6_8[4] = { 'n', 'e', 's', 's' };
174
174
 
175
175
  static const struct among a_6[9] =
176
176
  {
177
- /* 0 */ { 5, s_6_0, -1, 4, 0},
178
- /* 1 */ { 5, s_6_1, -1, 6, 0},
179
- /* 2 */ { 5, s_6_2, -1, 3, 0},
180
- /* 3 */ { 5, s_6_3, -1, 4, 0},
181
- /* 4 */ { 4, s_6_4, -1, 4, 0},
182
- /* 5 */ { 6, s_6_5, -1, 1, 0},
183
- /* 6 */ { 7, s_6_6, 5, 2, 0},
184
- /* 7 */ { 3, s_6_7, -1, 5, 0},
185
- /* 8 */ { 4, s_6_8, -1, 5, 0}
177
+ { 5, s_6_0, -1, 4, 0},
178
+ { 5, s_6_1, -1, 6, 0},
179
+ { 5, s_6_2, -1, 3, 0},
180
+ { 5, s_6_3, -1, 4, 0},
181
+ { 4, s_6_4, -1, 4, 0},
182
+ { 6, s_6_5, -1, 1, 0},
183
+ { 7, s_6_6, 5, 2, 0},
184
+ { 3, s_6_7, -1, 5, 0},
185
+ { 4, s_6_8, -1, 5, 0}
186
186
  };
187
187
 
188
188
  static const symbol s_7_0[2] = { 'i', 'c' };
@@ -206,24 +206,24 @@ static const symbol s_7_17[5] = { 'e', 'm', 'e', 'n', 't' };
206
206
 
207
207
  static const struct among a_7[18] =
208
208
  {
209
- /* 0 */ { 2, s_7_0, -1, 1, 0},
210
- /* 1 */ { 4, s_7_1, -1, 1, 0},
211
- /* 2 */ { 4, s_7_2, -1, 1, 0},
212
- /* 3 */ { 4, s_7_3, -1, 1, 0},
213
- /* 4 */ { 4, s_7_4, -1, 1, 0},
214
- /* 5 */ { 3, s_7_5, -1, 1, 0},
215
- /* 6 */ { 3, s_7_6, -1, 1, 0},
216
- /* 7 */ { 3, s_7_7, -1, 1, 0},
217
- /* 8 */ { 3, s_7_8, -1, 1, 0},
218
- /* 9 */ { 2, s_7_9, -1, 1, 0},
219
- /* 10 */ { 3, s_7_10, -1, 1, 0},
220
- /* 11 */ { 3, s_7_11, -1, 2, 0},
221
- /* 12 */ { 2, s_7_12, -1, 1, 0},
222
- /* 13 */ { 3, s_7_13, -1, 1, 0},
223
- /* 14 */ { 3, s_7_14, -1, 1, 0},
224
- /* 15 */ { 3, s_7_15, -1, 1, 0},
225
- /* 16 */ { 4, s_7_16, 15, 1, 0},
226
- /* 17 */ { 5, s_7_17, 16, 1, 0}
209
+ { 2, s_7_0, -1, 1, 0},
210
+ { 4, s_7_1, -1, 1, 0},
211
+ { 4, s_7_2, -1, 1, 0},
212
+ { 4, s_7_3, -1, 1, 0},
213
+ { 4, s_7_4, -1, 1, 0},
214
+ { 3, s_7_5, -1, 1, 0},
215
+ { 3, s_7_6, -1, 1, 0},
216
+ { 3, s_7_7, -1, 1, 0},
217
+ { 3, s_7_8, -1, 1, 0},
218
+ { 2, s_7_9, -1, 1, 0},
219
+ { 3, s_7_10, -1, 1, 0},
220
+ { 3, s_7_11, -1, 2, 0},
221
+ { 2, s_7_12, -1, 1, 0},
222
+ { 3, s_7_13, -1, 1, 0},
223
+ { 3, s_7_14, -1, 1, 0},
224
+ { 3, s_7_15, -1, 1, 0},
225
+ { 4, s_7_16, 15, 1, 0},
226
+ { 5, s_7_17, 16, 1, 0}
227
227
  };
228
228
 
229
229
  static const symbol s_8_0[1] = { 'e' };
@@ -231,8 +231,8 @@ static const symbol s_8_1[1] = { 'l' };
231
231
 
232
232
  static const struct among a_8[2] =
233
233
  {
234
- /* 0 */ { 1, s_8_0, -1, 1, 0},
235
- /* 1 */ { 1, s_8_1, -1, 2, 0}
234
+ { 1, s_8_0, -1, 1, 0},
235
+ { 1, s_8_1, -1, 2, 0}
236
236
  };
237
237
 
238
238
  static const symbol s_9_0[7] = { 's', 'u', 'c', 'c', 'e', 'e', 'd' };
@@ -246,14 +246,14 @@ static const symbol s_9_7[6] = { 'o', 'u', 't', 'i', 'n', 'g' };
246
246
 
247
247
  static const struct among a_9[8] =
248
248
  {
249
- /* 0 */ { 7, s_9_0, -1, -1, 0},
250
- /* 1 */ { 7, s_9_1, -1, -1, 0},
251
- /* 2 */ { 6, s_9_2, -1, -1, 0},
252
- /* 3 */ { 7, s_9_3, -1, -1, 0},
253
- /* 4 */ { 6, s_9_4, -1, -1, 0},
254
- /* 5 */ { 7, s_9_5, -1, -1, 0},
255
- /* 6 */ { 7, s_9_6, -1, -1, 0},
256
- /* 7 */ { 6, s_9_7, -1, -1, 0}
249
+ { 7, s_9_0, -1, -1, 0},
250
+ { 7, s_9_1, -1, -1, 0},
251
+ { 6, s_9_2, -1, -1, 0},
252
+ { 7, s_9_3, -1, -1, 0},
253
+ { 6, s_9_4, -1, -1, 0},
254
+ { 7, s_9_5, -1, -1, 0},
255
+ { 7, s_9_6, -1, -1, 0},
256
+ { 6, s_9_7, -1, -1, 0}
257
257
  };
258
258
 
259
259
  static const symbol s_10_0[5] = { 'a', 'n', 'd', 'e', 's' };
@@ -277,24 +277,24 @@ static const symbol s_10_17[4] = { 'u', 'g', 'l', 'y' };
277
277
 
278
278
  static const struct among a_10[18] =
279
279
  {
280
- /* 0 */ { 5, s_10_0, -1, -1, 0},
281
- /* 1 */ { 5, s_10_1, -1, -1, 0},
282
- /* 2 */ { 4, s_10_2, -1, -1, 0},
283
- /* 3 */ { 6, s_10_3, -1, -1, 0},
284
- /* 4 */ { 5, s_10_4, -1, 3, 0},
285
- /* 5 */ { 5, s_10_5, -1, 9, 0},
286
- /* 6 */ { 6, s_10_6, -1, 7, 0},
287
- /* 7 */ { 4, s_10_7, -1, -1, 0},
288
- /* 8 */ { 4, s_10_8, -1, 6, 0},
289
- /* 9 */ { 5, s_10_9, -1, 4, 0},
290
- /* 10 */ { 4, s_10_10, -1, -1, 0},
291
- /* 11 */ { 4, s_10_11, -1, 10, 0},
292
- /* 12 */ { 6, s_10_12, -1, 11, 0},
293
- /* 13 */ { 5, s_10_13, -1, 2, 0},
294
- /* 14 */ { 4, s_10_14, -1, 1, 0},
295
- /* 15 */ { 3, s_10_15, -1, -1, 0},
296
- /* 16 */ { 5, s_10_16, -1, 5, 0},
297
- /* 17 */ { 4, s_10_17, -1, 8, 0}
280
+ { 5, s_10_0, -1, -1, 0},
281
+ { 5, s_10_1, -1, -1, 0},
282
+ { 4, s_10_2, -1, -1, 0},
283
+ { 6, s_10_3, -1, -1, 0},
284
+ { 5, s_10_4, -1, 3, 0},
285
+ { 5, s_10_5, -1, 9, 0},
286
+ { 6, s_10_6, -1, 7, 0},
287
+ { 4, s_10_7, -1, -1, 0},
288
+ { 4, s_10_8, -1, 6, 0},
289
+ { 5, s_10_9, -1, 4, 0},
290
+ { 4, s_10_10, -1, -1, 0},
291
+ { 4, s_10_11, -1, 10, 0},
292
+ { 6, s_10_12, -1, 11, 0},
293
+ { 5, s_10_13, -1, 2, 0},
294
+ { 4, s_10_14, -1, 1, 0},
295
+ { 3, s_10_15, -1, -1, 0},
296
+ { 5, s_10_16, -1, 5, 0},
297
+ { 4, s_10_17, -1, 8, 0}
298
298
  };
299
299
 
300
300
  static const unsigned char g_v[] = { 17, 65, 16, 1 };
@@ -303,102 +303,94 @@ static const unsigned char g_v_WXY[] = { 1, 17, 65, 208, 1 };
303
303
 
304
304
  static const unsigned char g_valid_LI[] = { 55, 141, 2 };
305
305
 
306
- static const symbol s_0[] = { '\'' };
307
- static const symbol s_1[] = { 'y' };
308
- static const symbol s_2[] = { 'Y' };
309
- static const symbol s_3[] = { 'y' };
310
- static const symbol s_4[] = { 'Y' };
311
- static const symbol s_5[] = { 's', 's' };
312
- static const symbol s_6[] = { 'i' };
313
- static const symbol s_7[] = { 'i', 'e' };
314
- static const symbol s_8[] = { 'e', 'e' };
315
- static const symbol s_9[] = { 'e' };
316
- static const symbol s_10[] = { 'e' };
317
- static const symbol s_11[] = { 'y' };
318
- static const symbol s_12[] = { 'Y' };
319
- static const symbol s_13[] = { 'i' };
320
- static const symbol s_14[] = { 't', 'i', 'o', 'n' };
321
- static const symbol s_15[] = { 'e', 'n', 'c', 'e' };
322
- static const symbol s_16[] = { 'a', 'n', 'c', 'e' };
323
- static const symbol s_17[] = { 'a', 'b', 'l', 'e' };
324
- static const symbol s_18[] = { 'e', 'n', 't' };
325
- static const symbol s_19[] = { 'i', 'z', 'e' };
326
- static const symbol s_20[] = { 'a', 't', 'e' };
327
- static const symbol s_21[] = { 'a', 'l' };
328
- static const symbol s_22[] = { 'f', 'u', 'l' };
329
- static const symbol s_23[] = { 'o', 'u', 's' };
330
- static const symbol s_24[] = { 'i', 'v', 'e' };
331
- static const symbol s_25[] = { 'b', 'l', 'e' };
332
- static const symbol s_26[] = { 'l' };
333
- static const symbol s_27[] = { 'o', 'g' };
334
- static const symbol s_28[] = { 'f', 'u', 'l' };
335
- static const symbol s_29[] = { 'l', 'e', 's', 's' };
336
- static const symbol s_30[] = { 't', 'i', 'o', 'n' };
337
- static const symbol s_31[] = { 'a', 't', 'e' };
338
- static const symbol s_32[] = { 'a', 'l' };
339
- static const symbol s_33[] = { 'i', 'c' };
340
- static const symbol s_34[] = { 's' };
341
- static const symbol s_35[] = { 't' };
342
- static const symbol s_36[] = { 'l' };
343
- static const symbol s_37[] = { 's', 'k', 'i' };
344
- static const symbol s_38[] = { 's', 'k', 'y' };
345
- static const symbol s_39[] = { 'd', 'i', 'e' };
346
- static const symbol s_40[] = { 'l', 'i', 'e' };
347
- static const symbol s_41[] = { 't', 'i', 'e' };
348
- static const symbol s_42[] = { 'i', 'd', 'l' };
349
- static const symbol s_43[] = { 'g', 'e', 'n', 't', 'l' };
350
- static const symbol s_44[] = { 'u', 'g', 'l', 'i' };
351
- static const symbol s_45[] = { 'e', 'a', 'r', 'l', 'i' };
352
- static const symbol s_46[] = { 'o', 'n', 'l', 'i' };
353
- static const symbol s_47[] = { 's', 'i', 'n', 'g', 'l' };
354
- static const symbol s_48[] = { 'Y' };
355
- static const symbol s_49[] = { 'y' };
306
+ static const symbol s_0[] = { 'Y' };
307
+ static const symbol s_1[] = { 'Y' };
308
+ static const symbol s_2[] = { 's', 's' };
309
+ static const symbol s_3[] = { 'i' };
310
+ static const symbol s_4[] = { 'i', 'e' };
311
+ static const symbol s_5[] = { 'e', 'e' };
312
+ static const symbol s_6[] = { 'e' };
313
+ static const symbol s_7[] = { 'e' };
314
+ static const symbol s_8[] = { 'i' };
315
+ static const symbol s_9[] = { 't', 'i', 'o', 'n' };
316
+ static const symbol s_10[] = { 'e', 'n', 'c', 'e' };
317
+ static const symbol s_11[] = { 'a', 'n', 'c', 'e' };
318
+ static const symbol s_12[] = { 'a', 'b', 'l', 'e' };
319
+ static const symbol s_13[] = { 'e', 'n', 't' };
320
+ static const symbol s_14[] = { 'i', 'z', 'e' };
321
+ static const symbol s_15[] = { 'a', 't', 'e' };
322
+ static const symbol s_16[] = { 'a', 'l' };
323
+ static const symbol s_17[] = { 'f', 'u', 'l' };
324
+ static const symbol s_18[] = { 'o', 'u', 's' };
325
+ static const symbol s_19[] = { 'i', 'v', 'e' };
326
+ static const symbol s_20[] = { 'b', 'l', 'e' };
327
+ static const symbol s_21[] = { 'o', 'g' };
328
+ static const symbol s_22[] = { 'l', 'e', 's', 's' };
329
+ static const symbol s_23[] = { 't', 'i', 'o', 'n' };
330
+ static const symbol s_24[] = { 'a', 't', 'e' };
331
+ static const symbol s_25[] = { 'a', 'l' };
332
+ static const symbol s_26[] = { 'i', 'c' };
333
+ static const symbol s_27[] = { 's', 'k', 'i' };
334
+ static const symbol s_28[] = { 's', 'k', 'y' };
335
+ static const symbol s_29[] = { 'd', 'i', 'e' };
336
+ static const symbol s_30[] = { 'l', 'i', 'e' };
337
+ static const symbol s_31[] = { 't', 'i', 'e' };
338
+ static const symbol s_32[] = { 'i', 'd', 'l' };
339
+ static const symbol s_33[] = { 'g', 'e', 'n', 't', 'l' };
340
+ static const symbol s_34[] = { 'u', 'g', 'l', 'i' };
341
+ static const symbol s_35[] = { 'e', 'a', 'r', 'l', 'i' };
342
+ static const symbol s_36[] = { 'o', 'n', 'l', 'i' };
343
+ static const symbol s_37[] = { 's', 'i', 'n', 'g', 'l' };
344
+ static const symbol s_38[] = { 'y' };
356
345
 
357
346
  static int r_prelude(struct SN_env * z) {
358
- z->B[0] = 0; /* unset Y_found, line 26 */
359
- { int c1 = z->c; /* do, line 27 */
360
- z->bra = z->c; /* [, line 27 */
361
- if (!(eq_s(z, 1, s_0))) goto lab0;
362
- z->ket = z->c; /* ], line 27 */
363
- { int ret = slice_del(z); /* delete, line 27 */
347
+ z->I[2] = 0;
348
+ { int c1 = z->c;
349
+ z->bra = z->c;
350
+ if (z->c == z->l || z->p[z->c] != '\'') goto lab0;
351
+ z->c++;
352
+ z->ket = z->c;
353
+ { int ret = slice_del(z);
364
354
  if (ret < 0) return ret;
365
355
  }
366
356
  lab0:
367
357
  z->c = c1;
368
358
  }
369
- { int c2 = z->c; /* do, line 28 */
370
- z->bra = z->c; /* [, line 28 */
371
- if (!(eq_s(z, 1, s_1))) goto lab1;
372
- z->ket = z->c; /* ], line 28 */
373
- { int ret = slice_from_s(z, 1, s_2); /* <-, line 28 */
359
+ { int c2 = z->c;
360
+ z->bra = z->c;
361
+ if (z->c == z->l || z->p[z->c] != 'y') goto lab1;
362
+ z->c++;
363
+ z->ket = z->c;
364
+ { int ret = slice_from_s(z, 1, s_0);
374
365
  if (ret < 0) return ret;
375
366
  }
376
- z->B[0] = 1; /* set Y_found, line 28 */
367
+ z->I[2] = 1;
377
368
  lab1:
378
369
  z->c = c2;
379
370
  }
380
- { int c3 = z->c; /* do, line 29 */
381
- while(1) { /* repeat, line 29 */
371
+ { int c3 = z->c;
372
+ while(1) {
382
373
  int c4 = z->c;
383
- while(1) { /* goto, line 29 */
374
+ while(1) {
384
375
  int c5 = z->c;
385
376
  if (in_grouping_U(z, g_v, 97, 121, 0)) goto lab4;
386
- z->bra = z->c; /* [, line 29 */
387
- if (!(eq_s(z, 1, s_3))) goto lab4;
388
- z->ket = z->c; /* ], line 29 */
377
+ z->bra = z->c;
378
+ if (z->c == z->l || z->p[z->c] != 'y') goto lab4;
379
+ z->c++;
380
+ z->ket = z->c;
389
381
  z->c = c5;
390
382
  break;
391
383
  lab4:
392
384
  z->c = c5;
393
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
385
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
394
386
  if (ret < 0) goto lab3;
395
- z->c = ret; /* goto, line 29 */
387
+ z->c = ret;
396
388
  }
397
389
  }
398
- { int ret = slice_from_s(z, 1, s_4); /* <-, line 29 */
390
+ { int ret = slice_from_s(z, 1, s_1);
399
391
  if (ret < 0) return ret;
400
392
  }
401
- z->B[0] = 1; /* set Y_found, line 29 */
393
+ z->I[2] = 1;
402
394
  continue;
403
395
  lab3:
404
396
  z->c = c4;
@@ -410,39 +402,39 @@ static int r_prelude(struct SN_env * z) {
410
402
  }
411
403
 
412
404
  static int r_mark_regions(struct SN_env * z) {
413
- z->I[0] = z->l;
414
405
  z->I[1] = z->l;
415
- { int c1 = z->c; /* do, line 35 */
416
- { int c2 = z->c; /* or, line 41 */
406
+ z->I[0] = z->l;
407
+ { int c1 = z->c;
408
+ { int c2 = z->c;
417
409
  if (z->c + 4 >= z->l || z->p[z->c + 4] >> 5 != 3 || !((2375680 >> (z->p[z->c + 4] & 0x1f)) & 1)) goto lab2;
418
- if (!(find_among(z, a_0, 3))) goto lab2; /* among, line 36 */
410
+ if (!(find_among(z, a_0, 3))) goto lab2;
419
411
  goto lab1;
420
412
  lab2:
421
413
  z->c = c2;
422
- { /* gopast */ /* grouping v, line 41 */
414
+ {
423
415
  int ret = out_grouping_U(z, g_v, 97, 121, 1);
424
416
  if (ret < 0) goto lab0;
425
417
  z->c += ret;
426
418
  }
427
- { /* gopast */ /* non v, line 41 */
419
+ {
428
420
  int ret = in_grouping_U(z, g_v, 97, 121, 1);
429
421
  if (ret < 0) goto lab0;
430
422
  z->c += ret;
431
423
  }
432
424
  }
433
425
  lab1:
434
- z->I[0] = z->c; /* setmark p1, line 42 */
435
- { /* gopast */ /* grouping v, line 43 */
426
+ z->I[1] = z->c;
427
+ {
436
428
  int ret = out_grouping_U(z, g_v, 97, 121, 1);
437
429
  if (ret < 0) goto lab0;
438
430
  z->c += ret;
439
431
  }
440
- { /* gopast */ /* non v, line 43 */
432
+ {
441
433
  int ret = in_grouping_U(z, g_v, 97, 121, 1);
442
434
  if (ret < 0) goto lab0;
443
435
  z->c += ret;
444
436
  }
445
- z->I[1] = z->c; /* setmark p2, line 43 */
437
+ z->I[0] = z->c;
446
438
  lab0:
447
439
  z->c = c1;
448
440
  }
@@ -450,7 +442,7 @@ static int r_mark_regions(struct SN_env * z) {
450
442
  }
451
443
 
452
444
  static int r_shortv(struct SN_env * z) {
453
- { int m1 = z->l - z->c; (void)m1; /* or, line 51 */
445
+ { int m1 = z->l - z->c; (void)m1;
454
446
  if (out_grouping_b_U(z, g_v_WXY, 89, 121, 0)) goto lab1;
455
447
  if (in_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
456
448
  if (out_grouping_b_U(z, g_v, 97, 121, 0)) goto lab1;
@@ -459,82 +451,75 @@ static int r_shortv(struct SN_env * z) {
459
451
  z->c = z->l - m1;
460
452
  if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
461
453
  if (in_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
462
- if (z->c > z->lb) return 0; /* atlimit, line 52 */
454
+ if (z->c > z->lb) return 0;
463
455
  }
464
456
  lab0:
465
457
  return 1;
466
458
  }
467
459
 
468
460
  static int r_R1(struct SN_env * z) {
469
- if (!(z->I[0] <= z->c)) return 0;
461
+ if (!(z->I[1] <= z->c)) return 0;
470
462
  return 1;
471
463
  }
472
464
 
473
465
  static int r_R2(struct SN_env * z) {
474
- if (!(z->I[1] <= z->c)) return 0;
466
+ if (!(z->I[0] <= z->c)) return 0;
475
467
  return 1;
476
468
  }
477
469
 
478
470
  static int r_Step_1a(struct SN_env * z) {
479
471
  int among_var;
480
- { int m_keep = z->l - z->c;/* (void) m_keep;*/ /* try, line 59 */
481
- z->ket = z->c; /* [, line 60 */
482
- if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m_keep; goto lab0; }
483
- among_var = find_among_b(z, a_1, 3); /* substring, line 60 */
484
- if (!(among_var)) { z->c = z->l - m_keep; goto lab0; }
485
- z->bra = z->c; /* ], line 60 */
486
- switch(among_var) {
487
- case 0: { z->c = z->l - m_keep; goto lab0; }
488
- case 1:
489
- { int ret = slice_del(z); /* delete, line 62 */
490
- if (ret < 0) return ret;
491
- }
492
- break;
472
+ { int m1 = z->l - z->c; (void)m1;
473
+ z->ket = z->c;
474
+ if (z->c <= z->lb || (z->p[z->c - 1] != 39 && z->p[z->c - 1] != 115)) { z->c = z->l - m1; goto lab0; }
475
+ if (!(find_among_b(z, a_1, 3))) { z->c = z->l - m1; goto lab0; }
476
+ z->bra = z->c;
477
+ { int ret = slice_del(z);
478
+ if (ret < 0) return ret;
493
479
  }
494
480
  lab0:
495
481
  ;
496
482
  }
497
- z->ket = z->c; /* [, line 65 */
483
+ z->ket = z->c;
498
484
  if (z->c <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 115)) return 0;
499
- among_var = find_among_b(z, a_2, 6); /* substring, line 65 */
485
+ among_var = find_among_b(z, a_2, 6);
500
486
  if (!(among_var)) return 0;
501
- z->bra = z->c; /* ], line 65 */
502
- switch(among_var) {
503
- case 0: return 0;
487
+ z->bra = z->c;
488
+ switch (among_var) {
504
489
  case 1:
505
- { int ret = slice_from_s(z, 2, s_5); /* <-, line 66 */
490
+ { int ret = slice_from_s(z, 2, s_2);
506
491
  if (ret < 0) return ret;
507
492
  }
508
493
  break;
509
494
  case 2:
510
- { int m1 = z->l - z->c; (void)m1; /* or, line 68 */
511
- { int ret = skip_utf8(z->p, z->c, z->lb, z->l, - 2);
495
+ { int m2 = z->l - z->c; (void)m2;
496
+ { int ret = skip_b_utf8(z->p, z->c, z->lb, 2);
512
497
  if (ret < 0) goto lab2;
513
- z->c = ret; /* hop, line 68 */
498
+ z->c = ret;
514
499
  }
515
- { int ret = slice_from_s(z, 1, s_6); /* <-, line 68 */
500
+ { int ret = slice_from_s(z, 1, s_3);
516
501
  if (ret < 0) return ret;
517
502
  }
518
503
  goto lab1;
519
504
  lab2:
520
- z->c = z->l - m1;
521
- { int ret = slice_from_s(z, 2, s_7); /* <-, line 68 */
505
+ z->c = z->l - m2;
506
+ { int ret = slice_from_s(z, 2, s_4);
522
507
  if (ret < 0) return ret;
523
508
  }
524
509
  }
525
510
  lab1:
526
511
  break;
527
512
  case 3:
528
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
513
+ { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
529
514
  if (ret < 0) return 0;
530
- z->c = ret; /* next, line 69 */
515
+ z->c = ret;
531
516
  }
532
- { /* gopast */ /* grouping v, line 69 */
517
+ {
533
518
  int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
534
519
  if (ret < 0) return 0;
535
520
  z->c -= ret;
536
521
  }
537
- { int ret = slice_del(z); /* delete, line 69 */
522
+ { int ret = slice_del(z);
538
523
  if (ret < 0) return ret;
539
524
  }
540
525
  break;
@@ -544,72 +529,72 @@ static int r_Step_1a(struct SN_env * z) {
544
529
 
545
530
  static int r_Step_1b(struct SN_env * z) {
546
531
  int among_var;
547
- z->ket = z->c; /* [, line 75 */
532
+ z->ket = z->c;
548
533
  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((33554576 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
549
- among_var = find_among_b(z, a_4, 6); /* substring, line 75 */
534
+ among_var = find_among_b(z, a_4, 6);
550
535
  if (!(among_var)) return 0;
551
- z->bra = z->c; /* ], line 75 */
552
- switch(among_var) {
553
- case 0: return 0;
536
+ z->bra = z->c;
537
+ switch (among_var) {
554
538
  case 1:
555
539
  { int ret = r_R1(z);
556
- if (ret == 0) return 0; /* call R1, line 77 */
557
- if (ret < 0) return ret;
540
+ if (ret <= 0) return ret;
558
541
  }
559
- { int ret = slice_from_s(z, 2, s_8); /* <-, line 77 */
542
+ { int ret = slice_from_s(z, 2, s_5);
560
543
  if (ret < 0) return ret;
561
544
  }
562
545
  break;
563
546
  case 2:
564
- { int m_test = z->l - z->c; /* test, line 80 */
565
- { /* gopast */ /* grouping v, line 80 */
547
+ { int m_test1 = z->l - z->c;
548
+ {
566
549
  int ret = out_grouping_b_U(z, g_v, 97, 121, 1);
567
550
  if (ret < 0) return 0;
568
551
  z->c -= ret;
569
552
  }
570
- z->c = z->l - m_test;
553
+ z->c = z->l - m_test1;
571
554
  }
572
- { int ret = slice_del(z); /* delete, line 80 */
555
+ { int ret = slice_del(z);
573
556
  if (ret < 0) return ret;
574
557
  }
575
- { int m_test = z->l - z->c; /* test, line 81 */
558
+ { int m_test2 = z->l - z->c;
576
559
  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((68514004 >> (z->p[z->c - 1] & 0x1f)) & 1)) among_var = 3; else
577
- among_var = find_among_b(z, a_3, 13); /* substring, line 81 */
560
+ among_var = find_among_b(z, a_3, 13);
578
561
  if (!(among_var)) return 0;
579
- z->c = z->l - m_test;
562
+ z->c = z->l - m_test2;
580
563
  }
581
- switch(among_var) {
582
- case 0: return 0;
564
+ switch (among_var) {
583
565
  case 1:
584
- { int c_keep = z->c;
585
- int ret = insert_s(z, z->c, z->c, 1, s_9); /* <+, line 83 */
586
- z->c = c_keep;
566
+ { int ret;
567
+ { int saved_c = z->c;
568
+ ret = insert_s(z, z->c, z->c, 1, s_6);
569
+ z->c = saved_c;
570
+ }
587
571
  if (ret < 0) return ret;
588
572
  }
589
573
  break;
590
574
  case 2:
591
- z->ket = z->c; /* [, line 86 */
592
- { int ret = skip_utf8(z->p, z->c, z->lb, 0, -1);
575
+ z->ket = z->c;
576
+ { int ret = skip_b_utf8(z->p, z->c, z->lb, 1);
593
577
  if (ret < 0) return 0;
594
- z->c = ret; /* next, line 86 */
578
+ z->c = ret;
595
579
  }
596
- z->bra = z->c; /* ], line 86 */
597
- { int ret = slice_del(z); /* delete, line 86 */
580
+ z->bra = z->c;
581
+ { int ret = slice_del(z);
598
582
  if (ret < 0) return ret;
599
583
  }
600
584
  break;
601
585
  case 3:
602
- if (z->c != z->I[0]) return 0; /* atmark, line 87 */
603
- { int m_test = z->l - z->c; /* test, line 87 */
586
+ if (z->c != z->I[1]) return 0;
587
+ { int m_test3 = z->l - z->c;
604
588
  { int ret = r_shortv(z);
605
- if (ret == 0) return 0; /* call shortv, line 87 */
606
- if (ret < 0) return ret;
589
+ if (ret <= 0) return ret;
607
590
  }
608
- z->c = z->l - m_test;
591
+ z->c = z->l - m_test3;
609
592
  }
610
- { int c_keep = z->c;
611
- int ret = insert_s(z, z->c, z->c, 1, s_10); /* <+, line 87 */
612
- z->c = c_keep;
593
+ { int ret;
594
+ { int saved_c = z->c;
595
+ ret = insert_s(z, z->c, z->c, 1, s_7);
596
+ z->c = saved_c;
597
+ }
613
598
  if (ret < 0) return ret;
614
599
  }
615
600
  break;
@@ -620,24 +605,24 @@ static int r_Step_1b(struct SN_env * z) {
620
605
  }
621
606
 
622
607
  static int r_Step_1c(struct SN_env * z) {
623
- z->ket = z->c; /* [, line 94 */
624
- { int m1 = z->l - z->c; (void)m1; /* or, line 94 */
625
- if (!(eq_s_b(z, 1, s_11))) goto lab1;
608
+ z->ket = z->c;
609
+ { int m1 = z->l - z->c; (void)m1;
610
+ if (z->c <= z->lb || z->p[z->c - 1] != 'y') goto lab1;
611
+ z->c--;
626
612
  goto lab0;
627
613
  lab1:
628
614
  z->c = z->l - m1;
629
- if (!(eq_s_b(z, 1, s_12))) return 0;
615
+ if (z->c <= z->lb || z->p[z->c - 1] != 'Y') return 0;
616
+ z->c--;
630
617
  }
631
618
  lab0:
632
- z->bra = z->c; /* ], line 94 */
619
+ z->bra = z->c;
633
620
  if (out_grouping_b_U(z, g_v, 97, 121, 0)) return 0;
634
- { int m2 = z->l - z->c; (void)m2; /* not, line 95 */
635
- if (z->c > z->lb) goto lab2; /* atlimit, line 95 */
636
- return 0;
637
- lab2:
638
- z->c = z->l - m2;
639
- }
640
- { int ret = slice_from_s(z, 1, s_13); /* <-, line 96 */
621
+
622
+ if (z->c > z->lb) goto lab2;
623
+ return 0;
624
+ lab2:
625
+ { int ret = slice_from_s(z, 1, s_8);
641
626
  if (ret < 0) return ret;
642
627
  }
643
628
  return 1;
@@ -645,96 +630,90 @@ lab0:
645
630
 
646
631
  static int r_Step_2(struct SN_env * z) {
647
632
  int among_var;
648
- z->ket = z->c; /* [, line 100 */
633
+ z->ket = z->c;
649
634
  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((815616 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
650
- among_var = find_among_b(z, a_5, 24); /* substring, line 100 */
635
+ among_var = find_among_b(z, a_5, 24);
651
636
  if (!(among_var)) return 0;
652
- z->bra = z->c; /* ], line 100 */
637
+ z->bra = z->c;
653
638
  { int ret = r_R1(z);
654
- if (ret == 0) return 0; /* call R1, line 100 */
655
- if (ret < 0) return ret;
639
+ if (ret <= 0) return ret;
656
640
  }
657
- switch(among_var) {
658
- case 0: return 0;
641
+ switch (among_var) {
659
642
  case 1:
660
- { int ret = slice_from_s(z, 4, s_14); /* <-, line 101 */
643
+ { int ret = slice_from_s(z, 4, s_9);
661
644
  if (ret < 0) return ret;
662
645
  }
663
646
  break;
664
647
  case 2:
665
- { int ret = slice_from_s(z, 4, s_15); /* <-, line 102 */
648
+ { int ret = slice_from_s(z, 4, s_10);
666
649
  if (ret < 0) return ret;
667
650
  }
668
651
  break;
669
652
  case 3:
670
- { int ret = slice_from_s(z, 4, s_16); /* <-, line 103 */
653
+ { int ret = slice_from_s(z, 4, s_11);
671
654
  if (ret < 0) return ret;
672
655
  }
673
656
  break;
674
657
  case 4:
675
- { int ret = slice_from_s(z, 4, s_17); /* <-, line 104 */
658
+ { int ret = slice_from_s(z, 4, s_12);
676
659
  if (ret < 0) return ret;
677
660
  }
678
661
  break;
679
662
  case 5:
680
- { int ret = slice_from_s(z, 3, s_18); /* <-, line 105 */
663
+ { int ret = slice_from_s(z, 3, s_13);
681
664
  if (ret < 0) return ret;
682
665
  }
683
666
  break;
684
667
  case 6:
685
- { int ret = slice_from_s(z, 3, s_19); /* <-, line 107 */
668
+ { int ret = slice_from_s(z, 3, s_14);
686
669
  if (ret < 0) return ret;
687
670
  }
688
671
  break;
689
672
  case 7:
690
- { int ret = slice_from_s(z, 3, s_20); /* <-, line 109 */
673
+ { int ret = slice_from_s(z, 3, s_15);
691
674
  if (ret < 0) return ret;
692
675
  }
693
676
  break;
694
677
  case 8:
695
- { int ret = slice_from_s(z, 2, s_21); /* <-, line 111 */
678
+ { int ret = slice_from_s(z, 2, s_16);
696
679
  if (ret < 0) return ret;
697
680
  }
698
681
  break;
699
682
  case 9:
700
- { int ret = slice_from_s(z, 3, s_22); /* <-, line 112 */
683
+ { int ret = slice_from_s(z, 3, s_17);
701
684
  if (ret < 0) return ret;
702
685
  }
703
686
  break;
704
687
  case 10:
705
- { int ret = slice_from_s(z, 3, s_23); /* <-, line 114 */
688
+ { int ret = slice_from_s(z, 3, s_18);
706
689
  if (ret < 0) return ret;
707
690
  }
708
691
  break;
709
692
  case 11:
710
- { int ret = slice_from_s(z, 3, s_24); /* <-, line 116 */
693
+ { int ret = slice_from_s(z, 3, s_19);
711
694
  if (ret < 0) return ret;
712
695
  }
713
696
  break;
714
697
  case 12:
715
- { int ret = slice_from_s(z, 3, s_25); /* <-, line 118 */
698
+ { int ret = slice_from_s(z, 3, s_20);
716
699
  if (ret < 0) return ret;
717
700
  }
718
701
  break;
719
702
  case 13:
720
- if (!(eq_s_b(z, 1, s_26))) return 0;
721
- { int ret = slice_from_s(z, 2, s_27); /* <-, line 119 */
703
+ if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
704
+ z->c--;
705
+ { int ret = slice_from_s(z, 2, s_21);
722
706
  if (ret < 0) return ret;
723
707
  }
724
708
  break;
725
709
  case 14:
726
- { int ret = slice_from_s(z, 3, s_28); /* <-, line 120 */
710
+ { int ret = slice_from_s(z, 4, s_22);
727
711
  if (ret < 0) return ret;
728
712
  }
729
713
  break;
730
714
  case 15:
731
- { int ret = slice_from_s(z, 4, s_29); /* <-, line 121 */
732
- if (ret < 0) return ret;
733
- }
734
- break;
735
- case 16:
736
715
  if (in_grouping_b_U(z, g_valid_LI, 99, 116, 0)) return 0;
737
- { int ret = slice_del(z); /* delete, line 122 */
716
+ { int ret = slice_del(z);
738
717
  if (ret < 0) return ret;
739
718
  }
740
719
  break;
@@ -744,48 +723,45 @@ static int r_Step_2(struct SN_env * z) {
744
723
 
745
724
  static int r_Step_3(struct SN_env * z) {
746
725
  int among_var;
747
- z->ket = z->c; /* [, line 127 */
726
+ z->ket = z->c;
748
727
  if (z->c - 2 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((528928 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
749
- among_var = find_among_b(z, a_6, 9); /* substring, line 127 */
728
+ among_var = find_among_b(z, a_6, 9);
750
729
  if (!(among_var)) return 0;
751
- z->bra = z->c; /* ], line 127 */
730
+ z->bra = z->c;
752
731
  { int ret = r_R1(z);
753
- if (ret == 0) return 0; /* call R1, line 127 */
754
- if (ret < 0) return ret;
732
+ if (ret <= 0) return ret;
755
733
  }
756
- switch(among_var) {
757
- case 0: return 0;
734
+ switch (among_var) {
758
735
  case 1:
759
- { int ret = slice_from_s(z, 4, s_30); /* <-, line 128 */
736
+ { int ret = slice_from_s(z, 4, s_23);
760
737
  if (ret < 0) return ret;
761
738
  }
762
739
  break;
763
740
  case 2:
764
- { int ret = slice_from_s(z, 3, s_31); /* <-, line 129 */
741
+ { int ret = slice_from_s(z, 3, s_24);
765
742
  if (ret < 0) return ret;
766
743
  }
767
744
  break;
768
745
  case 3:
769
- { int ret = slice_from_s(z, 2, s_32); /* <-, line 130 */
746
+ { int ret = slice_from_s(z, 2, s_25);
770
747
  if (ret < 0) return ret;
771
748
  }
772
749
  break;
773
750
  case 4:
774
- { int ret = slice_from_s(z, 2, s_33); /* <-, line 132 */
751
+ { int ret = slice_from_s(z, 2, s_26);
775
752
  if (ret < 0) return ret;
776
753
  }
777
754
  break;
778
755
  case 5:
779
- { int ret = slice_del(z); /* delete, line 134 */
756
+ { int ret = slice_del(z);
780
757
  if (ret < 0) return ret;
781
758
  }
782
759
  break;
783
760
  case 6:
784
761
  { int ret = r_R2(z);
785
- if (ret == 0) return 0; /* call R2, line 136 */
786
- if (ret < 0) return ret;
762
+ if (ret <= 0) return ret;
787
763
  }
788
- { int ret = slice_del(z); /* delete, line 136 */
764
+ { int ret = slice_del(z);
789
765
  if (ret < 0) return ret;
790
766
  }
791
767
  break;
@@ -795,32 +771,32 @@ static int r_Step_3(struct SN_env * z) {
795
771
 
796
772
  static int r_Step_4(struct SN_env * z) {
797
773
  int among_var;
798
- z->ket = z->c; /* [, line 141 */
774
+ z->ket = z->c;
799
775
  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((1864232 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
800
- among_var = find_among_b(z, a_7, 18); /* substring, line 141 */
776
+ among_var = find_among_b(z, a_7, 18);
801
777
  if (!(among_var)) return 0;
802
- z->bra = z->c; /* ], line 141 */
778
+ z->bra = z->c;
803
779
  { int ret = r_R2(z);
804
- if (ret == 0) return 0; /* call R2, line 141 */
805
- if (ret < 0) return ret;
780
+ if (ret <= 0) return ret;
806
781
  }
807
- switch(among_var) {
808
- case 0: return 0;
782
+ switch (among_var) {
809
783
  case 1:
810
- { int ret = slice_del(z); /* delete, line 144 */
784
+ { int ret = slice_del(z);
811
785
  if (ret < 0) return ret;
812
786
  }
813
787
  break;
814
788
  case 2:
815
- { int m1 = z->l - z->c; (void)m1; /* or, line 145 */
816
- if (!(eq_s_b(z, 1, s_34))) goto lab1;
789
+ { int m1 = z->l - z->c; (void)m1;
790
+ if (z->c <= z->lb || z->p[z->c - 1] != 's') goto lab1;
791
+ z->c--;
817
792
  goto lab0;
818
793
  lab1:
819
794
  z->c = z->l - m1;
820
- if (!(eq_s_b(z, 1, s_35))) return 0;
795
+ if (z->c <= z->lb || z->p[z->c - 1] != 't') return 0;
796
+ z->c--;
821
797
  }
822
798
  lab0:
823
- { int ret = slice_del(z); /* delete, line 145 */
799
+ { int ret = slice_del(z);
824
800
  if (ret < 0) return ret;
825
801
  }
826
802
  break;
@@ -830,29 +806,27 @@ static int r_Step_4(struct SN_env * z) {
830
806
 
831
807
  static int r_Step_5(struct SN_env * z) {
832
808
  int among_var;
833
- z->ket = z->c; /* [, line 150 */
809
+ z->ket = z->c;
834
810
  if (z->c <= z->lb || (z->p[z->c - 1] != 101 && z->p[z->c - 1] != 108)) return 0;
835
- among_var = find_among_b(z, a_8, 2); /* substring, line 150 */
811
+ among_var = find_among_b(z, a_8, 2);
836
812
  if (!(among_var)) return 0;
837
- z->bra = z->c; /* ], line 150 */
838
- switch(among_var) {
839
- case 0: return 0;
813
+ z->bra = z->c;
814
+ switch (among_var) {
840
815
  case 1:
841
- { int m1 = z->l - z->c; (void)m1; /* or, line 151 */
816
+ { int m1 = z->l - z->c; (void)m1;
842
817
  { int ret = r_R2(z);
843
- if (ret == 0) goto lab1; /* call R2, line 151 */
818
+ if (ret == 0) goto lab1;
844
819
  if (ret < 0) return ret;
845
820
  }
846
821
  goto lab0;
847
822
  lab1:
848
823
  z->c = z->l - m1;
849
824
  { int ret = r_R1(z);
850
- if (ret == 0) return 0; /* call R1, line 151 */
851
- if (ret < 0) return ret;
825
+ if (ret <= 0) return ret;
852
826
  }
853
- { int m2 = z->l - z->c; (void)m2; /* not, line 151 */
827
+ { int m2 = z->l - z->c; (void)m2;
854
828
  { int ret = r_shortv(z);
855
- if (ret == 0) goto lab2; /* call shortv, line 151 */
829
+ if (ret == 0) goto lab2;
856
830
  if (ret < 0) return ret;
857
831
  }
858
832
  return 0;
@@ -861,17 +835,17 @@ static int r_Step_5(struct SN_env * z) {
861
835
  }
862
836
  }
863
837
  lab0:
864
- { int ret = slice_del(z); /* delete, line 151 */
838
+ { int ret = slice_del(z);
865
839
  if (ret < 0) return ret;
866
840
  }
867
841
  break;
868
842
  case 2:
869
843
  { int ret = r_R2(z);
870
- if (ret == 0) return 0; /* call R2, line 152 */
871
- if (ret < 0) return ret;
844
+ if (ret <= 0) return ret;
872
845
  }
873
- if (!(eq_s_b(z, 1, s_36))) return 0;
874
- { int ret = slice_del(z); /* delete, line 152 */
846
+ if (z->c <= z->lb || z->p[z->c - 1] != 'l') return 0;
847
+ z->c--;
848
+ { int ret = slice_del(z);
875
849
  if (ret < 0) return ret;
876
850
  }
877
851
  break;
@@ -880,76 +854,75 @@ static int r_Step_5(struct SN_env * z) {
880
854
  }
881
855
 
882
856
  static int r_exception2(struct SN_env * z) {
883
- z->ket = z->c; /* [, line 158 */
857
+ z->ket = z->c;
884
858
  if (z->c - 5 <= z->lb || (z->p[z->c - 1] != 100 && z->p[z->c - 1] != 103)) return 0;
885
- if (!(find_among_b(z, a_9, 8))) return 0; /* substring, line 158 */
886
- z->bra = z->c; /* ], line 158 */
887
- if (z->c > z->lb) return 0; /* atlimit, line 158 */
859
+ if (!(find_among_b(z, a_9, 8))) return 0;
860
+ z->bra = z->c;
861
+ if (z->c > z->lb) return 0;
888
862
  return 1;
889
863
  }
890
864
 
891
865
  static int r_exception1(struct SN_env * z) {
892
866
  int among_var;
893
- z->bra = z->c; /* [, line 170 */
867
+ z->bra = z->c;
894
868
  if (z->c + 2 >= z->l || z->p[z->c + 2] >> 5 != 3 || !((42750482 >> (z->p[z->c + 2] & 0x1f)) & 1)) return 0;
895
- among_var = find_among(z, a_10, 18); /* substring, line 170 */
869
+ among_var = find_among(z, a_10, 18);
896
870
  if (!(among_var)) return 0;
897
- z->ket = z->c; /* ], line 170 */
898
- if (z->c < z->l) return 0; /* atlimit, line 170 */
899
- switch(among_var) {
900
- case 0: return 0;
871
+ z->ket = z->c;
872
+ if (z->c < z->l) return 0;
873
+ switch (among_var) {
901
874
  case 1:
902
- { int ret = slice_from_s(z, 3, s_37); /* <-, line 174 */
875
+ { int ret = slice_from_s(z, 3, s_27);
903
876
  if (ret < 0) return ret;
904
877
  }
905
878
  break;
906
879
  case 2:
907
- { int ret = slice_from_s(z, 3, s_38); /* <-, line 175 */
880
+ { int ret = slice_from_s(z, 3, s_28);
908
881
  if (ret < 0) return ret;
909
882
  }
910
883
  break;
911
884
  case 3:
912
- { int ret = slice_from_s(z, 3, s_39); /* <-, line 176 */
885
+ { int ret = slice_from_s(z, 3, s_29);
913
886
  if (ret < 0) return ret;
914
887
  }
915
888
  break;
916
889
  case 4:
917
- { int ret = slice_from_s(z, 3, s_40); /* <-, line 177 */
890
+ { int ret = slice_from_s(z, 3, s_30);
918
891
  if (ret < 0) return ret;
919
892
  }
920
893
  break;
921
894
  case 5:
922
- { int ret = slice_from_s(z, 3, s_41); /* <-, line 178 */
895
+ { int ret = slice_from_s(z, 3, s_31);
923
896
  if (ret < 0) return ret;
924
897
  }
925
898
  break;
926
899
  case 6:
927
- { int ret = slice_from_s(z, 3, s_42); /* <-, line 182 */
900
+ { int ret = slice_from_s(z, 3, s_32);
928
901
  if (ret < 0) return ret;
929
902
  }
930
903
  break;
931
904
  case 7:
932
- { int ret = slice_from_s(z, 5, s_43); /* <-, line 183 */
905
+ { int ret = slice_from_s(z, 5, s_33);
933
906
  if (ret < 0) return ret;
934
907
  }
935
908
  break;
936
909
  case 8:
937
- { int ret = slice_from_s(z, 4, s_44); /* <-, line 184 */
910
+ { int ret = slice_from_s(z, 4, s_34);
938
911
  if (ret < 0) return ret;
939
912
  }
940
913
  break;
941
914
  case 9:
942
- { int ret = slice_from_s(z, 5, s_45); /* <-, line 185 */
915
+ { int ret = slice_from_s(z, 5, s_35);
943
916
  if (ret < 0) return ret;
944
917
  }
945
918
  break;
946
919
  case 10:
947
- { int ret = slice_from_s(z, 4, s_46); /* <-, line 186 */
920
+ { int ret = slice_from_s(z, 4, s_36);
948
921
  if (ret < 0) return ret;
949
922
  }
950
923
  break;
951
924
  case 11:
952
- { int ret = slice_from_s(z, 5, s_47); /* <-, line 187 */
925
+ { int ret = slice_from_s(z, 5, s_37);
953
926
  if (ret < 0) return ret;
954
927
  }
955
928
  break;
@@ -958,24 +931,25 @@ static int r_exception1(struct SN_env * z) {
958
931
  }
959
932
 
960
933
  static int r_postlude(struct SN_env * z) {
961
- if (!(z->B[0])) return 0; /* Boolean test Y_found, line 203 */
962
- while(1) { /* repeat, line 203 */
934
+ if (!(z->I[2])) return 0;
935
+ while(1) {
963
936
  int c1 = z->c;
964
- while(1) { /* goto, line 203 */
937
+ while(1) {
965
938
  int c2 = z->c;
966
- z->bra = z->c; /* [, line 203 */
967
- if (!(eq_s(z, 1, s_48))) goto lab1;
968
- z->ket = z->c; /* ], line 203 */
939
+ z->bra = z->c;
940
+ if (z->c == z->l || z->p[z->c] != 'Y') goto lab1;
941
+ z->c++;
942
+ z->ket = z->c;
969
943
  z->c = c2;
970
944
  break;
971
945
  lab1:
972
946
  z->c = c2;
973
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
947
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
974
948
  if (ret < 0) goto lab0;
975
- z->c = ret; /* goto, line 203 */
949
+ z->c = ret;
976
950
  }
977
951
  }
978
- { int ret = slice_from_s(z, 1, s_49); /* <-, line 203 */
952
+ { int ret = slice_from_s(z, 1, s_38);
979
953
  if (ret < 0) return ret;
980
954
  }
981
955
  continue;
@@ -987,18 +961,18 @@ static int r_postlude(struct SN_env * z) {
987
961
  }
988
962
 
989
963
  extern int english_UTF_8_stem(struct SN_env * z) {
990
- { int c1 = z->c; /* or, line 207 */
964
+ { int c1 = z->c;
991
965
  { int ret = r_exception1(z);
992
- if (ret == 0) goto lab1; /* call exception1, line 207 */
966
+ if (ret == 0) goto lab1;
993
967
  if (ret < 0) return ret;
994
968
  }
995
969
  goto lab0;
996
970
  lab1:
997
971
  z->c = c1;
998
- { int c2 = z->c; /* not, line 208 */
999
- { int ret = skip_utf8(z->p, z->c, 0, z->l, + 3);
972
+ { int c2 = z->c;
973
+ { int ret = skip_utf8(z->p, z->c, z->l, 3);
1000
974
  if (ret < 0) goto lab3;
1001
- z->c = ret; /* hop, line 208 */
975
+ z->c = ret;
1002
976
  }
1003
977
  goto lab2;
1004
978
  lab3:
@@ -1007,105 +981,81 @@ extern int english_UTF_8_stem(struct SN_env * z) {
1007
981
  goto lab0;
1008
982
  lab2:
1009
983
  z->c = c1;
1010
- { int c3 = z->c; /* do, line 209 */
1011
- { int ret = r_prelude(z);
1012
- if (ret == 0) goto lab4; /* call prelude, line 209 */
1013
- if (ret < 0) return ret;
1014
- }
1015
- lab4:
1016
- z->c = c3;
984
+
985
+ { int ret = r_prelude(z);
986
+ if (ret < 0) return ret;
1017
987
  }
1018
- { int c4 = z->c; /* do, line 210 */
1019
- { int ret = r_mark_regions(z);
1020
- if (ret == 0) goto lab5; /* call mark_regions, line 210 */
1021
- if (ret < 0) return ret;
1022
- }
1023
- lab5:
1024
- z->c = c4;
988
+
989
+ { int ret = r_mark_regions(z);
990
+ if (ret < 0) return ret;
1025
991
  }
1026
- z->lb = z->c; z->c = z->l; /* backwards, line 211 */
992
+ z->lb = z->c; z->c = z->l;
1027
993
 
1028
- { int m5 = z->l - z->c; (void)m5; /* do, line 213 */
994
+ { int m3 = z->l - z->c; (void)m3;
1029
995
  { int ret = r_Step_1a(z);
1030
- if (ret == 0) goto lab6; /* call Step_1a, line 213 */
1031
996
  if (ret < 0) return ret;
1032
997
  }
1033
- lab6:
1034
- z->c = z->l - m5;
998
+ z->c = z->l - m3;
1035
999
  }
1036
- { int m6 = z->l - z->c; (void)m6; /* or, line 215 */
1000
+ { int m4 = z->l - z->c; (void)m4;
1037
1001
  { int ret = r_exception2(z);
1038
- if (ret == 0) goto lab8; /* call exception2, line 215 */
1002
+ if (ret == 0) goto lab5;
1039
1003
  if (ret < 0) return ret;
1040
1004
  }
1041
- goto lab7;
1042
- lab8:
1043
- z->c = z->l - m6;
1044
- { int m7 = z->l - z->c; (void)m7; /* do, line 217 */
1005
+ goto lab4;
1006
+ lab5:
1007
+ z->c = z->l - m4;
1008
+ { int m5 = z->l - z->c; (void)m5;
1045
1009
  { int ret = r_Step_1b(z);
1046
- if (ret == 0) goto lab9; /* call Step_1b, line 217 */
1047
1010
  if (ret < 0) return ret;
1048
1011
  }
1049
- lab9:
1050
- z->c = z->l - m7;
1012
+ z->c = z->l - m5;
1051
1013
  }
1052
- { int m8 = z->l - z->c; (void)m8; /* do, line 218 */
1014
+ { int m6 = z->l - z->c; (void)m6;
1053
1015
  { int ret = r_Step_1c(z);
1054
- if (ret == 0) goto lab10; /* call Step_1c, line 218 */
1055
1016
  if (ret < 0) return ret;
1056
1017
  }
1057
- lab10:
1058
- z->c = z->l - m8;
1018
+ z->c = z->l - m6;
1059
1019
  }
1060
- { int m9 = z->l - z->c; (void)m9; /* do, line 220 */
1020
+ { int m7 = z->l - z->c; (void)m7;
1061
1021
  { int ret = r_Step_2(z);
1062
- if (ret == 0) goto lab11; /* call Step_2, line 220 */
1063
1022
  if (ret < 0) return ret;
1064
1023
  }
1065
- lab11:
1066
- z->c = z->l - m9;
1024
+ z->c = z->l - m7;
1067
1025
  }
1068
- { int m10 = z->l - z->c; (void)m10; /* do, line 221 */
1026
+ { int m8 = z->l - z->c; (void)m8;
1069
1027
  { int ret = r_Step_3(z);
1070
- if (ret == 0) goto lab12; /* call Step_3, line 221 */
1071
1028
  if (ret < 0) return ret;
1072
1029
  }
1073
- lab12:
1074
- z->c = z->l - m10;
1030
+ z->c = z->l - m8;
1075
1031
  }
1076
- { int m11 = z->l - z->c; (void)m11; /* do, line 222 */
1032
+ { int m9 = z->l - z->c; (void)m9;
1077
1033
  { int ret = r_Step_4(z);
1078
- if (ret == 0) goto lab13; /* call Step_4, line 222 */
1079
1034
  if (ret < 0) return ret;
1080
1035
  }
1081
- lab13:
1082
- z->c = z->l - m11;
1036
+ z->c = z->l - m9;
1083
1037
  }
1084
- { int m12 = z->l - z->c; (void)m12; /* do, line 224 */
1038
+ { int m10 = z->l - z->c; (void)m10;
1085
1039
  { int ret = r_Step_5(z);
1086
- if (ret == 0) goto lab14; /* call Step_5, line 224 */
1087
1040
  if (ret < 0) return ret;
1088
1041
  }
1089
- lab14:
1090
- z->c = z->l - m12;
1042
+ z->c = z->l - m10;
1091
1043
  }
1092
1044
  }
1093
- lab7:
1045
+ lab4:
1094
1046
  z->c = z->lb;
1095
- { int c13 = z->c; /* do, line 227 */
1047
+ { int c11 = z->c;
1096
1048
  { int ret = r_postlude(z);
1097
- if (ret == 0) goto lab15; /* call postlude, line 227 */
1098
1049
  if (ret < 0) return ret;
1099
1050
  }
1100
- lab15:
1101
- z->c = c13;
1051
+ z->c = c11;
1102
1052
  }
1103
1053
  }
1104
1054
  lab0:
1105
1055
  return 1;
1106
1056
  }
1107
1057
 
1108
- extern struct SN_env * english_UTF_8_create_env(void) { return SN_create_env(0, 2, 1); }
1058
+ extern struct SN_env * english_UTF_8_create_env(void) { return SN_create_env(0, 3); }
1109
1059
 
1110
1060
  extern void english_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
1111
1061