isomorfeus-ferret 0.12.2 → 0.12.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +612 -612
  3. data/README.md +80 -44
  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/frb_search.c +14 -2
  7. data/ext/isomorfeus_ferret_ext/frb_store.c +34 -5
  8. data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
  9. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
  10. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +12 -15
  11. data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
  12. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
  13. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
  14. data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
  15. data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
  16. data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
  17. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
  18. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
  19. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
  20. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
  21. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
  22. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
  23. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
  24. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
  25. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
  26. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
  27. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
  28. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
  29. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
  30. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
  31. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
  32. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
  33. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
  34. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
  35. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
  36. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
  37. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
  38. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
  39. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
  40. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
  41. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
  42. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
  43. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
  44. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
  45. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
  46. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
  47. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
  48. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
  49. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
  50. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
  51. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
  52. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
  53. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
  54. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
  55. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
  56. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
  57. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
  58. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
  59. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
  60. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
  61. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
  62. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
  63. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
  64. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
  65. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
  66. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
  67. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
  68. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
  69. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
  70. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
  71. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
  72. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
  73. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
  74. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
  75. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
  76. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
  77. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
  78. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
  79. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
  80. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
  81. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
  82. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
  83. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
  84. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
  85. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
  86. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
  87. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
  88. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
  89. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
  90. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
  91. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
  92. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
  93. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
  94. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
  95. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
  96. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
  97. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
  98. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
  99. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
  100. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
  101. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
  102. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
  103. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
  104. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
  105. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
  106. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
  107. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
  108. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
  109. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
  110. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
  111. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
  112. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
  113. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
  114. data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
  115. data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
  116. data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
  117. data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
  118. data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
  119. data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
  120. data/ext/isomorfeus_ferret_ext/test.c +7 -1
  121. data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
  122. data/lib/isomorfeus/ferret/index/index.rb +1 -1
  123. data/lib/isomorfeus/ferret/version.rb +1 -1
  124. metadata +43 -7
  125. 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
 
@@ -24,9 +24,9 @@ static const symbol s_0_2[1] = { 'U' };
24
24
 
25
25
  static const struct among a_0[3] =
26
26
  {
27
- /* 0 */ { 0, 0, -1, 3, 0},
28
- /* 1 */ { 1, s_0_1, 0, 1, 0},
29
- /* 2 */ { 1, s_0_2, 0, 2, 0}
27
+ { 0, 0, -1, 3, 0},
28
+ { 1, s_0_1, 0, 1, 0},
29
+ { 1, s_0_2, 0, 2, 0}
30
30
  };
31
31
 
32
32
  static const symbol s_1_0[2] = { 'e', 'a' };
@@ -48,22 +48,22 @@ static const symbol s_1_15[5] = { 'i', 'i', 'l', 'o', 'r' };
48
48
 
49
49
  static const struct among a_1[16] =
50
50
  {
51
- /* 0 */ { 2, s_1_0, -1, 3, 0},
52
- /* 1 */ { 4, s_1_1, -1, 7, 0},
53
- /* 2 */ { 3, s_1_2, -1, 2, 0},
54
- /* 3 */ { 3, s_1_3, -1, 4, 0},
55
- /* 4 */ { 4, s_1_4, -1, 7, 0},
56
- /* 5 */ { 3, s_1_5, -1, 3, 0},
57
- /* 6 */ { 3, s_1_6, -1, 5, 0},
58
- /* 7 */ { 4, s_1_7, 6, 4, 0},
59
- /* 8 */ { 3, s_1_8, -1, 4, 0},
60
- /* 9 */ { 4, s_1_9, -1, 6, 0},
61
- /* 10 */ { 2, s_1_10, -1, 4, 0},
62
- /* 11 */ { 4, s_1_11, -1, 1, 0},
63
- /* 12 */ { 2, s_1_12, -1, 1, 0},
64
- /* 13 */ { 4, s_1_13, -1, 3, 0},
65
- /* 14 */ { 4, s_1_14, -1, 4, 0},
66
- /* 15 */ { 5, s_1_15, 14, 4, 0}
51
+ { 2, s_1_0, -1, 3, 0},
52
+ { 4, s_1_1, -1, 7, 0},
53
+ { 3, s_1_2, -1, 2, 0},
54
+ { 3, s_1_3, -1, 4, 0},
55
+ { 4, s_1_4, -1, 7, 0},
56
+ { 3, s_1_5, -1, 3, 0},
57
+ { 3, s_1_6, -1, 5, 0},
58
+ { 4, s_1_7, 6, 4, 0},
59
+ { 3, s_1_8, -1, 4, 0},
60
+ { 4, s_1_9, -1, 6, 0},
61
+ { 2, s_1_10, -1, 4, 0},
62
+ { 4, s_1_11, -1, 1, 0},
63
+ { 2, s_1_12, -1, 1, 0},
64
+ { 4, s_1_13, -1, 3, 0},
65
+ { 4, s_1_14, -1, 4, 0},
66
+ { 5, s_1_15, 14, 4, 0}
67
67
  };
68
68
 
69
69
  static const symbol s_2_0[5] = { 'i', 'c', 'a', 'l', 'a' };
@@ -115,52 +115,52 @@ static const symbol s_2_45[5] = { 'i', 't', 'i', 'v', 0xE3 };
115
115
 
116
116
  static const struct among a_2[46] =
