isomorfeus-ferret 0.12.4 → 0.12.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +612 -612
  3. data/README.md +80 -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/frb_store.c +34 -5
  7. data/ext/isomorfeus_ferret_ext/frt_posh.h +11 -19
  8. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +1844 -1911
  9. data/ext/isomorfeus_ferret_ext/frt_q_phrase.c +7 -7
  10. data/ext/isomorfeus_ferret_ext/frt_scanner.c +1 -0
  11. data/ext/isomorfeus_ferret_ext/frt_scanner_mb.c +1 -0
  12. data/ext/isomorfeus_ferret_ext/frt_scanner_utf8.c +1 -0
  13. data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
  14. data/ext/isomorfeus_ferret_ext/libstemmer.c +14 -11
  15. data/ext/isomorfeus_ferret_ext/libstemmer.h +4 -9
  16. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.c +1167 -0
  17. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_basque.h +6 -0
  18. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.c +1433 -0
  19. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_catalan.h +6 -0
  20. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.c +120 -143
  21. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_danish.h +1 -2
  22. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.c +217 -237
  23. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_dutch.h +1 -1
  24. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.c +377 -432
  25. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_english.h +1 -1
  26. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.c +298 -342
  27. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_finnish.h +1 -2
  28. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.c +530 -524
  29. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_french.h +1 -1
  30. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.c +201 -214
  31. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_german.h +1 -1
  32. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_hungarian.c +1 -1
  33. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.c +394 -0
  34. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_indonesian.h +6 -0
  35. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.c +457 -0
  36. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_irish.h +6 -0
  37. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.c +396 -439
  38. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_italian.h +1 -1
  39. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.c +104 -128
  40. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_norwegian.h +1 -1
  41. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.c +242 -273
  42. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_porter.h +1 -1
  43. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.c +406 -461
  44. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_portuguese.h +1 -2
  45. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.c +405 -456
  46. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_spanish.h +1 -1
  47. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.c +108 -126
  48. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_1_swedish.h +1 -1
  49. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.c +849 -0
  50. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_hungarian.h +6 -0
  51. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.c +373 -405
  52. data/ext/isomorfeus_ferret_ext/stem_ISO_8859_2_romanian.h +1 -1
  53. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.c +288 -305
  54. data/ext/isomorfeus_ferret_ext/stem_KOI8_R_russian.h +1 -1
  55. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c +1651 -0
  56. data/ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h +6 -0
  57. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c +546 -0
  58. data/ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.h +6 -0
  59. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.c +1171 -0
  60. data/ext/isomorfeus_ferret_ext/stem_UTF_8_basque.h +6 -0
  61. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.c +1436 -0
  62. data/ext/isomorfeus_ferret_ext/stem_UTF_8_catalan.h +6 -0
  63. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.c +121 -141
  64. data/ext/isomorfeus_ferret_ext/stem_UTF_8_danish.h +1 -1
  65. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.c +221 -241
  66. data/ext/isomorfeus_ferret_ext/stem_UTF_8_dutch.h +1 -1
  67. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.c +381 -431
  68. data/ext/isomorfeus_ferret_ext/stem_UTF_8_english.h +1 -1
  69. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.c +300 -345
  70. data/ext/isomorfeus_ferret_ext/stem_UTF_8_finnish.h +1 -1
  71. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.c +518 -511
  72. data/ext/isomorfeus_ferret_ext/stem_UTF_8_french.h +1 -1
  73. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.c +201 -209
  74. data/ext/isomorfeus_ferret_ext/stem_UTF_8_german.h +1 -1
  75. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.c +3660 -0
  76. data/ext/isomorfeus_ferret_ext/stem_UTF_8_greek.h +6 -0
  77. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.c +309 -0
  78. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hindi.h +6 -0
  79. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.c +306 -671
  80. data/ext/isomorfeus_ferret_ext/stem_UTF_8_hungarian.h +1 -1
  81. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.c +394 -0
  82. data/ext/isomorfeus_ferret_ext/stem_UTF_8_indonesian.h +6 -0
  83. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.c +457 -0
  84. data/ext/isomorfeus_ferret_ext/stem_UTF_8_irish.h +6 -0
  85. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.c +400 -442
  86. data/ext/isomorfeus_ferret_ext/stem_UTF_8_italian.h +1 -1
  87. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.c +824 -0
  88. data/ext/isomorfeus_ferret_ext/stem_UTF_8_lithuanian.h +6 -0
  89. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.c +408 -0
  90. data/ext/isomorfeus_ferret_ext/stem_UTF_8_nepali.h +6 -0
  91. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.c +105 -127
  92. data/ext/isomorfeus_ferret_ext/stem_UTF_8_norwegian.h +1 -1
  93. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.c +245 -276
  94. data/ext/isomorfeus_ferret_ext/stem_UTF_8_porter.h +1 -1
  95. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.c +409 -464
  96. data/ext/isomorfeus_ferret_ext/stem_UTF_8_portuguese.h +1 -1
  97. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.c +376 -408
  98. data/ext/isomorfeus_ferret_ext/stem_UTF_8_romanian.h +1 -1
  99. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.c +272 -287
  100. data/ext/isomorfeus_ferret_ext/stem_UTF_8_russian.h +1 -1
  101. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.c +6530 -0
  102. data/ext/isomorfeus_ferret_ext/stem_UTF_8_serbian.h +6 -0
  103. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.c +407 -458
  104. data/ext/isomorfeus_ferret_ext/stem_UTF_8_spanish.h +1 -1
  105. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.c +110 -125
  106. data/ext/isomorfeus_ferret_ext/stem_UTF_8_swedish.h +1 -1
  107. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.c +1865 -0
  108. data/ext/isomorfeus_ferret_ext/stem_UTF_8_tamil.h +6 -0
  109. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.c +698 -806
  110. data/ext/isomorfeus_ferret_ext/stem_UTF_8_turkish.h +1 -1
  111. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.c +1220 -0
  112. data/ext/isomorfeus_ferret_ext/stem_UTF_8_yiddish.h +6 -0
  113. data/ext/isomorfeus_ferret_ext/stem_api.c +1 -9
  114. data/ext/isomorfeus_ferret_ext/stem_api.h +1 -3
  115. data/ext/isomorfeus_ferret_ext/stem_header.h +30 -26
  116. data/ext/isomorfeus_ferret_ext/stem_modules.h +113 -26
  117. data/ext/isomorfeus_ferret_ext/stem_modules.txt +18 -5
  118. data/ext/isomorfeus_ferret_ext/stem_utilities.c +167 -132
  119. data/ext/isomorfeus_ferret_ext/test.c +7 -1
  120. data/ext/isomorfeus_ferret_ext/test_search.c +0 -1
  121. data/lib/isomorfeus/ferret/version.rb +1 -1
  122. metadata +39 -4
  123. 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 */ { 5, 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 */ { 5, 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
+ { 5, s_1_1, -1, 7, 0},
53
+ { 3, s_1_2, -1, 2, 0},
54
+ { 3, s_1_3, -1, 4, 0},
55
+ { 5, 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[6] = { 'i', 't', 'i', 'v', 0xC4, 0x83 };
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 */ { 7, s_2_5, -1, 5, 0},
124
- /* 6 */ { 7, 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 */ { 7, 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 */ { 6, 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 */ { 7, s_2_28, -1, 4, 0},
147
- /* 29 */ { 9, s_2_29, -1, 1, 0},
148
- /* 30 */ { 7, s_2_30, -1, 3, 0},
149
- /* 31 */ { 9, s_2_31, -1, 4, 0},
150
- /* 32 */ { 11, s_2_32, -1, 1, 0},
151
- /* 33 */ { 9, 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 */ { 5, 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 */ { 6, s_2_42, -1, 4, 0},
161
- /* 43 */ { 6, s_2_43, -1, 4, 0},
162
- /* 44 */ { 6, s_2_44, -1, 5, 0},
163
- /* 45 */ { 6, 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
+ { 7, s_2_5, -1, 5, 0},
124
+ { 7, s_2_6, -1, 6, 0},
125
+ { 6, s_2_7, -1, 5, 0},
126
+ { 6, s_2_8, -1, 6, 0},
127
+ { 7, 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
+ { 6, 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
+ { 7, s_2_28, -1, 4, 0},
147
+ { 9, s_2_29, -1, 1, 0},
148
+ { 7, s_2_30, -1, 3, 0},
149
+ { 9, s_2_31, -1, 4, 0},
150
+ { 11, s_2_32, -1, 1, 0},
151
+ { 9, 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
+ { 5, 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
+ { 6, s_2_42, -1, 4, 0},
161
+ { 6, s_2_43, -1, 4, 0},
162
+ { 6, s_2_44, -1, 5, 0},
163
+ { 6, 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[4] = { 'i', 'v', 0xC4, 0x83 };
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 */ { 5, s_3_36, -1, 3, 0},
268
- /* 37 */ { 3, s_3_37, -1, 1, 0},
269
- /* 38 */ { 5, s_3_38, -1, 1, 0},
270
- /* 39 */ { 4, s_3_39, -1, 1, 0},
271
- /* 40 */ { 7, 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 */ { 4, s_3_52, -1, 1, 0},
284
- /* 53 */ { 6, s_3_53, -1, 1, 0},
285
- /* 54 */ { 6, s_3_54, -1, 1, 0},
286
- /* 55 */ { 5, s_3_55, -1, 1, 0},
287
- /* 56 */ { 4, s_3_56, -1, 1, 0},
288
- /* 57 */ { 4, s_3_57, -1, 1, 0},
289
- /* 58 */ { 5, s_3_58, -1, 1, 0},
290
- /* 59 */ { 5, s_3_59, -1, 3, 0},
291
- /* 60 */ { 4, s_3_60, -1, 1, 0},
292
- /* 61 */ { 4, 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
+ { 5, s_3_36, -1, 3, 0},
268
+ { 3, s_3_37, -1, 1, 0},
269
+ { 5, s_3_38, -1, 1, 0},
270
+ { 4, s_3_39, -1, 1, 0},
271
+ { 7, 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
+ { 4, s_3_52, -1, 1, 0},
284
+ { 6, s_3_53, -1, 1, 0},
285
+ { 6, s_3_54, -1, 1, 0},
286
+ { 5, s_3_55, -1, 1, 0},
287
+ { 4, s_3_56, -1, 1, 0},
288
+ { 4, s_3_57, -1, 1, 0},
289
+ { 5, s_3_58, -1, 1, 0},
290
+ { 5, s_3_59, -1, 3, 0},
291
+ { 4, s_3_60, -1, 1, 0},
292
+ { 4, 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[5] = { 'e', 'a', 'z', 0xC4, 0x83 };
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 */ { 4, s_4_3, -1, 1, 0},
396
- /* 4 */ { 3, s_4_4, -1, 1, 0},
397
- /* 5 */ { 4, 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 */ { 4, 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 */ { 4, s_4_15, 10, 1, 0},
408
- /* 16 */ { 5, s_4_16, -1, 1, 0},
409
- /* 17 */ { 6, 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 */ { 5, s_4_23, -1, 1, 0},
416
- /* 24 */ { 6, 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 */ { 4, s_4_27, -1, 1, 0},
420
- /* 28 */ { 5, s_4_28, -1, 2, 0},
421
- /* 29 */ { 6, s_4_29, 28, 1, 0},
422
- /* 30 */ { 7, s_4_30, 28, 2, 0},
423
- /* 31 */ { 6, s_4_31, 28, 1, 0},
424
- /* 32 */ { 6, s_4_32, 28, 1, 0},
425
- /* 33 */ { 7, s_4_33, 28, 1, 0},
426
- /* 34 */ { 4, s_4_34, -1, 1, 0},
427
- /* 35 */ { 4, s_4_35, -1, 1, 0},
428
- /* 36 */ { 5, s_4_36, -1, 1, 0},
429
- /* 37 */ { 3, s_4_37, -1, 1, 0},
430
- /* 38 */ { 4, s_4_38, -1, 2, 0},
431
- /* 39 */ { 5, s_4_39, 38, 1, 0},
432
- /* 40 */ { 5, s_4_40, 38, 1, 0},
433
- /* 41 */ { 4, s_4_41, -1, 2, 0},
434
- /* 42 */ { 4, s_4_42, -1, 2, 0},
435
- /* 43 */ { 7, s_4_43, -1, 1, 0},
436
- /* 44 */ { 8, s_4_44, -1, 2, 0},
437
- /* 45 */ { 9, s_4_45, 44, 1, 0},
438
- /* 46 */ { 10, s_4_46, 44, 2, 0},
439
- /* 47 */ { 9, s_4_47, 44, 1, 0},
440
- /* 48 */ { 9, s_4_48, 44, 1, 0},
441
- /* 49 */ { 10, s_4_49, 44, 1, 0},
442
- /* 50 */ { 7, s_4_50, -1, 1, 0},
443
- /* 51 */ { 7, s_4_51, -1, 1, 0},
444
- /* 52 */ { 8, s_4_52, -1, 1, 0},
445
- /* 53 */ { 5, s_4_53, -1, 2, 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 */ { 5, s_4_62, 57, 1, 0},
455
- /* 63 */ { 2, s_4_63, -1, 2, 0},
456
- /* 64 */ { 3, s_4_64, -1, 2, 0},
457
- /* 65 */ { 5, s_4_65, 64, 1, 0},
458
- /* 66 */ { 6, s_4_66, 64, 2, 0},
459
- /* 67 */ { 7, s_4_67, 66, 1, 0},
460
- /* 68 */ { 8, s_4_68, 66, 2, 0},
461
- /* 69 */ { 7, s_4_69, 66, 1, 0},
462
- /* 70 */ { 7, s_4_70, 66, 1, 0},
463
- /* 71 */ { 8, s_4_71, 66, 1, 0},
464
- /* 72 */ { 5, s_4_72, 64, 1, 0},
465
- /* 73 */ { 5, s_4_73, 64, 1, 0},
466
- /* 74 */ { 6, s_4_74, 64, 1, 0},
467
- /* 75 */ { 3, s_4_75, -1, 2, 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 */ { 5, s_4_80, -1, 1, 0},
473
- /* 81 */ { 2, s_4_81, -1, 1, 0},
474
- /* 82 */ { 6, s_4_82, -1, 1, 0},
475
- /* 83 */ { 4, s_4_83, -1, 1, 0},
476
- /* 84 */ { 5, s_4_84, -1, 2, 0},
477
- /* 85 */ { 6, s_4_85, 84, 1, 0},
478
- /* 86 */ { 7, s_4_86, 84, 2, 0},
479
- /* 87 */ { 6, s_4_87, 84, 1, 0},
480
- /* 88 */ { 6, s_4_88, 84, 1, 0},
481
- /* 89 */ { 7, s_4_89, 84, 1, 0},
482
- /* 90 */ { 4, s_4_90, -1, 1, 0},
483
- /* 91 */ { 4, s_4_91, -1, 1, 0},
484
- /* 92 */ { 5, s_4_92, -1, 1, 0},
485
- /* 93 */ { 5, 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
+ { 4, s_4_3, -1, 1, 0},
396
+ { 3, s_4_4, -1, 1, 0},
397
+ { 4, 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
+ { 4, 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
+ { 4, s_4_15, 10, 1, 0},
408
+ { 5, s_4_16, -1, 1, 0},
409
+ { 6, 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
+ { 5, s_4_23, -1, 1, 0},
416
+ { 6, s_4_24, -1, 1, 0},
417
+ { 2, s_4_25, -1, 1, 0},
418
+ { 3, s_4_26, -1, 1, 0},
419
+ { 4, s_4_27, -1, 1, 0},
420
+ { 5, s_4_28, -1, 2, 0},
421
+ { 6, s_4_29, 28, 1, 0},
422
+ { 7, s_4_30, 28, 2, 0},
423
+ { 6, s_4_31, 28, 1, 0},
424
+ { 6, s_4_32, 28, 1, 0},
425
+ { 7, s_4_33, 28, 1, 0},
426
+ { 4, s_4_34, -1, 1, 0},
427
+ { 4, s_4_35, -1, 1, 0},
428
+ { 5, s_4_36, -1, 1, 0},
429
+ { 3, s_4_37, -1, 1, 0},
430
+ { 4, s_4_38, -1, 2, 0},
431
+ { 5, s_4_39, 38, 1, 0},
432
+ { 5, s_4_40, 38, 1, 0},
433
+ { 4, s_4_41, -1, 2, 0},
434
+ { 4, s_4_42, -1, 2, 0},
435
+ { 7, s_4_43, -1, 1, 0},
436
+ { 8, s_4_44, -1, 2, 0},
437
+ { 9, s_4_45, 44, 1, 0},
438
+ { 10, s_4_46, 44, 2, 0},
439
+ { 9, s_4_47, 44, 1, 0},
440
+ { 9, s_4_48, 44, 1, 0},
441
+ { 10, s_4_49, 44, 1, 0},
442
+ { 7, s_4_50, -1, 1, 0},
443
+ { 7, s_4_51, -1, 1, 0},
444
+ { 8, s_4_52, -1, 1, 0},
445
+ { 5, s_4_53, -1, 2, 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
+ { 5, s_4_62, 57, 1, 0},
455
+ { 2, s_4_63, -1, 2, 0},
456
+ { 3, s_4_64, -1, 2, 0},
457
+ { 5, s_4_65, 64, 1, 0},
458
+ { 6, s_4_66, 64, 2, 0},
459
+ { 7, s_4_67, 66, 1, 0},
460
+ { 8, s_4_68, 66, 2, 0},
461
+ { 7, s_4_69, 66, 1, 0},
462
+ { 7, s_4_70, 66, 1, 0},
463
+ { 8, s_4_71, 66, 1, 0},
464
+ { 5, s_4_72, 64, 1, 0},
465
+ { 5, s_4_73, 64, 1, 0},
466
+ { 6, s_4_74, 64, 1, 0},
467
+ { 3, s_4_75, -1, 2, 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
+ { 5, s_4_80, -1, 1, 0},
473
+ { 2, s_4_81, -1, 1, 0},
474
+ { 6, s_4_82, -1, 1, 0},
475
+ { 4, s_4_83, -1, 1, 0},
476
+ { 5, s_4_84, -1, 2, 0},
477
+ { 6, s_4_85, 84, 1, 0},
478
+ { 7, s_4_86, 84, 2, 0},
479
+ { 6, s_4_87, 84, 1, 0},
480
+ { 6, s_4_88, 84, 1, 0},
481
+ { 7, s_4_89, 84, 1, 0},
482
+ { 4, s_4_90, -1, 1, 0},
483
+ { 4, s_4_91, -1, 1, 0},
484
+ { 5, s_4_92, -1, 1, 0},
485
+ { 5, s_4_93, -1, 1, 0}
486
486
  };
487
487
 
488
488
  static const symbol s_5_0[1] = { 'a' };
@@ -493,60 +493,59 @@ static const symbol s_5_4[2] = { 0xC4, 0x83 };
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 */ { 2, 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
+ { 2, 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, 2, 32, 0, 0, 4 };
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', 0xC5, 0xA3, '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[] = { 0xC5, 0xA3 };
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', 0xC5, 0xA3, '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[] = { 0xC5, 0xA3 };
523
+ static const symbol s_18[] = { 't' };
524
+ static const symbol s_19[] = { 'i', 's', 't' };
528
525
 
529
526
  static int r_prelude(struct SN_env * z) {
530
- while(1) { /* repeat, line 32 */
527
+ while(1) {
531
528
  int c1 = z->c;
532
- while(1) { /* goto, line 32 */
529
+ while(1) {
533
530
  int c2 = z->c;
534
531
  if (in_grouping_U(z, g_v, 97, 259, 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 */
532
+ z->bra = z->c;
533
+ { int c3 = z->c;
534
+ if (z->c == z->l || z->p[z->c] != 'u') goto lab3;
535
+ z->c++;
536
+ z->ket = z->c;
539
537
  if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab3;
540
- { int ret = slice_from_s(z, 1, s_1); /* <-, line 33 */
538
+ { int ret = slice_from_s(z, 1, s_0);
541
539
  if (ret < 0) return ret;
542
540
  }
543
541
  goto lab2;
544
542
  lab3:
545
543
  z->c = c3;
546
- if (!(eq_s(z, 1, s_2))) goto lab1;
547
- z->ket = z->c; /* ], line 34 */
544
+ if (z->c == z->l || z->p[z->c] != 'i') goto lab1;
545
+ z->c++;
546
+ z->ket = z->c;
548
547
  if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab1;
549
- { int ret = slice_from_s(z, 1, s_3); /* <-, line 34 */
548
+ { int ret = slice_from_s(z, 1, s_1);
550
549
  if (ret < 0) return ret;
551
550
  }
552
551
  }
@@ -555,9 +554,9 @@ static int r_prelude(struct SN_env * z) {
555
554
  break;
556
555
  lab1:
557
556
  z->c = c2;
558
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
557
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
559
558
  if (ret < 0) goto lab0;
560
- z->c = ret; /* goto, line 32 */
559
+ z->c = ret;
561
560
  }
562
561
  }
563
562
  continue;
@@ -569,15 +568,15 @@ static int r_prelude(struct SN_env * z) {
569
568
  }
570
569
 
571
570
  static int r_mark_regions(struct SN_env * z) {
572
- z->I[0] = z->l;
573
- z->I[1] = z->l;
574
571
  z->I[2] = z->l;
575
- { int c1 = z->c; /* do, line 44 */
576
- { int c2 = z->c; /* or, line 46 */
572
+ z->I[1] = z->l;
573
+ z->I[0] = z->l;
574
+ { int c1 = z->c;
575
+ { int c2 = z->c;
577
576
  if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2;
578
- { int c3 = z->c; /* or, line 45 */
577
+ { int c3 = z->c;
579
578
  if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab4;
580
- { /* gopast */ /* grouping v, line 45 */
579
+ {
581
580
  int ret = out_grouping_U(z, g_v, 97, 259, 1);
582
581
  if (ret < 0) goto lab4;
583
582
  z->c += ret;
@@ -586,7 +585,7 @@ static int r_mark_regions(struct SN_env * z) {
586
585
  lab4:
587
586
  z->c = c3;
588
587
  if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab2;
589
- { /* gopast */ /* non v, line 45 */
588
+ {
590
589
  int ret = in_grouping_U(z, g_v, 97, 259, 1);
591
590
  if (ret < 0) goto lab2;
592
591
  z->c += ret;
@@ -597,9 +596,9 @@ static int r_mark_regions(struct SN_env * z) {
597
596
  lab2:
598
597
  z->c = c2;
599
598
  if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab0;
600
- { int c4 = z->c; /* or, line 47 */
599
+ { int c4 = z->c;
601
600
  if (out_grouping_U(z, g_v, 97, 259, 0)) goto lab6;
602
- { /* gopast */ /* grouping v, line 47 */
601
+ {
603
602
  int ret = out_grouping_U(z, g_v, 97, 259, 1);
604
603
  if (ret < 0) goto lab6;
605
604
  z->c += ret;
@@ -608,42 +607,42 @@ static int r_mark_regions(struct SN_env * z) {
608
607
  lab6:
609
608
  z->c = c4;
610
609
  if (in_grouping_U(z, g_v, 97, 259, 0)) goto lab0;
611
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
610
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
612
611
  if (ret < 0) goto lab0;
613
- z->c = ret; /* next, line 47 */
612
+ z->c = ret;
614
613
  }
615
614
  }
616
615
  lab5:
617
616
  ;
618
617
  }
619
618
  lab1:
620
- z->I[0] = z->c; /* setmark pV, line 48 */
619
+ z->I[2] = z->c;
621
620
  lab0:
622
621
  z->c = c1;
623
622
  }
624
- { int c5 = z->c; /* do, line 50 */
625
- { /* gopast */ /* grouping v, line 51 */
623
+ { int c5 = z->c;
624
+ {
626
625
  int ret = out_grouping_U(z, g_v, 97, 259, 1);
627
626
  if (ret < 0) goto lab7;
628
627
  z->c += ret;
629
628
  }
630
- { /* gopast */ /* non v, line 51 */
629
+ {
631
630
  int ret = in_grouping_U(z, g_v, 97, 259, 1);
632
631
  if (ret < 0) goto lab7;
633
632
  z->c += ret;
634
633
  }
635
- z->I[1] = z->c; /* setmark p1, line 51 */
636
- { /* gopast */ /* grouping v, line 52 */
634
+ z->I[1] = z->c;
635
+ {
637
636
  int ret = out_grouping_U(z, g_v, 97, 259, 1);
638
637
  if (ret < 0) goto lab7;
639
638
  z->c += ret;
640
639
  }
641
- { /* gopast */ /* non v, line 52 */
640
+ {
642
641
  int ret = in_grouping_U(z, g_v, 97, 259, 1);
643
642
  if (ret < 0) goto lab7;
644
643
  z->c += ret;
645
644
  }
646
- z->I[2] = z->c; /* setmark p2, line 52 */
645
+ z->I[0] = z->c;
647
646
  lab7:
648
647
  z->c = c5;
649
648
  }
@@ -652,29 +651,28 @@ static int r_mark_regions(struct SN_env * z) {
652
651
 
653
652
  static int r_postlude(struct SN_env * z) {
654
653
  int among_var;
655
- while(1) { /* repeat, line 56 */
654
+ while(1) {
656
655
  int c1 = z->c;
657
- z->bra = z->c; /* [, line 58 */
656
+ z->bra = z->c;
658
657
  if (z->c >= z->l || (z->p[z->c + 0] != 73 && z->p[z->c + 0] != 85)) among_var = 3; else
659
- among_var = find_among(z, a_0, 3); /* substring, line 58 */
658
+ among_var = find_among(z, a_0, 3);
660
659
  if (!(among_var)) goto lab0;
661
- z->ket = z->c; /* ], line 58 */
662
- switch(among_var) {
663
- case 0: goto lab0;
660
+ z->ket = z->c;
661
+ switch (among_var) {
664
662
  case 1:
665
- { int ret = slice_from_s(z, 1, s_4); /* <-, line 59 */
663
+ { int ret = slice_from_s(z, 1, s_2);
666
664
  if (ret < 0) return ret;
667
665
  }
668
666
  break;
669
667
  case 2:
670
- { int ret = slice_from_s(z, 1, s_5); /* <-, line 60 */
668
+ { int ret = slice_from_s(z, 1, s_3);
671
669
  if (ret < 0) return ret;
672
670
  }
673
671
  break;
674
672
  case 3:
675
- { int ret = skip_utf8(z->p, z->c, 0, z->l, 1);
673
+ { int ret = skip_utf8(z->p, z->c, z->l, 1);
676
674
  if (ret < 0) goto lab0;
677
- z->c = ret; /* next, line 61 */
675
+ z->c = ret;
678
676
  }
679
677
  break;
680
678
  }
@@ -687,7 +685,7 @@ static int r_postlude(struct SN_env * z) {
687
685
  }
688
686
 
689
687
  static int r_RV(struct SN_env * z) {
690
- if (!(z->I[0] <= z->c)) return 0;
688
+ if (!(z->I[2] <= z->c)) return 0;
691
689
  return 1;
692
690
  }
693
691
 
@@ -697,61 +695,59 @@ static int r_R1(struct SN_env * z) {
697
695
  }
698
696
 
699
697
  static int r_R2(struct SN_env * z) {
700
- if (!(z->I[2] <= z->c)) return 0;
698
+ if (!(z->I[0] <= z->c)) return 0;
701
699
  return 1;
702
700
  }
703
701
 
704
702
  static int r_step_0(struct SN_env * z) {
705
703
  int among_var;
706
- z->ket = z->c; /* [, line 73 */
704
+ z->ket = z->c;
707
705
  if (z->c - 1 <= z->lb || z->p[z->c - 1] >> 5 != 3 || !((266786 >> (z->p[z->c - 1] & 0x1f)) & 1)) return 0;
708
- among_var = find_among_b(z, a_1, 16); /* substring, line 73 */
706
+ among_var = find_among_b(z, a_1, 16);
709
707
  if (!(among_var)) return 0;
710
- z->bra = z->c; /* ], line 73 */
708
+ z->bra = z->c;
711
709
  { int ret = r_R1(z);
712
- if (ret == 0) return 0; /* call R1, line 73 */
713
- if (ret < 0) return ret;
710
+ if (ret <= 0) return ret;
714
711
  }
715
- switch(among_var) {
716
- case 0: return 0;
712
+ switch (among_var) {
717
713
  case 1:
718
- { int ret = slice_del(z); /* delete, line 75 */
714
+ { int ret = slice_del(z);
719
715
  if (ret < 0) return ret;
720
716
  }
721
717
  break;
722
718
  case 2:
723
- { int ret = slice_from_s(z, 1, s_6); /* <-, line 77 */
719
+ { int ret = slice_from_s(z, 1, s_4);
724
720
  if (ret < 0) return ret;
725
721
  }
726
722
  break;
727
723
  case 3:
728
- { int ret = slice_from_s(z, 1, s_7); /* <-, line 79 */
724
+ { int ret = slice_from_s(z, 1, s_5);
729
725
  if (ret < 0) return ret;
730
726
  }
731
727
  break;
732
728
  case 4:
733
- { int ret = slice_from_s(z, 1, s_8); /* <-, line 81 */
729
+ { int ret = slice_from_s(z, 1, s_6);
734
730
  if (ret < 0) return ret;
735
731
  }
736
732
  break;
737
733
  case 5:
738
- { int m1 = z->l - z->c; (void)m1; /* not, line 83 */
739
- if (!(eq_s_b(z, 2, s_9))) goto lab0;
734
+ { int m1 = z->l - z->c; (void)m1;
735
+ if (!(eq_s_b(z, 2, s_7))) goto lab0;
740
736
  return 0;
741
737
  lab0:
742
738
  z->c = z->l - m1;
743
739
  }
744
- { int ret = slice_from_s(z, 1, s_10); /* <-, line 83 */
740
+ { int ret = slice_from_s(z, 1, s_8);
745
741
  if (ret < 0) return ret;
746
742
  }
747
743
  break;
748
744
  case 6:
749
- { int ret = slice_from_s(z, 2, s_11); /* <-, line 85 */
745
+ { int ret = slice_from_s(z, 2, s_9);
750
746
  if (ret < 0) return ret;
751
747
  }
752
748
  break;
753
749
  case 7:
754
- { int ret = slice_from_s(z, 4, s_12); /* <-, line 87 */
750
+ { int ret = slice_from_s(z, 4, s_10);
755
751
  if (ret < 0) return ret;
756
752
  }
757
753
  break;
@@ -761,61 +757,59 @@ static int r_step_0(struct SN_env * z) {
761
757
 
762
758
  static int r_combo_suffix(struct SN_env * z) {
763
759
  int among_var;
764
- { int m_test = z->l - z->c; /* test, line 91 */
765
- z->ket = z->c; /* [, line 92 */
766
- among_var = find_among_b(z, a_2, 46); /* substring, line 92 */
760
+ { int m_test1 = z->l - z->c;
761
+ z->ket = z->c;
762
+ among_var = find_among_b(z, a_2, 46);
767
763
  if (!(among_var)) return 0;
768
- z->bra = z->c; /* ], line 92 */
764
+ z->bra = z->c;
769
765
  { int ret = r_R1(z);
770
- if (ret == 0) return 0; /* call R1, line 92 */
771
- if (ret < 0) return ret;
766
+ if (ret <= 0) return ret;
772
767
  }
773
- switch(among_var) {
774
- case 0: return 0;
768
+ switch (among_var) {
775
769
  case 1:
776
- { int ret = slice_from_s(z, 4, s_13); /* <-, line 101 */
770
+ { int ret = slice_from_s(z, 4, s_11);
777
771
  if (ret < 0) return ret;
778
772
  }
779
773
  break;
780
774
  case 2:
781
- { int ret = slice_from_s(z, 4, s_14); /* <-, line 104 */
775
+ { int ret = slice_from_s(z, 4, s_12);
782
776
  if (ret < 0) return ret;
783
777
  }
784
778
  break;
785
779
  case 3:
786
- { int ret = slice_from_s(z, 2, s_15); /* <-, line 107 */
780
+ { int ret = slice_from_s(z, 2, s_13);
787
781
  if (ret < 0) return ret;
788
782
  }
789
783
  break;
790
784
  case 4:
791
- { int ret = slice_from_s(z, 2, s_16); /* <-, line 113 */
785
+ { int ret = slice_from_s(z, 2, s_14);
792
786
  if (ret < 0) return ret;
793
787
  }
794
788
  break;
795
789
  case 5:
796
- { int ret = slice_from_s(z, 2, s_17); /* <-, line 118 */
790
+ { int ret = slice_from_s(z, 2, s_15);
797
791
  if (ret < 0) return ret;
798
792
  }
799
793
  break;
800
794
  case 6:
801
- { int ret = slice_from_s(z, 2, s_18); /* <-, line 122 */
795
+ { int ret = slice_from_s(z, 2, s_16);
802
796
  if (ret < 0) return ret;
803
797
  }
804
798
  break;
805
799
  }
806
- z->B[0] = 1; /* set standard_suffix_removed, line 125 */
807
- z->c = z->l - m_test;
800
+ z->I[3] = 1;
801
+ z->c = z->l - m_test1;
808
802
  }
809
803
  return 1;
810
804
  }
811
805
 
812
806
  static int r_standard_suffix(struct SN_env * z) {
813
807
  int among_var;
814
- z->B[0] = 0; /* unset standard_suffix_removed, line 130 */
815
- while(1) { /* repeat, line 131 */
808
+ z->I[3] = 0;
809
+ while(1) {
816
810
  int m1 = z->l - z->c; (void)m1;
817
811
  { int ret = r_combo_suffix(z);
818
- if (ret == 0) goto lab0; /* call combo_suffix, line 131 */
812
+ if (ret == 0) goto lab0;
819
813
  if (ret < 0) return ret;
820
814
  }
821
815
  continue;
@@ -823,168 +817,142 @@ static int r_standard_suffix(struct SN_env * z) {
823
817
  z->c = z->l - m1;
824
818
  break;
825
819
  }
826
- z->ket = z->c; /* [, line 132 */
827
- among_var = find_among_b(z, a_3, 62); /* substring, line 132 */
820
+ z->ket = z->c;
821
+ among_var = find_among_b(z, a_3, 62);
828
822
  if (!(among_var)) return 0;
829
- z->bra = z->c; /* ], line 132 */
823
+ z->bra = z->c;
830
824
  { int ret = r_R2(z);
831
- if (ret == 0) return 0; /* call R2, line 132 */
832
- if (ret < 0) return ret;
825
+ if (ret <= 0) return ret;
833
826
  }
834
- switch(among_var) {
835
- case 0: return 0;
827
+ switch (among_var) {
836
828
  case 1:
837
- { int ret = slice_del(z); /* delete, line 149 */
829
+ { int ret = slice_del(z);
838
830
  if (ret < 0) return ret;
839
831
  }
840
832
  break;
841
833
  case 2:
842
- if (!(eq_s_b(z, 2, s_19))) return 0;
843
- z->bra = z->c; /* ], line 152 */
844
- { int ret = slice_from_s(z, 1, s_20); /* <-, line 152 */
834
+ if (!(eq_s_b(z, 2, s_17))) return 0;
835
+ z->bra = z->c;
836
+ { int ret = slice_from_s(z, 1, s_18);
845
837
  if (ret < 0) return ret;
846
838
  }
847
839
  break;
848
840
  case 3:
849
- { int ret = slice_from_s(z, 3, s_21); /* <-, line 156 */
841
+ { int ret = slice_from_s(z, 3, s_19);
850
842
  if (ret < 0) return ret;
851
843
  }
852
844
  break;
853
845
  }
854
- z->B[0] = 1; /* set standard_suffix_removed, line 160 */
846
+ z->I[3] = 1;
855
847
  return 1;
856
848
  }
857
849
 
858
850
  static int r_verb_suffix(struct SN_env * z) {
859
851
  int among_var;
860
- { int mlimit; /* setlimit, line 164 */
861
- int m1 = z->l - z->c; (void)m1;
862
- if (z->c < z->I[0]) return 0;
863
- z->c = z->I[0]; /* tomark, line 164 */
864
- mlimit = z->lb; z->lb = z->c;
865
- z->c = z->l - m1;
866
- z->ket = z->c; /* [, line 165 */
867
- among_var = find_among_b(z, a_4, 94); /* substring, line 165 */
868
- if (!(among_var)) { z->lb = mlimit; return 0; }
869
- z->bra = z->c; /* ], line 165 */
870
- switch(among_var) {
871
- case 0: { z->lb = mlimit; return 0; }
852
+
853
+ { int mlimit1;
854
+ if (z->c < z->I[2]) return 0;
855
+ mlimit1 = z->lb; z->lb = z->I[2];
856
+ z->ket = z->c;
857
+ among_var = find_among_b(z, a_4, 94);
858
+ if (!(among_var)) { z->lb = mlimit1; return 0; }
859
+ z->bra = z->c;
860
+ switch (among_var) {
872
861
  case 1:
873
- { int m2 = z->l - z->c; (void)m2; /* or, line 200 */
862
+ { int m2 = z->l - z->c; (void)m2;
874
863
  if (out_grouping_b_U(z, g_v, 97, 259, 0)) goto lab1;
875
864
  goto lab0;
876
865
  lab1:
877
866
  z->c = z->l - m2;
878
- if (!(eq_s_b(z, 1, s_22))) { z->lb = mlimit; return 0; }
867
+ if (z->c <= z->lb || z->p[z->c - 1] != 'u') { z->lb = mlimit1; return 0; }
868
+ z->c--;
879
869
  }
880
870
  lab0:
881
- { int ret = slice_del(z); /* delete, line 200 */
871
+ { int ret = slice_del(z);
882
872
  if (ret < 0) return ret;
883
873
  }
884
874
  break;
885
875
  case 2:
886
- { int ret = slice_del(z); /* delete, line 214 */
876
+ { int ret = slice_del(z);
887
877
  if (ret < 0) return ret;
888
878
  }
889
879
  break;
890
880
  }
891
- z->lb = mlimit;
881
+ z->lb = mlimit1;
892
882
  }
893
883
  return 1;
894
884
  }
895
885
 
896
886
  static int r_vowel_suffix(struct SN_env * z) {
897
- int among_var;
898
- z->ket = z->c; /* [, line 219 */
899
- among_var = find_among_b(z, a_5, 5); /* substring, line 219 */
900
- if (!(among_var)) return 0;
901
- z->bra = z->c; /* ], line 219 */
887
+ z->ket = z->c;
888
+ if (!(find_among_b(z, a_5, 5))) return 0;
889
+ z->bra = z->c;
902
890
  { int ret = r_RV(z);
903
- if (ret == 0) return 0; /* call RV, line 219 */
904
- if (ret < 0) return ret;
891
+ if (ret <= 0) return ret;
905
892
  }
906
- switch(among_var) {
907
- case 0: return 0;
908
- case 1:
909
- { int ret = slice_del(z); /* delete, line 220 */
910
- if (ret < 0) return ret;
911
- }
912
- break;
893
+ { int ret = slice_del(z);
894
+ if (ret < 0) return ret;
913
895
  }
914
896
  return 1;
915
897
  }
916
898
 
917
899
  extern int romanian_UTF_8_stem(struct SN_env * z) {
918
- { int c1 = z->c; /* do, line 226 */
900
+ { int c1 = z->c;
919
901
  { int ret = r_prelude(z);
920
- if (ret == 0) goto lab0; /* call prelude, line 226 */
921
902
  if (ret < 0) return ret;
922
903
  }
923
- lab0:
924
904
  z->c = c1;
925
905
  }
926
- { int c2 = z->c; /* do, line 227 */
927
- { int ret = r_mark_regions(z);
928
- if (ret == 0) goto lab1; /* call mark_regions, line 227 */
929
- if (ret < 0) return ret;
930
- }
931
- lab1:
932
- z->c = c2;
906
+
907
+ { int ret = r_mark_regions(z);
908
+ if (ret < 0) return ret;
933
909
  }
934
- z->lb = z->c; z->c = z->l; /* backwards, line 228 */
910
+ z->lb = z->c; z->c = z->l;
935
911
 
936
- { int m3 = z->l - z->c; (void)m3; /* do, line 229 */
912
+ { int m2 = z->l - z->c; (void)m2;
937
913
  { int ret = r_step_0(z);
938
- if (ret == 0) goto lab2; /* call step_0, line 229 */
939
914
  if (ret < 0) return ret;
940
915
  }
941
- lab2:
942
- z->c = z->l - m3;
916
+ z->c = z->l - m2;
943
917
  }
944
- { int m4 = z->l - z->c; (void)m4; /* do, line 230 */
918
+ { int m3 = z->l - z->c; (void)m3;
945
919
  { int ret = r_standard_suffix(z);
946
- if (ret == 0) goto lab3; /* call standard_suffix, line 230 */
947
920
  if (ret < 0) return ret;
948
921
  }
949
- lab3:
950
- z->c = z->l - m4;
922
+ z->c = z->l - m3;
951
923
  }
952
- { int m5 = z->l - z->c; (void)m5; /* do, line 231 */
953
- { int m6 = z->l - z->c; (void)m6; /* or, line 231 */
954
- if (!(z->B[0])) goto lab6; /* Boolean test standard_suffix_removed, line 231 */
955
- goto lab5;
956
- lab6:
957
- z->c = z->l - m6;
924
+ { int m4 = z->l - z->c; (void)m4;
925
+ { int m5 = z->l - z->c; (void)m5;
926
+ if (!(z->I[3])) goto lab2;
927
+ goto lab1;
928
+ lab2:
929
+ z->c = z->l - m5;
958
930
  { int ret = r_verb_suffix(z);
959
- if (ret == 0) goto lab4; /* call verb_suffix, line 231 */
931
+ if (ret == 0) goto lab0;
960
932
  if (ret < 0) return ret;
961
933
  }
962
934
  }
963
- lab5:
964
- lab4:
965
- z->c = z->l - m5;
935
+ lab1:
936
+ lab0:
937
+ z->c = z->l - m4;
966
938
  }
967
- { int m7 = z->l - z->c; (void)m7; /* do, line 232 */
939
+ { int m6 = z->l - z->c; (void)m6;
968
940
  { int ret = r_vowel_suffix(z);
969
- if (ret == 0) goto lab7; /* call vowel_suffix, line 232 */
970
941
  if (ret < 0) return ret;
971
942
  }
972
- lab7:
973
- z->c = z->l - m7;
943
+ z->c = z->l - m6;
974
944
  }
975
945
  z->c = z->lb;
976
- { int c8 = z->c; /* do, line 234 */
946
+ { int c7 = z->c;
977
947
  { int ret = r_postlude(z);
978
- if (ret == 0) goto lab8; /* call postlude, line 234 */
979
948
  if (ret < 0) return ret;
980
949
  }
981
- lab8:
982
- z->c = c8;
950
+ z->c = c7;
983
951
  }
984
952
  return 1;
985
953
  }
986
954
 
987
- extern struct SN_env * romanian_UTF_8_create_env(void) { return SN_create_env(0, 3, 1); }
955
+ extern struct SN_env * romanian_UTF_8_create_env(void) { return SN_create_env(0, 4); }
988
956
 
989
957
  extern void romanian_UTF_8_close_env(struct SN_env * z) { SN_close_env(z, 0); }
990
958