117
117
  {
118
- /* 0 */ { 5, s_2_0, -1, 4, 0},
119
- /* 1 */ { 5, s_2_1, -1, 4, 0},
120
- /* 2 */ { 5, s_2_2, -1, 5, 0},
121
- /* 3 */ { 5, s_2_3, -1, 6, 0},
122
- /* 4 */ { 5, s_2_4, -1, 4, 0},
123
- /* 5 */ { 6, s_2_5, -1, 5, 0},
124
- /* 6 */ { 6, s_2_6, -1, 6, 0},
125
- /* 7 */ { 6, s_2_7, -1, 5, 0},
126
- /* 8 */ { 6, s_2_8, -1, 6, 0},
127
- /* 9 */ { 6, s_2_9, -1, 5, 0},
128
- /* 10 */ { 7, s_2_10, -1, 4, 0},
129
- /* 11 */ { 9, s_2_11, -1, 1, 0},
130
- /* 12 */ { 9, s_2_12, -1, 2, 0},
131
- /* 13 */ { 7, s_2_13, -1, 3, 0},
132
- /* 14 */ { 5, s_2_14, -1, 4, 0},
133
- /* 15 */ { 5, s_2_15, -1, 5, 0},
134
- /* 16 */ { 5, s_2_16, -1, 6, 0},
135
- /* 17 */ { 5, s_2_17, -1, 4, 0},
136
- /* 18 */ { 5, s_2_18, -1, 5, 0},
137
- /* 19 */ { 7, s_2_19, 18, 4, 0},
138
- /* 20 */ { 5, s_2_20, -1, 6, 0},
139
- /* 21 */ { 5, s_2_21, -1, 5, 0},
140
- /* 22 */ { 7, s_2_22, -1, 4, 0},
141
- /* 23 */ { 9, s_2_23, -1, 1, 0},
142
- /* 24 */ { 7, s_2_24, -1, 3, 0},
143
- /* 25 */ { 5, s_2_25, -1, 4, 0},
144
- /* 26 */ { 5, s_2_26, -1, 5, 0},
145
- /* 27 */ { 5, s_2_27, -1, 6, 0},
146
- /* 28 */ { 6, s_2_28, -1, 4, 0},
147
- /* 29 */ { 8, s_2_29, -1, 1, 0},
148
- /* 30 */ { 6, s_2_30, -1, 3, 0},
149
- /* 31 */ { 7, s_2_31, -1, 4, 0},
150
- /* 32 */ { 9, s_2_32, -1, 1, 0},
151
- /* 33 */ { 7, s_2_33, -1, 3, 0},
152
- /* 34 */ { 4, s_2_34, -1, 4, 0},
153
- /* 35 */ { 4, s_2_35, -1, 5, 0},
154
- /* 36 */ { 6, s_2_36, 35, 4, 0},
155
- /* 37 */ { 4, s_2_37, -1, 6, 0},
156
- /* 38 */ { 4, s_2_38, -1, 5, 0},
157
- /* 39 */ { 4, s_2_39, -1, 4, 0},
158
- /* 40 */ { 4, s_2_40, -1, 5, 0},
159
- /* 41 */ { 4, s_2_41, -1, 6, 0},
160
- /* 42 */ { 5, s_2_42, -1, 4, 0},
161
- /* 43 */ { 5, s_2_43, -1, 4, 0},
162
- /* 44 */ { 5, s_2_44, -1, 5, 0},
163
- /* 45 */ { 5, s_2_45, -1, 6, 0}
118
+ { 5, s_2_0, -1, 4, 0},
119
+ { 5, s_2_1, -1, 4, 0},
120
+ { 5, s_2_2, -1, 5, 0},
121
+ { 5, s_2_3, -1, 6, 0},
122
+ { 5, s_2_4, -1, 4, 0},
123
+ { 6, s_2_5, -1, 5, 0},
124
+ { 6, s_2_6, -1, 6, 0},
125
+ { 6, s_2_7, -1, 5, 0},
126
+ { 6, s_2_8, -1, 6, 0},
127
+ { 6, s_2_9, -1, 5, 0},
128
+ { 7, s_2_10, -1, 4, 0},
129
+ { 9, s_2_11, -1, 1, 0},
130
+ { 9, s_2_12, -1, 2, 0},
131
+ { 7, s_2_13, -1, 3, 0},
132
+ { 5, s_2_14, -1, 4, 0},
133
+ { 5, s_2_15, -1, 5, 0},
134
+ { 5, s_2_16, -1, 6, 0},
135
+ { 5, s_2_17, -1, 4, 0},
136
+ { 5, s_2_18, -1, 5, 0},
137
+ { 7, s_2_19, 18, 4, 0},
138
+ { 5, s_2_20, -1, 6, 0},
139
+ { 5, s_2_21, -1, 5, 0},
140
+ { 7, s_2_22, -1, 4, 0},
141
+ { 9, s_2_23, -1, 1, 0},
142
+ { 7, s_2_24, -1, 3, 0},
143
+ { 5, s_2_25, -1, 4, 0},
144
+ { 5, s_2_26, -1, 5, 0},
145
+ { 5, s_2_27, -1, 6, 0},
146
+ { 6, s_2_28, -1, 4, 0},
147
+ { 8, s_2_29, -1, 1, 0},
148
+ { 6, s_2_30, -1, 3, 0},
149
+ { 7, s_2_31, -1, 4, 0},
150
+ { 9, s_2_32, -1, 1, 0},
151
+ { 7, s_2_33, -1, 3, 0},
152
+ { 4, s_2_34, -1, 4, 0},
153
+ { 4, s_2_35, -1, 5, 0},
154
+ { 6, s_2_36, 35, 4, 0},
155
+ { 4, s_2_37, -1, 6, 0},
156
+ { 4, s_2_38, -1, 5, 0},
157
+ { 4, s_2_39, -1, 4, 0},
158
+ { 4, s_2_40, -1, 5, 0},
159
+ { 4, s_2_41, -1, 6, 0},
160
+ { 5, s_2_42, -1, 4, 0},
161
+ { 5, s_2_43, -1, 4, 0},
162
+ { 5, s_2_44, -1, 5, 0},
163
+ { 5, s_2_45, -1, 6, 0}
164
164
  };
165
165
 
166
166
  static const symbol s_3_0[3] = { 'i', 'c', 'a' };
@@ -228,68 +228,68 @@ static const symbol s_3_61[3] = { 'i', 'v', 0xE3 };
228
228
 
229
229
  static const struct among a_3[62] =
230
230
  {
231
- /* 0 */ { 3, s_3_0, -1, 1, 0},
232
- /* 1 */ { 5, s_3_1, -1, 1, 0},
233
- /* 2 */ { 5, s_3_2, -1, 1, 0},
234
- /* 3 */ { 4, s_3_3, -1, 1, 0},
235
- /* 4 */ { 3, s_3_4, -1, 1, 0},
236
- /* 5 */ { 3, s_3_5, -1, 1, 0},
237
- /* 6 */ { 4, s_3_6, -1, 1, 0},
238
- /* 7 */ { 4, s_3_7, -1, 3, 0},
239
- /* 8 */ { 3, s_3_8, -1, 1, 0},
240
- /* 9 */ { 3, s_3_9, -1, 1, 0},
241
- /* 10 */ { 2, s_3_10, -1, 1, 0},
242
- /* 11 */ { 3, s_3_11, -1, 1, 0},
243
- /* 12 */ { 5, s_3_12, -1, 1, 0},
244
- /* 13 */ { 5, s_3_13, -1, 1, 0},
245
- /* 14 */ { 4, s_3_14, -1, 3, 0},
246
- /* 15 */ { 4, s_3_15, -1, 2, 0},
247
- /* 16 */ { 4, s_3_16, -1, 1, 0},
248
- /* 17 */ { 3, s_3_17, -1, 1, 0},
249
- /* 18 */ { 5, s_3_18, 17, 1, 0},
250
- /* 19 */ { 3, s_3_19, -1, 1, 0},
251
- /* 20 */ { 4, s_3_20, -1, 1, 0},
252
- /* 21 */ { 4, s_3_21, -1, 3, 0},
253
- /* 22 */ { 3, s_3_22, -1, 1, 0},
254
- /* 23 */ { 3, s_3_23, -1, 1, 0},
255
- /* 24 */ { 3, s_3_24, -1, 1, 0},
256
- /* 25 */ { 5, s_3_25, -1, 1, 0},
257
- /* 26 */ { 5, s_3_26, -1, 1, 0},
258
- /* 27 */ { 4, s_3_27, -1, 2, 0},
259
- /* 28 */ { 5, s_3_28, -1, 1, 0},
260
- /* 29 */ { 3, s_3_29, -1, 1, 0},
261
- /* 30 */ { 3, s_3_30, -1, 1, 0},
262
- /* 31 */ { 5, s_3_31, 30, 1, 0},
263
- /* 32 */ { 3, s_3_32, -1, 1, 0},
264
- /* 33 */ { 4, s_3_33, -1, 1, 0},
265
- /* 34 */ { 4, s_3_34, -1, 3, 0},
266
- /* 35 */ { 3, s_3_35, -1, 1, 0},
267
- /* 36 */ { 4, s_3_36, -1, 3, 0},
268
- /* 37 */ { 3, s_3_37, -1, 1, 0},
269
- /* 38 */ { 3, s_3_38, -1, 1, 0},
270
- /* 39 */ { 4, s_3_39, -1, 1, 0},
271
- /* 40 */ { 5, s_3_40, -1, 1, 0},
272
- /* 41 */ { 4, s_3_41, -1, 1, 0},
273
- /* 42 */ { 4, s_3_42, -1, 1, 0},
274
- /* 43 */ { 3, s_3_43, -1, 3, 0},
275
- /* 44 */ { 4, s_3_44, -1, 1, 0},
276
- /* 45 */ { 2, s_3_45, -1, 1, 0},
277
- /* 46 */ { 2, s_3_46, -1, 1, 0},
278
- /* 47 */ { 2, s_3_47, -1, 1, 0},
279
- /* 48 */ { 3, s_3_48, -1, 1, 0},
280
- /* 49 */ { 3, s_3_49, -1, 3, 0},
281
- /* 50 */ { 2, s_3_50, -1, 1, 0},
282
- /* 51 */ { 2, s_3_51, -1, 1, 0},
283
- /* 52 */ { 3, s_3_52, -1, 1, 0},
284
- /* 53 */ { 5, s_3_53, -1, 1, 0},
285
- /* 54 */ { 5, s_3_54, -1, 1, 0},
286
- /* 55 */ { 4, s_3_55, -1, 1, 0},
287
- /* 56 */ { 3, s_3_56, -1, 1, 0},
288
- /* 57 */ { 3, s_3_57, -1, 1, 0},
289
- /* 58 */ { 4, s_3_58, -1, 1, 0},
290
- /* 59 */ { 4, s_3_59, -1, 3, 0},
291
- /* 60 */ { 3, s_3_60, -1, 1, 0},
292
- /* 61 */ { 3, s_3_61, -1, 1, 0}
231
+ { 3, s_3_0, -1, 1, 0},
232
+ { 5, s_3_1, -1, 1, 0},
233
+ { 5, s_3_2, -1, 1, 0},
234
+ { 4, s_3_3, -1, 1, 0},
235
+ { 3, s_3_4, -1, 1, 0},
236
+ { 3, s_3_5, -1, 1, 0},
237
+ { 4, s_3_6, -1, 1, 0},
238
+ { 4, s_3_7, -1, 3, 0},
239
+ { 3, s_3_8, -1, 1, 0},
240
+ { 3, s_3_9, -1, 1, 0},
241
+ { 2, s_3_10, -1, 1, 0},
242
+ { 3, s_3_11, -1, 1, 0},
243
+ { 5, s_3_12, -1, 1, 0},
244
+ { 5, s_3_13, -1, 1, 0},
245
+ { 4, s_3_14, -1, 3, 0},
246
+ { 4, s_3_15, -1, 2, 0},
247
+ { 4, s_3_16, -1, 1, 0},
248
+ { 3, s_3_17, -1, 1, 0},
249
+ { 5, s_3_18, 17, 1, 0},
250
+ { 3, s_3_19, -1, 1, 0},
251
+ { 4, s_3_20, -1, 1, 0},
252
+ { 4, s_3_21, -1, 3, 0},
253
+ { 3, s_3_22, -1, 1, 0},
254
+ { 3, s_3_23, -1, 1, 0},
255
+ { 3, s_3_24, -1, 1, 0},
256
+ { 5, s_3_25, -1, 1, 0},
257
+ { 5, s_3_26, -1, 1, 0},
258
+ { 4, s_3_27, -1, 2, 0},
259
+ { 5, s_3_28, -1, 1, 0},
260
+ { 3, s_3_29, -1, 1, 0},
261
+ { 3, s_3_30, -1, 1, 0},
262
+ { 5, s_3_31, 30, 1, 0},
263
+ { 3, s_3_32, -1, 1, 0},
264
+ { 4, s_3_33, -1, 1, 0},
265
+ { 4, s_3_34, -1, 3, 0},
266
+ { 3, s_3_35, -1, 1, 0},
267
+ { 4, s_3_36, -1, 3, 0},
268
+ { 3, s_3_37, -1, 1, 0},
269
+ { 3, s_3_38, -1, 1, 0},
270
+ { 4, s_3_39, -1, 1, 0},
271
+ { 5, s_3_40, -1, 1, 0},
272
+ { 4, s_3_41, -1, 1, 0},
273
+ { 4, s_3_42, -1, 1, 0},
274
+ { 3, s_3_43, -1, 3, 0},
275
+ { 4, s_3_44, -1, 1, 0},
276
+ { 2, s_3_45, -1, 1, 0},
277
+ { 2, s_3_46, -1, 1, 0},
278
+ { 2, s_3_47, -1, 1, 0},
279
+ { 3, s_3_48, -1, 1, 0},
280
+ { 3, s_3_49, -1, 3, 0},
281
+ { 2, s_3_50, -1, 1, 0},
282
+ { 2, s_3_51, -1, 1, 0},
283
+ { 3, s_3_52, -1, 1, 0},
284
+ { 5, s_3_53, -1, 1, 0},
285
+ { 5, s_3_54, -1, 1, 0},
286
+ { 4, s_3_55, -1, 1, 0},
287
+ { 3, s_3_56, -1, 1, 0},
288
+ { 3, s_3_57, -1, 1, 0},
289
+ { 4, s_3_58, -1, 1, 0},
290
+ { 4, s_3_59, -1, 3, 0},
291
+ { 3, s_3_60, -1, 1, 0},
292
+ { 3, s_3_61, -1, 1, 0}
293
293
  };
294
294
 
295
295
  static const symbol s_4_0[2] = { 'e', 'a' };
@@ -389,100 +389,100 @@ static const symbol s_4_93[4] = { 'e', 'a', 'z', 0xE3 };
389
389
 
390
390
  static const struct among a_4[94] =
391
391
  {
392
- /* 0 */ { 2, s_4_0, -1, 1, 0},
393
- /* 1 */ { 2, s_4_1, -1, 1, 0},
394
- /* 2 */ { 3, s_4_2, -1, 1, 0},
395
- /* 3 */ { 3, s_4_3, -1, 1, 0},
396
- /* 4 */ { 3, s_4_4, -1, 1, 0},
397
- /* 5 */ { 3, s_4_5, -1, 1, 0},
398
- /* 6 */ { 3, s_4_6, -1, 1, 0},
399
- /* 7 */ { 3, s_4_7, -1, 1, 0},
400
- /* 8 */ { 3, s_4_8, -1, 1, 0},
401
- /* 9 */ { 3, s_4_9, -1, 1, 0},
402
- /* 10 */ { 2, s_4_10, -1, 2, 0},
403
- /* 11 */ { 3, s_4_11, 10, 1, 0},
404
- /* 12 */ { 4, s_4_12, 10, 2, 0},
405
- /* 13 */ { 3, s_4_13, 10, 1, 0},
406
- /* 14 */ { 3, s_4_14, 10, 1, 0},
407
- /* 15 */ { 3, s_4_15, 10, 1, 0},
408
- /* 16 */ { 4, s_4_16, -1, 1, 0},
409
- /* 17 */ { 4, s_4_17, -1, 1, 0},
410
- /* 18 */ { 3, s_4_18, -1, 1, 0},
411
- /* 19 */ { 2, s_4_19, -1, 1, 0},
412
- /* 20 */ { 3, s_4_20, 19, 1, 0},
413
- /* 21 */ { 3, s_4_21, 19, 1, 0},
414
- /* 22 */ { 3, s_4_22, -1, 2, 0},
415
- /* 23 */ { 4, s_4_23, -1, 1, 0},
416
- /* 24 */ { 4, s_4_24, -1, 1, 0},
417
- /* 25 */ { 2, s_4_25, -1, 1, 0},
418
- /* 26 */ { 3, s_4_26, -1, 1, 0},
419
- /* 27 */ { 3, s_4_27, -1, 1, 0},
420
- /* 28 */ { 4, s_4_28, -1, 2, 0},
421
- /* 29 */ { 5, s_4_29, 28, 1, 0},
422
- /* 30 */ { 6, s_4_30, 28, 2, 0},
423
- /* 31 */ { 5, s_4_31, 28, 1, 0},
424
- /* 32 */ { 5, s_4_32, 28, 1, 0},
425
- /* 33 */ { 5, s_4_33, 28, 1, 0},
426
- /* 34 */ { 3, s_4_34, -1, 1, 0},
427
- /* 35 */ { 3, s_4_35, -1, 1, 0},
428
- /* 36 */ { 3, s_4_36, -1, 1, 0},
429
- /* 37 */ { 2, s_4_37, -1, 1, 0},
430
- /* 38 */ { 3, s_4_38, -1, 2, 0},
431
- /* 39 */ { 4, s_4_39, 38, 1, 0},
432
- /* 40 */ { 4, s_4_40, 38, 1, 0},
433
- /* 41 */ { 3, s_4_41, -1, 2, 0},
434
- /* 42 */ { 3, s_4_42, -1, 2, 0},
435
- /* 43 */ { 3, s_4_43, -1, 2, 0},
436
- /* 44 */ { 5, s_4_44, -1, 1, 0},
437
- /* 45 */ { 6, s_4_45, -1, 2, 0},
438
- /* 46 */ { 7, s_4_46, 45, 1, 0},
439
- /* 47 */ { 8, s_4_47, 45, 2, 0},
440
- /* 48 */ { 7, s_4_48, 45, 1, 0},
441
- /* 49 */ { 7, s_4_49, 45, 1, 0},
442
- /* 50 */ { 7, s_4_50, 45, 1, 0},
443
- /* 51 */ { 5, s_4_51, -1, 1, 0},
444
- /* 52 */ { 5, s_4_52, -1, 1, 0},
445
- /* 53 */ { 5, s_4_53, -1, 1, 0},
446
- /* 54 */ { 2, s_4_54, -1, 1, 0},
447
- /* 55 */ { 3, s_4_55, 54, 1, 0},
448
- /* 56 */ { 3, s_4_56, 54, 1, 0},
449
- /* 57 */ { 2, s_4_57, -1, 2, 0},
450
- /* 58 */ { 4, s_4_58, 57, 1, 0},
451
- /* 59 */ { 5, s_4_59, 57, 2, 0},
452
- /* 60 */ { 4, s_4_60, 57, 1, 0},
453
- /* 61 */ { 4, s_4_61, 57, 1, 0},
454
- /* 62 */ { 4, s_4_62, 57, 1, 0},
455
- /* 63 */ { 2, s_4_63, -1, 2, 0},
456
- /* 64 */ { 2, s_4_64, -1, 2, 0},
457
- /* 65 */ { 2, s_4_65, -1, 2, 0},
458
- /* 66 */ { 4, s_4_66, 65, 1, 0},
459
- /* 67 */ { 5, s_4_67, 65, 2, 0},
460
- /* 68 */ { 6, s_4_68, 67, 1, 0},
461
- /* 69 */ { 7, s_4_69, 67, 2, 0},
462
- /* 70 */ { 6, s_4_70, 67, 1, 0},
463
- /* 71 */ { 6, s_4_71, 67, 1, 0},
464
- /* 72 */ { 6, s_4_72, 67, 1, 0},
465
- /* 73 */ { 4, s_4_73, 65, 1, 0},
466
- /* 74 */ { 4, s_4_74, 65, 1, 0},
467
- /* 75 */ { 4, s_4_75, 65, 1, 0},
468
- /* 76 */ { 2, s_4_76, -1, 1, 0},
469
- /* 77 */ { 3, s_4_77, 76, 1, 0},
470
- /* 78 */ { 3, s_4_78, 76, 1, 0},
471
- /* 79 */ { 4, s_4_79, -1, 1, 0},
472
- /* 80 */ { 4, s_4_80, -1, 1, 0},
473
- /* 81 */ { 2, s_4_81, -1, 1, 0},
474
- /* 82 */ { 5, s_4_82, -1, 1, 0},
475
- /* 83 */ { 3, s_4_83, -1, 1, 0},
476
- /* 84 */ { 4, s_4_84, -1, 2, 0},
477
- /* 85 */ { 5, s_4_85, 84, 1, 0},
478
- /* 86 */ { 6, s_4_86, 84, 2, 0},
479
- /* 87 */ { 5, s_4_87, 84, 1, 0},
480
- /* 88 */ { 5, s_4_88, 84, 1, 0},
481
- /* 89 */ { 5, s_4_89, 84, 1, 0},
482
- /* 90 */ { 3, s_4_90, -1, 1, 0},
483
- /* 91 */ { 3, s_4_91, -1, 1, 0},
484
- /* 92 */ { 3, s_4_92, -1, 1, 0},
485
- /* 93 */ { 4, s_4_93, -1, 1, 0}
392
+ { 2, s_4_0, -1, 1, 0},
393
+ { 2, s_4_1, -1, 1, 0},
394
+ { 3, s_4_2, -1, 1, 0},
395
+ { 3, s_4_3, -1, 1, 0},
396
+ { 3, s_4_4, -1, 1, 0},
397
+ { 3, s_4_5, -1, 1, 0},
398
+ { 3, s_4_6, -1, 1, 0},
399
+ { 3, s_4_7, -1, 1, 0},
400
+ { 3, s_4_8, -1, 1, 0},
401
+ { 3, s_4_9, -1, 1, 0},
402
+ { 2, s_4_10, -1, 2, 0},
403
+ { 3, s_4_11, 10, 1, 0},
404
+ { 4, s_4_12, 10, 2, 0},
405
+ { 3, s_4_13, 10, 1, 0},
406
+ { 3, s_4_14, 10, 1, 0},
407
+ { 3, s_4_15, 10, 1, 0},
408
+ { 4, s_4_16, -1, 1, 0},
409
+ { 4, s_4_17, -1, 1, 0},
410
+ { 3, s_4_18, -1, 1, 0},
411
+ { 2, s_4_19, -1, 1, 0},
412
+ { 3, s_4_20, 19, 1, 0},
413
+ { 3, s_4_21, 19, 1, 0},
414
+ { 3, s_4_22, -1, 2, 0},
415
+ { 4, s_4_23, -1, 1, 0},
416
+ { 4, s_4_24, -1, 1, 0},
417
+ { 2, s_4_25, -1, 1, 0},
418
+ { 3, s_4_26, -1, 1, 0},
419
+ { 3, s_4_27, -1, 1, 0},
420
+ { 4, s_4_28, -1, 2, 0},
421
+ { 5, s_4_29, 28, 1, 0},
422
+ { 6, s_4_30, 28, 2, 0},
423
+ { 5, s_4_31, 28, 1, 0},
424
+ { 5, s_4_32, 28, 1, 0},
425
+ { 5, s_4_33, 28, 1, 0},
426
+ { 3, s_4_34, -1, 1, 0},
427
+ { 3, s_4_35, -1, 1, 0},
428
+ { 3, s_4_36, -1, 1, 0},
429
+ { 2, s_4_37, -1, 1, 0},
430
+ { 3, s_4_38, -1, 2, 0},
431
+ { 4, s_4_39, 38, 1, 0},
432
+ { 4, s_4_40, 38, 1, 0},
433
+ { 3, s_4_41, -1, 2, 0},
434
+ { 3, s_4_42, -1, 2, 0},
435
+ { 3, s_4_43, -1, 2, 0},
436
+ { 5, s_4_44, -1, 1, 0},
437
+ { 6, s_4_45, -1, 2, 0},
438
+ { 7, s_4_46, 45, 1, 0},
439
+ { 8, s_4_47, 45, 2, 0},
440
+ { 7, s_4_48, 45, 1, 0},
441
+ { 7, s_4_49, 45, 1, 0},
442
+ { 7, s_4_50, 45, 1, 0},
443
+ { 5, s_4_51, -1, 1, 0},
444
+ { 5, s_4_52, -1, 1, 0},
445
+ { 5, s_4_53, -1, 1, 0},
446
+ { 2, s_4_54, -1, 1, 0},
447
+ { 3, s_4_55, 54, 1, 0},
448
+ { 3, s_4_56, 54, 1, 0},
449
+ { 2, s_4_57, -1, 2, 0},
450
+ { 4, s_4_58, 57, 1, 0},
451
+ { 5, s_4_59, 57, 2, 0},
452
+ { 4, s_4_60, 57, 1, 0},
453
+ { 4, s_4_61, 57, 1, 0},
454
+ { 4, s_4_62, 57, 1, 0},
455
+ { 2, s_4_63, -1, 2, 0},
456
+ { 2, s_4_64, -1, 2, 0},
457
+ { 2, s_4_65, -1, 2, 0},
458
+ { 4, s_4_66, 65, 1, 0},
459
+ { 5, s_4_67, 65, 2, 0},
460
+ { 6, s_4_68, 67, 1, 0},
461
+ { 7, s_4_69, 67, 2, 0},
462
+ { 6, s_4_70, 67, 1, 0},
463
+ { 6, s_4_71, 67, 1, 0},
464
+ { 6, s_4_72, 67, 1, 0},
465
+ { 4, s_4_73, 65, 1, 0},
466
+ { 4, s_4_74, 65, 1, 0},
467
+ { 4, s_4_75, 65, 1, 0},
468
+ { 2, s_4_76, -1, 1, 0},
469
+ { 3, s_4_77, 76, 1, 0},
470
+ { 3, s_4_78, 76, 1, 0},
471
+ { 4, s_4_79, -1, 1, 0},
472
+ { 4, s_4_80, -1, 1, 0},
473
+ { 2, s_4_81, -1, 1, 0},
474
+ { 5, s_4_82, -1, 1, 0},
475
+ { 3, s_4_83, -1, 1, 0},
476
+ { 4, s_4_84, -1, 2, 0},
477
+ { 5, s_4_85, 84, 1, 0},
478
+ { 6, s_4_86, 84, 2, 0},
479
+ { 5, s_4_87, 84, 1, 0},
480
+ { 5, s_4_88, 84, 1, 0},
481
+ { 5, s_4_89, 84, 1, 0},
482
+ { 3, s_4_90, -1, 1, 0},
483
+ { 3, s_4_91, -1, 1, 0},
484
+ { 3, s_4_92, -1, 1, 0},
485
+ { 4, s_4_93, -1, 1, 0}
486
486
  };
487
487
 
488
488
  static const symbol s_5_0[1] = { 'a' };
@@ -493,60 +493,58 @@ static const symbol s_5_4[1] = { 0xE3 };
493
493
 
494
494
  static const struct among a_5[5] =
495
495
  {
496
- /* 0 */ { 1, s_5_0, -1, 1, 0},
497
- /* 1 */ { 1, s_5_1, -1, 1, 0},
498
- /* 2 */ { 2, s_5_2, 1, 1, 0},
499
- /* 3 */ { 1, s_5_3, -1, 1, 0},
500
- /* 4 */ { 1, s_5_4, -1, 1, 0}
496
+ { 1, s_5_0, -1, 1, 0},
497
+ { 1, s_5_1, -1, 1, 0},
498
+ { 2, s_5_2, 1, 1, 0},
499
+ { 1, s_5_3, -1, 1, 0},
500
+ { 1, s_5_4, -1, 1, 0}
501
501
  };
502
502
 
503
503
  static const unsigned char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 32 };
504
504
 
505
- static const symbol s_0[] = { 'u' };
506
- static const symbol s_1[] = { 'U' };
505
+ static const symbol s_0[] = { 'U' };
506
+ static const symbol s_1[] = { 'I' };
507
507
  static const symbol s_2[] = { 'i' };
508
- static const symbol s_3[] = { 'I' };
509
- static const symbol s_4[] = { 'i' };
510
- static const symbol s_5[] = { 'u' };
511
- static const symbol s_6[] = { 'a' };
512
- static const symbol s_7[] = { 'e' };
508
+ static const symbol s_3[] = { 'u' };
509
+ static const symbol s_4[] = { 'a' };
510
+ static const symbol s_5[] = { 'e' };
511
+ static const symbol s_6[] = { 'i' };
512
+ static const symbol s_7[] = { 'a', 'b' };
513
513
  static const symbol s_8[] = { 'i' };
514
- static const symbol s_9[] = { 'a', 'b' };
515
- static const symbol s_10[] = { 'i' };
516
- static const symbol s_11[] = { 'a', 't' };
517
- static const symbol s_12[] = { 'a', 0xFE, 'i' };
518
- static const symbol s_13[] = { 'a', 'b', 'i', 'l' };
519
- static const symbol s_14[] = { 'i', 'b', 'i', 'l' };
520
- static const symbol s_15[] = { 'i', 'v' };
521
- static const symbol s_16[] = { 'i', 'c' };
522
- static const symbol s_17[] = { 'a', 't' };
523
- static const symbol s_18[] = { 'i', 't' };
524
- static const symbol s_19[] = { 0xFE };
525
- static const symbol s_20[] = { 't' };
526
- static const symbol s_21[] = { 'i', 's', 't' };
527
- static const symbol s_22[] = { 'u' };
514
+ static const symbol s_9[] = { 'a', 't' };
515
+ static const symbol s_10[] = { 'a', 0xFE, 'i' };
516
+ static const symbol s_11[] = { 'a', 'b', 'i', 'l' };
517
+ static const symbol s_12[] = { 'i', 'b', 'i', 'l' };
518
+ static const symbol s_13[] = { 'i', 'v' };
519
+ static const symbol s_14[] = { 'i', 'c' };
520
+ static const symbol s_15[] = { 'a', 't' };
521
+ static const symbol s_16[] = { 'i', 't' };
522
+ static const symbol s_17[] = { 't' };
523
+ static const symbol s_18[] = { 'i', 's', 't' };
528
524
 
529
525
  static int r_prelude(struct SN_env * z) {
530
- while(1) { /* repeat, line 32 */
526
+ while(1) {
531
527
  int c1 = z->c;
532
- while(1) { /* goto, line 32 */
528
+ while(1) {
533
529
  int c2 = z->c;
534
530
  if (in_grouping(z, g_v, 97, 238, 0)) goto lab1;
535
- z->bra = z->c; /* [, line 33 */
536
- { int c3 = z->c; /* or, line 33 */
537
- if (!(eq_s(z, 1, s_0))) goto lab3;
538
- z->ket = z->c; /* ], line 33 */
531
+ z->bra = z->c;
532
+ { int c3 = z->c;
533
+ if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
534
+ z->c++;
535
+ z->ket = z->c;
539
536
  if (in_grouping(z, g_v, 97, 238, 0)) goto lab3;
540
- { int ret = slice_from_s(z, 1, s_1); /* <-, line 33 */
537
+ { int ret = slice_from_s(z, 1, s_0);
541
538
  if (ret < 0) return ret;
542
539
  }
543
540
  goto lab2;
544
541
  lab3:
545
542
  z->c = c3;
546
- if (!(eq_s(z, 1, s_2))) goto lab1;
547
- z->ket = z->c; /* ], line 34 */
543
+ if (z->c == z->l || z->p[z->c] != 'i') goto lab1;
544
+ z->c++;
545
+ z->ket = z->c;
548
546
  if (in_grouping(z, g_v, 97, 238, 0)) goto lab1;
549
- { int ret = slice_from_s(z, 1, s_3); /* <-, line 34 */
547
+ { int ret = slice_from_s(z, 1, s_1);
550
548
  if (ret < 0) return ret;
551
549
  }
552
550
  }
@@ -556,7 +554,7 @@ static int r_prelude(struct SN_env * z) {
556
554
  lab1:
557
555
  z->c = c2;
558
556
  if (z->c >= z->l) goto lab0;
559
- z->c++; /* goto, line 32 */
557
+ z->c++;
560
558
  }
561
559
  continue;
562
560
  lab0:
@@ -567,15 +565,15 @@ static int r_prelude(struct SN_env * z) {
567
565
  }
568
566
 
569
567
  static int r_mark_regions(struct SN_env * z) {
570
- z->I[0] = z->l;
571
- z->I[1] = z->l;
572
568
  z->I[2] = z->l;
573
- { int c1 = z->c; /* do, line 44 */
574
- { int c2 = z->c; /* or, line 46 */
569
+ z->I[1] = z->l;
570
+ z->I[0] = z->l;
571
+ { int c1 = z->c;
572
+ { int c2 = z->c;
575
573
  if (in_grouping(z, g_v, 97, 238, 0)) goto lab2;
576
- { int c3 = z->c; /* or, line 45 */
574
+ { int c3 = z->c;
577
575
  if (out_grouping(z, g_v, 97, 238, 0)) goto lab4;
578
- { /* gopast */ /* grouping v, line 45 */
576
+ {
579
577
  int ret = out_grouping(z, g_v, 97, 238, 1);
580
578
  if (ret < 0) goto lab4;
581
579
  z->c += ret;
@@ -584,7 +582,7 @@ static int r_mark_regions(struct SN_env * z) {
584
582
  lab4:
585
583
  z->c = c3;
586
584
  if (in_grouping(z, g_v, 97, 238, 0)) goto lab2;
587
- { /* gopast */ /* non v, line 45 */
585
+ {
588
586
  int ret = in_grouping(z, g_v, 97, 238, 1);
589
587
  if (ret < 0) goto lab2;
590
588
  z->c += ret;
@@ -595,9 +593,9 @@ static int r_mark_regions(struct SN_env * z) {
595
593
  lab2:
596
594
  z->c = c2;
597
595
  if (out_grouping(z, g_v, 97, 238, 0)) goto lab0;
598
- { int c4 = z->c; /* or, line 47 */
596
+ { int c4 = z->c;
599
597
  if (out_grouping(z, g_v, 97, 238, 0)) goto lab6;
600
- { /* gopast */ /* grouping v, line 47 */
598
+ {
601
599
  int ret = out_grouping(z, g_v, 97, 238, 1);
602
600
  if (ret < 0) goto lab6;
603
601
  z->c += ret;
@@ -607,39 +605,39 @@ static int r_mark_regions(struct SN_env * z) {
607
605
  z->c = c4;
608
606
  if (in_grouping(z, g_v, 97, 238, 0)) goto lab0;
609
607
  if (z->c >= z->l) goto lab0;
610
- z->c++; /* next, line 47 */
608
+ z->c++;
611
609
  }
612
610
  lab5:
613
611
  ;
614
612
  }
615
613
  lab1:
616
- z->I[0] = z->c; /* setmark pV, line 48 */
614
+ z->I[2] = z->c;
617
615
  lab0:
618
616
  z->c = c1;
619
617
  }
620
- { int c5 = z->c; /* do, line 50 */
621
- { /* gopast */ /* grouping v, line 51 */
618
+ { int c5 = z->c;
619
+ {
622
620
  int ret = out_grouping(z, g_v, 97, 238, 1);
623
621
  if (ret < 0) goto lab7;
624
622
  z->c += ret;
625
623
  }
626
- { /* gopast */ /* non v, line 51 */
624
+ {
627
625
  int ret = in_grouping(z, g_v, 97, 238, 1);
628
626
  if (ret < 0) goto lab7;
629
627
  z->c += ret;
630
628
  }
631
- z->I[1] = z->c; /* setmark p1, line 51 */
632
- { /* gopast */ /* grouping v, line 52 */
629
+ z->I[1] = z->c;
630
+ {
633
631
  int ret = out_grouping(z, g_v, 97, 238, 1);
634
632
  if (ret < 0) goto lab7;
635
633
  z->c += ret;
636
634
  }
637
- { /* gopast */ /* non v, line 52 */
635
+ {
638
636
  int ret = in_grouping(z, g_v, 97, 238, 1);
639
637
  if (ret < 0) goto lab7;
640
638
  z->c += ret;
641
639
  }
642
- z->I[2] = z->c; /* setmark p2, line 52 */
640
+ z->I[0] = z->c;
643
641
  lab7:
644
642
  z->c = c5;
645
643
  }
@@ -648,28 +646,27 @@ static int r_mark_regions(struct SN_env * z) {
648
646
 
649
647
  static int r_postlude(struct SN_env * z) {
650
648
  int among_var;
651
- while(1) { /* repeat, line 56 */
649
+ while(1) {
652
650
  int c1 = z->c;
653
- z->bra = z->c; /* [, line 58 */
651
+ z->bra = z->c;
654
652
  if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
655
- among_var = find_among(z, a_0, 3); /* substring, line 58 */
653
+ among_var = find_among(z, a_0, 3);
656
654
  if (!(among_var)) goto lab0;
657
- z->ket = z->c; /* ], line 58 */
658
- switch(among_var) {
659
- case 0: goto lab0;
655
+ z->ket = z->c;
656
+ switch (among_var) {
660
657
  case 1:
661
- { int ret = slice_from_s(z, 1, s_4); /* <-, line 59 */
658
+ { int ret = slice_from_s(z, 1, s_2);
662
659
  if (ret < 0) return ret;
663
660
  }
664
661
  break;
665
662
  case 2:
666
- { int ret = slice_from_s(z, 1, s_5); /* <-, line 60 */
663
+ { int ret = slice_from_s(z, 1, s_3);
667
664
  if (ret < 0) return ret;
668
665
  }
669
666
  break;
670
667
  case 3:
671
668
  if (z->c >= z->l) goto lab0;
672
- z->c++; /* next, line 61 */
669
+ z->c++;
673
670
  break;
674
671
  }
675
672
  continue;
@@ -681,7 +678,7 @@ static int r_postlude(struct SN_env * z) {
681
678
  }
682
679
 
683
680
  static int r_RV(struct SN_env * z) {
684
- if (!(z->I[0] <= z->c)) return 0;
681
+ if (!(z->I[2] <= z->c)) return 0;
685
682
  return 1;
686
683
  }
687
684
 
@@ -691,61 +688,59 @@ static int r_R1(struct SN_env * z) {
691
688
  }
692
689
 
693
690
  static int r_R2(struct SN_env * z) {
694
- if (!(z->I[2] <= z->c)) return 0;
691
+ if (!(z->I[0] <= z->c)) return 0;
695
692
  return 1;
696
693
  }
697
694
 
698
695
  static int r_step_0(struct SN_env * z) {
699
696
  int among_var;
700
- z->ket = z->c; /* [, line 73 */
697
+ z->ket = z->c;
701
698
  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
702
- among_var = find_among_b(z, a_1, 16); /* substring, line 73 */
699
+ among_var = find_among_b(z, a_1, 16);
703
700
  if (!(among_var)) return 0;
704
- z->bra = z->c; /* ], line 73 */
701
+ z->bra = z->c;
705
702
  { int ret = r_R1(z);
706
- if (ret == 0) return 0; /* call R1, line 73 */
707
- if (ret < 0) return ret;
703
+ if (ret <= 0) return ret;
708
704
  }
709
- switch(among_var) {
710
- case 0: return 0;
705
+ switch (among_var) {
711
706
  case 1:
712
- { int ret = slice_del(z); /* delete, line 75 */
707
+ { int ret = slice_del(z);
713
708
  if (ret < 0) return ret;
714
709
  }
715
710
  break;
716
711
  case 2:
717
- { int ret = slice_from_s(z, 1, s_6); /* <-, line 77 */
712
+ { int ret = slice_from_s(z, 1, s_4);
718
713
  if (ret < 0) return ret;
719
714
  }
720
715
  break;
721
716
  case 3:
722
- { int ret = slice_from_s(z, 1, s_7); /* <-, line 79 */
717
+ { int ret = slice_from_s(z, 1, s_5);
723
718
  if (ret < 0) return ret;
724
719
  }
725
720
  break;
726
721
  case 4:
727
- { int ret = slice_from_s(z, 1, s_8); /* <-, line 81 */
722
+ { int ret = slice_from_s(z, 1, s_6);
728
723
  if (ret < 0) return ret;
729
724
  }
730
725
  break;
731
726
  case 5:
732
- { int m1 = z->l - z->c; (void)m1; /* not, line 83 */
733
- if (!(eq_s_b(z, 2, s_9))) goto lab0;
727
+ { int m1 = z->l - z->c; (void)m1;
728
+ if (!(eq_s_b(z, 2, s_7))) goto lab0;
734
729
  return 0;
735
730
  lab0:
736
731
  z->c = z->l - m1;
737
732
  }
738
- { int ret = slice_from_s(z, 1, s_10); /* <-, line 83 */
733
+ { int ret = slice_from_s(z, 1, s_8);
739
734
  if (ret < 0) return ret;
740
735
  }
741
736
  break;
742
737
  case 6:
743
- { int ret = slice_from_s(z, 2, s_11); /* <-, line 85 */
738
+ { int ret = slice_from_s(z, 2, s_9);
744
739
  if (ret < 0) return ret;
745
740
  }
746
741
  break;
747
742
  case 7:
748
- { int ret = slice_from_s(z, 3, s_12); /* <-, line 87 */
743
+ { int ret = slice_from_s(z, 3, s_10);
749
744
  if (ret < 0) return ret;
750
745
  }
751
746
  break;
@@ -755,61 +750,59 @@ static int r_step_0(struct SN_env * z) {
755
750
 
756
751
  static int r_combo_suffix(struct SN_env * z) {
757
752
  int among_var;
758
- { int m_test = z->l - z->c; /* test, line 91 */
759
- z->ket = z->c; /* [, line 92 */
760
- among_var = find_among_b(z, a_2, 46); /* substring, line 92 */
753
+ { int m_test1 = z->l - z->c;
754
+ z->ket = z->c;
755
+ among_var = find_among_b(z, a_2, 46);
761
756
  if (!(among_var)) return 0;
762
- z->bra = z->c; /* ], line 92 */
757
+ z->bra = z->c;
763
758
  { int ret = r_R1(z);
764
- if (ret == 0) return 0; /* call R1, line 92 */
765
- if (ret < 0) return ret;
759
+ if (ret <= 0) return ret;
766
760
  }
767
- switch(among_var) {
768
- case 0: return 0;
761
+ switch (among_var) {
769
762
  case 1:
770
- { int ret = slice_from_s(z, 4, s_13); /* <-, line 101 */
763
+ { int ret = slice_from_s(z, 4, s_11);
771
764
  if (ret < 0) return ret;
772
765
  }
773
766
  break;
774
767
  case 2:
775
- { int ret = slice_from_s(z, 4, s_14); /* <-, line 104 */
768
+ { int ret = slice_from_s(z, 4, s_12);
776
769
  if (ret < 0) return ret;
777
770
  }
778
771
  break;
779
772
  case 3:
780
- { int ret = slice_from_s(z, 2, s_15); /* <-, line 107 */
773
+ { int ret = slice_from_s(z, 2, s_13);
781
774
  if (ret < 0) return ret;
782
775
  }
783
776
  break;
784
777
  case 4:
785
- { int ret = slice_from_s(z, 2, s_16); /* <-, line 113 */
778
+ { int ret = slice_from_s(z, 2, s_14);
786
779
  if (ret < 0) return ret;
787
780
  }
788
781
  break;
789
782
  case 5:
790
- { int ret = slice_from_s(z, 2, s_17); /* <-, line 118 */
783
+ { int ret = slice_from_s(z, 2, s_15);
791
784
  if (ret < 0) return ret;
792
785
  }
793
786
  break;
794
787
  case 6:
795
- { int ret = slice_from_s(z, 2, s_18); /* <-, line 122 */
788
+ { int ret = slice_from_s(z, 2, s_16);
796
789
  if (ret < 0) return ret;
797
790
  }
798
791
  break;
799
792
  }
800
- z->B[0] = 1; /* set standard_suffix_removed, line 125 */
801
- z->c = z->l - m_test;
793
+ z->I[3] = 1;
794
+ z->c = z->l - m_test1;
802
795
  }
803
796
  return 1;
804
797
  }
805
798
 
806
799
  static int r_standard_suffix(struct SN_env * z) {
807
800
  int among_var;
808
- z->B[0] = 0; /* unset standard_suffix_removed, line 130 */
809
- while(1) { /* repeat, line 131 */
801
+ z->I[3] = 0;
802
+ while(1) {
810
803
  int m1 = z->l - z->c; (void)m1;
811
804
  { int ret = r_combo_suffix(z);
812
- if (ret == 0) goto lab0; /* call combo_suffix, line 131 */
805
+ if (ret == 0) goto lab0;
813
806
  if (ret < 0) return ret;
814
807
  }
815
808
  continue;
@@ -817,168 +810,143 @@ static int r_standard_suffix(struct SN_env * z) {
817
810
  z->c = z->l - m1;
818
811
  break;
819
812
  }
820
- z->ket = z->c; /* [, line 132 */
821
- among_var = find_among_b(z, a_3, 62); /* substring, line 132 */
813
+ z->ket = z->c;
814
+ among_var = find_among_b(z, a_3, 62);
822
815
  if (!(among_var)) return 0;
823
- z->bra = z->c; /* ], line 132 */
816
+ z->bra = z->c;
824
817
  { int ret = r_R2(z);
825
- if (ret == 0) return 0; /* call R2, line 132 */
826
- if (ret < 0) return ret;
818
+ if (ret <= 0) return ret;
827
819
  }
828
- switch(among_var) {
829
- case 0: return 0;
820
+ switch (among_var) {
830
821
  case 1:
831
- { int ret = slice_del(z); /* delete, line 149 */
822
+ { int ret = slice_del(z);
832
823
  if (ret < 0) return ret;
833
824
  }
834
825
  break;
835
826
  case 2:
836
- if (!(eq_s_b(z, 1, s_19))) return 0;
837
- z->bra = z->c; /* ], line 152 */
838
- { int ret = slice_from_s(z, 1, s_20); /* <-, line 152 */
827
+ if (z->c <= z->lb || z->p[z->c - 1] != 0xFE) return 0;
828
+ z->c--;
829
+ z->bra = z->c;
830
+ { int ret = slice_from_s(z, 1, s_17);
839
831
  if (ret < 0) return ret;
840
832
  }
841
833
  break;
842
834
  case 3:
843
- { int ret = slice_from_s(z, 3, s_21); /* <-, line 156 */
835
+ { int ret = slice_from_s(z, 3, s_18);
844
836
  if (ret < 0) return ret;
845
837
  }
846
838
  break;
847
839
  }
848
- z->B[0] = 1; /* set standard_suffix_removed, line 160 */
840
+ z->I[3] = 1;
849
841
  return 1;
850
842
  }
851
843
 
852
844
  static int r_verb_suffix(struct SN_env * z) {
853
845
  int among_var;
854
- { int mlimit; /* setlimit, line 164 */
855
- int m1 = z->l - z->c; (void)m1;
856
- if (z->c < z->I[0]) return 0;
857
- z->c = z->I[0]; /* tomark, line 164 */
858
- mlimit = z->lb; z->lb = z->c;
859
- z->c = z->l - m1;
860
- z->ket = z->c; /* [, line 165 */
861
- among_var = find_among_b(z, a_4, 94); /* substring, line 165 */
862
- if (!(among_var)) { z->lb = mlimit; return 0; }
863
- z->bra = z->c; /* ], line 165 */
864
- switch(among_var) {
865
- case 0: { z->lb = mlimit; return 0; }
846
+
847
+ { int mlimit1;
848
+ if (z->c < z->I[2]) return 0;
849
+ mlimit1 = z->lb; z->lb = z->I[2];
850
+ z->ket = z->c;
851
+ among_var = find_among_b(z, a_4, 94);
852
+ if (!(among_var)) { z->lb = mlimit1; return 0; }
853
+ z->bra = z->c;
854
+ switch (among_var) {
866
855
  case 1:
867
- { int m2 = z->l - z->c; (void)m2; /* or, line 200 */
856
+ { int m2 = z->l - z->c; (void)m2;
868
857
  if (out_grouping_b(z, g_v, 97, 238, 0)) goto lab1;
869
858
  goto lab0;
870
859
  lab1:
871
860
  z->c = z->l - m2;
872
- if (!(eq_s_b(z, 1, s_22))) { z->lb = mlimit; return 0; }
861
+ if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->lb = mlimit1; return 0; }
862
+ z->c--;
873
863
  }
874
864
  lab0:
875
- { int ret = slice_del(z); /* delete, line 200 */
865
+ { int ret = slice_del(z);
876
866
  if (ret < 0) return ret;
877
867
  }
878
868
  break;
879
869
  case 2:
880
- { int ret = slice_del(z); /* delete, line 214 */
870
+ { int ret = slice_del(z);
881
871
  if (ret < 0) return ret;
882
872
  }
883
873
  break;
884
874
  }
885
- z->lb = mlimit;
875
+ z->lb = mlimit1;
886
876
  }
887
877
  return 1;
888
878
  }
889
879
 
890
880
  static int r_vowel_suffix(struct SN_env * z) {
891
- int among_var;
892
- z->ket = z->c; /* [, line 219 */
893
- among_var = find_among_b(z, a_5, 5); /* substring, line 219 */
894
- if (!(among_var)) return 0;
895
- z->bra = z->c; /* ], line 219 */
881
+ z->ket = z->c;
882
+ if (!(find_among_b(z, a_5, 5))) return 0;
883
+ z->bra = z->c;
896
884
  { int ret = r_RV(z);
897
- if (ret == 0) return 0; /* call RV, line 219 */
898
- if (ret < 0) return ret;
885
+ if (ret <= 0) return ret;
899
886
  }
900
- switch(among_var) {
901
- case 0: return 0;
902
- case 1:
903
- { int ret = slice_del(z); /* delete, line 220 */
904
- if (ret < 0) return ret;
905
- }
906
- break;
887
+ { int ret = slice_del(z);
888
+ if (ret < 0) return ret;
907
889
  }
908
890
  return 1;
909
891
  }
910
892
 
911
893
  extern int romanian_ISO_8859_2_stem(struct SN_env * z) {
912
- { int c1 = z->c; /* do, line 226 */
894
+ { int c1 = z->c;
913
895
  { int ret = r_prelude(z);
914
- if (ret == 0) goto lab0; /* call prelude, line 226 */
915
896
  if (ret < 0) return ret;
916
897
  }
917
- lab0:
918
898
  z->c = c1;
919
899
  }
920
- { int c2 = z->c; /* do, line 227 */
921
- { int ret = r_mark_regions(z);
922
- if (ret == 0) goto lab1; /* call mark_regions, line 227 */
923
- if (ret < 0) return ret;
924
- }
925
- lab1:
926
- z->c = c2;
900
+
901
+ { int ret = r_mark_regions(z);
902
+ if (ret < 0) return ret;
927
903
  }
928
- z->lb = z->c; z->c = z->l; /* backwards, line 228 */
904
+ z->lb = z->c; z->c = z->l;
929
905
 
930
- { int m3 = z->l - z->c; (void)m3; /* do, line 229 */
906
+ { int m2 = z->l - z->c; (void)m2;
931
907
  { int ret = r_step_0(z);
932
- if (ret == 0) goto lab2; /* call step_0, line 229 */
933
908
  if (ret < 0) return ret;
934
909
  }
935
- lab2:
936
- z->c = z->l - m3;
910
+ z->c = z->l - m2;
937
911
  }
938
- { int m4 = z->l - z->c; (void)m4; /* do, line 230 */
912
+ { int m3 = z->l - z->c; (void)m3;
939
913
  { int ret = r_standard_suffix(z);
940
- if (ret == 0) goto lab3; /* call standard_suffix, line 230 */
941
914
  if (ret < 0) return ret;
942
915
  }
943
- lab3:
944
- z->c = z->l - m4;
916
+ z->c = z->l - m3;
945
917
  }
946
- { int m5 = z->l - z->c; (void)m5; /* do, line 231 */
947
- { int m6 = z->l - z->c; (void)m6; /* or, line 231 */
948
- if (!(z->B[0])) goto lab6; /* Boolean test standard_suffix_removed, line 231 */
949
- goto lab5;
950
- lab6:
951
- z->c = z->l - m6;
918
+ { int m4 = z->l - z->c; (void)m4;
919
+ { int m5 = z->l - z->c; (void)m5;
920
+ if (!(z->I[3])) goto lab2;
921
+ goto lab1;
922
+ lab2:
923
+ z->c = z->l - m5;
952
924
  { int ret = r_verb_suffix(z);
953
- if (ret == 0) goto lab4; /* call verb_suffix, line 231 */
925
+ if (ret == 0) goto lab0;
954
926
  if (ret < 0) return ret;
955
927
  }
956
928
  }
957
- lab5:
958
- lab4:
959
- z->c = z->l - m5;
929
+ lab1:
930
+ lab0:
931
+ z->c = z->l - m4;
960
932
  }
961
- { int m7 = z->l - z->c; (void)m7; /* do, line 232 */
933
+ { int m6 = z->l - z->c; (void)m6;
962
934
  { int ret = r_vowel_suffix(z);
963
- if (ret == 0) goto lab7; /* call vowel_suffix, line 232 */
964
935
  if (ret < 0) return ret;
965
936
  }
966
- lab7:
967
- z->c = z->l - m7;
937
+ z->c = z->l - m6;
968
938
  }
969
939
  z->c = z->lb;
970
- { int c8 = z->c; /* do, line 234 */
940
+ { int c7 = z->c;
971
941
  { int ret = r_postlude(z);
972
- if (ret == 0) goto lab8; /* call postlude, line 234 */
973
942
  if (ret < 0) return ret;
974
943
  }
975
- lab8:
976
- z->c = c8;
944
+ z->c = c7;
977
945
  }
978
946
  return 1;
979
947
  }
980
948
 
981
- extern struct SN_env * romanian_ISO_8859_2_create_env(void) { return SN_create_env(0, 3, 1); }
949
+ extern struct SN_env * romanian_ISO_8859_2_create_env(void) { return SN_create_env(0, 4); }
982
950
 
983
951
  extern void romanian_ISO_8859_2_close_env(struct SN_env * z) { SN_close_env(z, 0); }
984
952