ramaze.ch.oddb.org 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. data/History.txt +6 -0
  2. data/LICENSE +339 -0
  3. data/Manifest.txt +285 -0
  4. data/README.txt +45 -0
  5. data/Rakefile +28 -0
  6. data/bin/admin +69 -0
  7. data/bin/exportd +63 -0
  8. data/bin/migrate +461 -0
  9. data/bin/oddbd +62 -0
  10. data/data/fulltext/data/dicts/french/fulltext.aff +1057 -0
  11. data/data/fulltext/data/dicts/french/fulltext.dict +91189 -0
  12. data/data/fulltext/data/dicts/french/fulltext.stop +135 -0
  13. data/data/fulltext/data/dicts/german/fulltext.aff +1233 -0
  14. data/data/fulltext/data/dicts/german/fulltext.dict +287574 -0
  15. data/data/fulltext/data/dicts/german/fulltext.stop +133 -0
  16. data/data/fulltext/data/german_compound/README +15 -0
  17. data/data/fulltext/data/german_compound/compound.pl +63 -0
  18. data/data/fulltext/data/german_compound/german.stop +20 -0
  19. data/data/fulltext/data/ispell-german-compound.tar.gz +0 -0
  20. data/data/fulltext/redist/dict_french/Makefile +12 -0
  21. data/data/fulltext/redist/dict_french/README.french +1 -0
  22. data/data/fulltext/redist/dict_french/dict_french.sql.in +7 -0
  23. data/data/fulltext/redist/dict_french/dict_snowball.c +56 -0
  24. data/data/fulltext/redist/dict_french/french_stem.c +1222 -0
  25. data/data/fulltext/redist/dict_french/french_stem.h +16 -0
  26. data/data/fulltext/redist/dict_french/subinclude.h +2 -0
  27. data/data/fulltext/redist/dict_german/Makefile +12 -0
  28. data/data/fulltext/redist/dict_german/README.german +1 -0
  29. data/data/fulltext/redist/dict_german/dict_german.sql.in +7 -0
  30. data/data/fulltext/redist/dict_german/dict_snowball.c +56 -0
  31. data/data/fulltext/redist/dict_german/german_stem.c +527 -0
  32. data/data/fulltext/redist/dict_german/german_stem.h +16 -0
  33. data/data/fulltext/redist/dict_german/subinclude.h +1 -0
  34. data/data/fulltext/redist/french_stem.c +1222 -0
  35. data/data/fulltext/redist/french_stem.h +16 -0
  36. data/data/fulltext/redist/german_stem.c +527 -0
  37. data/data/fulltext/redist/german_stem.h +16 -0
  38. data/lib/fixes/ruby19.rb +21 -0
  39. data/lib/fixes/selenium.rb +20 -0
  40. data/lib/fixes/singular.rb +8 -0
  41. data/lib/fixes/yaml.rb +13 -0
  42. data/lib/oddb.rb +11 -0
  43. data/lib/oddb/business/company.rb +18 -0
  44. data/lib/oddb/business/invoice.rb +75 -0
  45. data/lib/oddb/business/price.rb +60 -0
  46. data/lib/oddb/config.rb +73 -0
  47. data/lib/oddb/drugs.rb +16 -0
  48. data/lib/oddb/drugs/active_agent.rb +37 -0
  49. data/lib/oddb/drugs/atc.rb +53 -0
  50. data/lib/oddb/drugs/composition.rb +41 -0
  51. data/lib/oddb/drugs/ddd.rb +24 -0
  52. data/lib/oddb/drugs/dose.rb +107 -0
  53. data/lib/oddb/drugs/galenic_form.rb +21 -0
  54. data/lib/oddb/drugs/galenic_group.rb +17 -0
  55. data/lib/oddb/drugs/package.rb +87 -0
  56. data/lib/oddb/drugs/part.rb +56 -0
  57. data/lib/oddb/drugs/product.rb +25 -0
  58. data/lib/oddb/drugs/sequence.rb +61 -0
  59. data/lib/oddb/drugs/substance.rb +31 -0
  60. data/lib/oddb/drugs/substance_group.rb +13 -0
  61. data/lib/oddb/drugs/unit.rb +12 -0
  62. data/lib/oddb/export.rb +4 -0
  63. data/lib/oddb/export/csv.rb +89 -0
  64. data/lib/oddb/export/l10n_sessions.rb +30 -0
  65. data/lib/oddb/export/rss.rb +44 -0
  66. data/lib/oddb/export/server.rb +58 -0
  67. data/lib/oddb/export/xls.rb +119 -0
  68. data/lib/oddb/export/yaml.rb +123 -0
  69. data/lib/oddb/html/state/drugs/admin/package.rb +189 -0
  70. data/lib/oddb/html/state/drugs/admin/product.rb +56 -0
  71. data/lib/oddb/html/state/drugs/admin/sequence.rb +259 -0
  72. data/lib/oddb/html/state/drugs/ajax/explain_ddd_price.rb +19 -0
  73. data/lib/oddb/html/state/drugs/ajax/explain_price.rb +19 -0
  74. data/lib/oddb/html/state/drugs/ajax/global.rb +18 -0
  75. data/lib/oddb/html/state/drugs/ajax/package_infos.rb +19 -0
  76. data/lib/oddb/html/state/drugs/ajax/remote_infos.rb +19 -0
  77. data/lib/oddb/html/state/drugs/atc_browser.rb +39 -0
  78. data/lib/oddb/html/state/drugs/atc_guidelines.rb +21 -0
  79. data/lib/oddb/html/state/drugs/compare.rb +52 -0
  80. data/lib/oddb/html/state/drugs/download_export.rb +18 -0
  81. data/lib/oddb/html/state/drugs/fachinfo.rb +21 -0
  82. data/lib/oddb/html/state/drugs/feedback.rb +94 -0
  83. data/lib/oddb/html/state/drugs/global.rb +266 -0
  84. data/lib/oddb/html/state/drugs/init.rb +18 -0
  85. data/lib/oddb/html/state/drugs/login.rb +17 -0
  86. data/lib/oddb/html/state/drugs/package.rb +32 -0
  87. data/lib/oddb/html/state/drugs/patinfo.rb +21 -0
  88. data/lib/oddb/html/state/drugs/products.rb +51 -0
  89. data/lib/oddb/html/state/drugs/result.rb +125 -0
  90. data/lib/oddb/html/state/global.rb +165 -0
  91. data/lib/oddb/html/state/global_predefine.rb +17 -0
  92. data/lib/oddb/html/state/limit.rb +17 -0
  93. data/lib/oddb/html/state/login.rb +56 -0
  94. data/lib/oddb/html/state/paypal/checkout.rb +130 -0
  95. data/lib/oddb/html/state/paypal/collect.rb +46 -0
  96. data/lib/oddb/html/state/paypal/redirect.rb +18 -0
  97. data/lib/oddb/html/state/register_export.rb +38 -0
  98. data/lib/oddb/html/state/register_poweruser.rb +17 -0
  99. data/lib/oddb/html/state/viral/admin.rb +76 -0
  100. data/lib/oddb/html/state/viral/poweruser.rb +16 -0
  101. data/lib/oddb/html/util/annotated_list.rb +39 -0
  102. data/lib/oddb/html/util/know_it_all.rb +28 -0
  103. data/lib/oddb/html/util/known_user.rb +55 -0
  104. data/lib/oddb/html/util/lookandfeel.rb +554 -0
  105. data/lib/oddb/html/util/need_all_input.rb +29 -0
  106. data/lib/oddb/html/util/session.rb +88 -0
  107. data/lib/oddb/html/util/sort.rb +72 -0
  108. data/lib/oddb/html/util/unsaved_helper.rb +20 -0
  109. data/lib/oddb/html/util/validator.rb +54 -0
  110. data/lib/oddb/html/view/ajax/json.rb +22 -0
  111. data/lib/oddb/html/view/alpha_header.rb +28 -0
  112. data/lib/oddb/html/view/document.rb +126 -0
  113. data/lib/oddb/html/view/drugs/admin/package.rb +237 -0
  114. data/lib/oddb/html/view/drugs/admin/product.rb +104 -0
  115. data/lib/oddb/html/view/drugs/admin/sequence.rb +312 -0
  116. data/lib/oddb/html/view/drugs/ajax/explain_ddd_price.rb +87 -0
  117. data/lib/oddb/html/view/drugs/ajax/explain_price.rb +61 -0
  118. data/lib/oddb/html/view/drugs/ajax/package_infos.rb +105 -0
  119. data/lib/oddb/html/view/drugs/ajax/remote_infos.rb +44 -0
  120. data/lib/oddb/html/view/drugs/atc_browser.rb +68 -0
  121. data/lib/oddb/html/view/drugs/atc_guidelines.rb +94 -0
  122. data/lib/oddb/html/view/drugs/compare.rb +95 -0
  123. data/lib/oddb/html/view/drugs/download_export.rb +28 -0
  124. data/lib/oddb/html/view/drugs/fachinfo.rb +46 -0
  125. data/lib/oddb/html/view/drugs/feedback.rb +231 -0
  126. data/lib/oddb/html/view/drugs/init.rb +51 -0
  127. data/lib/oddb/html/view/drugs/legend.rb +24 -0
  128. data/lib/oddb/html/view/drugs/package.rb +398 -0
  129. data/lib/oddb/html/view/drugs/patinfo.rb +46 -0
  130. data/lib/oddb/html/view/drugs/products.rb +97 -0
  131. data/lib/oddb/html/view/drugs/result.rb +296 -0
  132. data/lib/oddb/html/view/drugs/search.rb +33 -0
  133. data/lib/oddb/html/view/drugs/template.rb +15 -0
  134. data/lib/oddb/html/view/foot.rb +52 -0
  135. data/lib/oddb/html/view/google.rb +23 -0
  136. data/lib/oddb/html/view/google_ads.rb +40 -0
  137. data/lib/oddb/html/view/head.rb +78 -0
  138. data/lib/oddb/html/view/limit.rb +109 -0
  139. data/lib/oddb/html/view/list.rb +59 -0
  140. data/lib/oddb/html/view/login.rb +38 -0
  141. data/lib/oddb/html/view/navigation.rb +67 -0
  142. data/lib/oddb/html/view/offset_header.rb +35 -0
  143. data/lib/oddb/html/view/paypal/collect.rb +84 -0
  144. data/lib/oddb/html/view/paypal/redirect.rb +51 -0
  145. data/lib/oddb/html/view/paypal/register_form.rb +106 -0
  146. data/lib/oddb/html/view/register_export.rb +29 -0
  147. data/lib/oddb/html/view/register_poweruser.rb +29 -0
  148. data/lib/oddb/html/view/rss/feedback.rb +64 -0
  149. data/lib/oddb/html/view/rss_preview.rb +54 -0
  150. data/lib/oddb/html/view/search.rb +104 -0
  151. data/lib/oddb/html/view/snapback.rb +24 -0
  152. data/lib/oddb/html/view/template.rb +56 -0
  153. data/lib/oddb/import/excel.rb +45 -0
  154. data/lib/oddb/import/import.rb +39 -0
  155. data/lib/oddb/import/rtf.rb +410 -0
  156. data/lib/oddb/import/whocc.rb +173 -0
  157. data/lib/oddb/import/xml.rb +15 -0
  158. data/lib/oddb/model.rb +179 -0
  159. data/lib/oddb/persistence/odba.rb +33 -0
  160. data/lib/oddb/persistence/odba/business/company.rb +13 -0
  161. data/lib/oddb/persistence/odba/business/invoice.rb +15 -0
  162. data/lib/oddb/persistence/odba/drugs/atc.rb +15 -0
  163. data/lib/oddb/persistence/odba/drugs/galenic_form.rb +18 -0
  164. data/lib/oddb/persistence/odba/drugs/galenic_group.rb +13 -0
  165. data/lib/oddb/persistence/odba/drugs/package.rb +25 -0
  166. data/lib/oddb/persistence/odba/drugs/product.rb +13 -0
  167. data/lib/oddb/persistence/odba/drugs/sequence.rb +21 -0
  168. data/lib/oddb/persistence/odba/drugs/substance.rb +21 -0
  169. data/lib/oddb/persistence/odba/drugs/substance_group.rb +13 -0
  170. data/lib/oddb/persistence/odba/drugs/unit.rb +13 -0
  171. data/lib/oddb/persistence/odba/export.rb +26 -0
  172. data/lib/oddb/persistence/odba/model.rb +68 -0
  173. data/lib/oddb/persistence/odba/regulatory/authority.rb +13 -0
  174. data/lib/oddb/persistence/odba/regulatory/registration.rb +13 -0
  175. data/lib/oddb/persistence/odba/text/document.rb +11 -0
  176. data/lib/oddb/persistence/odba/util/code.rb +11 -0
  177. data/lib/oddb/persistence/odba/util/m10l_document.rb +13 -0
  178. data/lib/oddb/persistence/og.rb +16 -0
  179. data/lib/oddb/persistence/og/drugs/composition.rb +14 -0
  180. data/lib/oddb/persistence/og/drugs/product.rb +14 -0
  181. data/lib/oddb/persistence/og/drugs/sequence.rb +15 -0
  182. data/lib/oddb/persistence/og/model.rb +25 -0
  183. data/lib/oddb/persistence/og/util/multilingual.rb +13 -0
  184. data/lib/oddb/redist/rtf_tools/reader.rb +139 -0
  185. data/lib/oddb/regulatory/authority.rb +14 -0
  186. data/lib/oddb/regulatory/registration.rb +15 -0
  187. data/lib/oddb/remote/business/company.rb +23 -0
  188. data/lib/oddb/remote/drugs/active_agent.rb +27 -0
  189. data/lib/oddb/remote/drugs/atc.rb +32 -0
  190. data/lib/oddb/remote/drugs/dose.rb +8 -0
  191. data/lib/oddb/remote/drugs/galenic_form.rb +25 -0
  192. data/lib/oddb/remote/drugs/package.rb +126 -0
  193. data/lib/oddb/remote/drugs/part.rb +30 -0
  194. data/lib/oddb/remote/drugs/product.rb +19 -0
  195. data/lib/oddb/remote/drugs/sequence.rb +46 -0
  196. data/lib/oddb/remote/drugs/substance.rb +20 -0
  197. data/lib/oddb/remote/drugs/unit.rb +19 -0
  198. data/lib/oddb/remote/object.rb +36 -0
  199. data/lib/oddb/remote/text/document.rb +20 -0
  200. data/lib/oddb/remote/util/m10l_document.rb +22 -0
  201. data/lib/oddb/text/chapter.rb +27 -0
  202. data/lib/oddb/text/document.rb +43 -0
  203. data/lib/oddb/text/format.rb +37 -0
  204. data/lib/oddb/text/paragraph.rb +58 -0
  205. data/lib/oddb/text/picture.rb +93 -0
  206. data/lib/oddb/text/table.rb +68 -0
  207. data/lib/oddb/util.rb +8 -0
  208. data/lib/oddb/util/annotated_list.rb +37 -0
  209. data/lib/oddb/util/code.rb +69 -0
  210. data/lib/oddb/util/comparison.rb +36 -0
  211. data/lib/oddb/util/exporter.rb +8 -0
  212. data/lib/oddb/util/feedback.rb +23 -0
  213. data/lib/oddb/util/ipn.rb +48 -0
  214. data/lib/oddb/util/m10l_document.rb +38 -0
  215. data/lib/oddb/util/mail.rb +73 -0
  216. data/lib/oddb/util/money.rb +60 -0
  217. data/lib/oddb/util/multilingual.rb +70 -0
  218. data/lib/oddb/util/quanty.rb +4 -0
  219. data/lib/oddb/util/quanty/fact.rb +229 -0
  220. data/lib/oddb/util/quanty/main.rb +160 -0
  221. data/lib/oddb/util/quanty/parse.rb +853 -0
  222. data/lib/oddb/util/quanty/units.dump +0 -0
  223. data/lib/oddb/util/server.rb +117 -0
  224. data/lib/oddb/util/updater.rb +41 -0
  225. data/lib/oddb/util/ydim.rb +110 -0
  226. data/lib/oddb/util/yus.rb +46 -0
  227. data/test/business/test_company.rb +29 -0
  228. data/test/business/test_price.rb +46 -0
  229. data/test/drugs/test_active_agent.rb +53 -0
  230. data/test/drugs/test_atc.rb +54 -0
  231. data/test/drugs/test_composition.rb +88 -0
  232. data/test/drugs/test_ddd.rb +22 -0
  233. data/test/drugs/test_dose.rb +190 -0
  234. data/test/drugs/test_galenic_form.rb +41 -0
  235. data/test/drugs/test_package.rb +173 -0
  236. data/test/drugs/test_part.rb +32 -0
  237. data/test/drugs/test_product.rb +31 -0
  238. data/test/drugs/test_sequence.rb +140 -0
  239. data/test/drugs/test_substance.rb +51 -0
  240. data/test/drugs/test_substance_group.rb +27 -0
  241. data/test/export/test_rss.rb +94 -0
  242. data/test/export/test_server.rb +117 -0
  243. data/test/export/test_xls.rb +152 -0
  244. data/test/export/test_yaml.rb +120 -0
  245. data/test/import/data/html/whocc/A.html +56 -0
  246. data/test/import/data/html/whocc/A03.html +48 -0
  247. data/test/import/data/html/whocc/A03AB.html +48 -0
  248. data/test/import/data/html/whocc/A06AA.html +47 -0
  249. data/test/import/data/html/whocc/C03.html +47 -0
  250. data/test/import/data/html/whocc/login.html +77 -0
  251. data/test/import/data/xml/ATC_2006.xml +47 -0
  252. data/test/import/data/xml/ATC_2006_ddd.xml +35 -0
  253. data/test/import/test_excel.rb +34 -0
  254. data/test/import/test_rtf.rb +40 -0
  255. data/test/import/test_whocc.rb +315 -0
  256. data/test/remote/drugs/test_active_agent.rb +36 -0
  257. data/test/selenium/selenium-server.jar +0 -0
  258. data/test/selenium/test_atc_browser.rb +122 -0
  259. data/test/selenium/test_atc_guidelines.rb +96 -0
  260. data/test/selenium/test_collect.rb +138 -0
  261. data/test/selenium/test_compare.rb +206 -0
  262. data/test/selenium/test_fachinfo.rb +130 -0
  263. data/test/selenium/test_feedback.rb +196 -0
  264. data/test/selenium/test_init.rb +52 -0
  265. data/test/selenium/test_limit.rb +305 -0
  266. data/test/selenium/test_login.rb +67 -0
  267. data/test/selenium/test_package.rb +512 -0
  268. data/test/selenium/test_patinfo.rb +131 -0
  269. data/test/selenium/test_product.rb +80 -0
  270. data/test/selenium/test_products.rb +142 -0
  271. data/test/selenium/test_search.rb +715 -0
  272. data/test/selenium/test_sequence.rb +543 -0
  273. data/test/selenium/unit.rb +185 -0
  274. data/test/stub/http_server.rb +169 -0
  275. data/test/stub/model.rb +173 -0
  276. data/test/suite.rb +15 -0
  277. data/test/test_model.rb +83 -0
  278. data/test/util/test_code.rb +74 -0
  279. data/test/util/test_ipn.rb +117 -0
  280. data/test/util/test_mail.rb +86 -0
  281. data/test/util/test_multilingual.rb +97 -0
  282. data/test/util/test_server.rb +48 -0
  283. data/test/util/test_updater.rb +353 -0
  284. data/test/util/test_ydim.rb +115 -0
  285. data/test/util/test_yus.rb +79 -0
  286. metadata +418 -0
@@ -0,0 +1,16 @@
1
+
2
+ /* This file was generated automatically by the Snowball to ANSI C compiler */
3
+
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ extern struct SN_env * french_create_env(void);
9
+ extern void french_close_env(struct SN_env * z);
10
+
11
+ extern int french_stem(struct SN_env * z);
12
+
13
+ #ifdef __cplusplus
14
+ }
15
+ #endif
16
+
@@ -0,0 +1,527 @@
1
+
2
+ /* This file was generated automatically by the Snowball to ANSI C compiler */
3
+
4
+ #include "header.h"
5
+
6
+ extern int german_stem(struct SN_env * z);
7
+ static int r_standard_suffix(struct SN_env * z);
8
+ static int r_R2(struct SN_env * z);
9
+ static int r_R1(struct SN_env * z);
10
+ static int r_mark_regions(struct SN_env * z);
11
+ static int r_postlude(struct SN_env * z);
12
+ static int r_prelude(struct SN_env * z);
13
+
14
+ extern struct SN_env * german_create_env(void);
15
+ extern void german_close_env(struct SN_env * z);
16
+
17
+ static symbol s_0_1[2] = { 'a', 'e' };
18
+ static symbol s_0_2[2] = { 'o', 'e' };
19
+ static symbol s_0_3[2] = { 'q', 'u' };
20
+ static symbol s_0_4[2] = { 'u', 'e' };
21
+ static symbol s_0_5[1] = { 0xDF };
22
+
23
+ static struct among a_0[6] =
24
+ {
25
+ /* 0 */ { 0, 0, -1, 6, 0},
26
+ /* 1 */ { 2, s_0_1, 0, 2, 0},
27
+ /* 2 */ { 2, s_0_2, 0, 3, 0},
28
+ /* 3 */ { 2, s_0_3, 0, 5, 0},
29
+ /* 4 */ { 2, s_0_4, 0, 4, 0},
30
+ /* 5 */ { 1, s_0_5, 0, 1, 0}
31
+ };
32
+
33
+ static symbol s_1_1[1] = { 'U' };
34
+ static symbol s_1_2[1] = { 'Y' };
35
+ static symbol s_1_3[1] = { 0xE4 };
36
+ static symbol s_1_4[1] = { 0xF6 };
37
+ static symbol s_1_5[1] = { 0xFC };
38
+
39
+ static struct among a_1[6] =
40
+ {
41
+ /* 0 */ { 0, 0, -1, 6, 0},
42
+ /* 1 */ { 1, s_1_1, 0, 2, 0},
43
+ /* 2 */ { 1, s_1_2, 0, 1, 0},
44
+ /* 3 */ { 1, s_1_3, 0, 3, 0},
45
+ /* 4 */ { 1, s_1_4, 0, 4, 0},
46
+ /* 5 */ { 1, s_1_5, 0, 5, 0}
47
+ };
48
+
49
+ static symbol s_2_0[1] = { 'e' };
50
+ static symbol s_2_1[2] = { 'e', 'm' };
51
+ static symbol s_2_2[2] = { 'e', 'n' };
52
+ static symbol s_2_3[3] = { 'e', 'r', 'n' };
53
+ static symbol s_2_4[2] = { 'e', 'r' };
54
+ static symbol s_2_5[1] = { 's' };
55
+ static symbol s_2_6[2] = { 'e', 's' };
56
+
57
+ static struct among a_2[7] =
58
+ {
59
+ /* 0 */ { 1, s_2_0, -1, 1, 0},
60
+ /* 1 */ { 2, s_2_1, -1, 1, 0},
61
+ /* 2 */ { 2, s_2_2, -1, 1, 0},
62
+ /* 3 */ { 3, s_2_3, -1, 1, 0},
63
+ /* 4 */ { 2, s_2_4, -1, 1, 0},
64
+ /* 5 */ { 1, s_2_5, -1, 2, 0},
65
+ /* 6 */ { 2, s_2_6, 5, 1, 0}
66
+ };
67
+
68
+ static symbol s_3_0[2] = { 'e', 'n' };
69
+ static symbol s_3_1[2] = { 'e', 'r' };
70
+ static symbol s_3_2[2] = { 's', 't' };
71
+ static symbol s_3_3[3] = { 'e', 's', 't' };
72
+
73
+ static struct among a_3[4] =
74
+ {
75
+ /* 0 */ { 2, s_3_0, -1, 1, 0},
76
+ /* 1 */ { 2, s_3_1, -1, 1, 0},
77
+ /* 2 */ { 2, s_3_2, -1, 2, 0},
78
+ /* 3 */ { 3, s_3_3, 2, 1, 0}
79
+ };
80
+
81
+ static symbol s_4_0[2] = { 'i', 'g' };
82
+ static symbol s_4_1[4] = { 'l', 'i', 'c', 'h' };
83
+
84
+ static struct among a_4[2] =
85
+ {
86
+ /* 0 */ { 2, s_4_0, -1, 1, 0},
87
+ /* 1 */ { 4, s_4_1, -1, 1, 0}
88
+ };
89
+
90
+ static symbol s_5_0[3] = { 'e', 'n', 'd' };
91
+ static symbol s_5_1[2] = { 'i', 'g' };
92
+ static symbol s_5_2[3] = { 'u', 'n', 'g' };
93
+ static symbol s_5_3[4] = { 'l', 'i', 'c', 'h' };
94
+ static symbol s_5_4[4] = { 'i', 's', 'c', 'h' };
95
+ static symbol s_5_5[2] = { 'i', 'k' };
96
+ static symbol s_5_6[4] = { 'h', 'e', 'i', 't' };
97
+ static symbol s_5_7[4] = { 'k', 'e', 'i', 't' };
98
+
99
+ static struct among a_5[8] =
100
+ {
101
+ /* 0 */ { 3, s_5_0, -1, 1, 0},
102
+ /* 1 */ { 2, s_5_1, -1, 2, 0},
103
+ /* 2 */ { 3, s_5_2, -1, 1, 0},
104
+ /* 3 */ { 4, s_5_3, -1, 3, 0},
105
+ /* 4 */ { 4, s_5_4, -1, 2, 0},
106
+ /* 5 */ { 2, s_5_5, -1, 2, 0},
107
+ /* 6 */ { 4, s_5_6, -1, 3, 0},
108
+ /* 7 */ { 4, s_5_7, -1, 4, 0}
109
+ };
110
+
111
+ static unsigned char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8 };
112
+
113
+ static unsigned char g_s_ending[] = { 117, 30, 5 };
114
+
115
+ static unsigned char g_st_ending[] = { 117, 30, 4 };
116
+
117
+ static symbol s_0[] = { 'u' };
118
+ static symbol s_1[] = { 'U' };
119
+ static symbol s_2[] = { 'y' };
120
+ static symbol s_3[] = { 'Y' };
121
+ static symbol s_4[] = { 's', 's' };
122
+ static symbol s_5[] = { 0xE4 };
123
+ static symbol s_6[] = { 0xF6 };
124
+ static symbol s_7[] = { 0xFC };
125
+ static symbol s_8[] = { 'y' };
126
+ static symbol s_9[] = { 'u' };
127
+ static symbol s_10[] = { 'a' };
128
+ static symbol s_11[] = { 'o' };
129
+ static symbol s_12[] = { 'u' };
130
+ static symbol s_13[] = { 'i', 'g' };
131
+ static symbol s_14[] = { 'e' };
132
+ static symbol s_15[] = { 'e' };
133
+ static symbol s_16[] = { 'e', 'r' };
134
+ static symbol s_17[] = { 'e', 'n' };
135
+
136
+ static int r_prelude(struct SN_env * z) {
137
+ int among_var;
138
+ { int c_test = z->c; /* test, line 30 */
139
+ while(1) { /* repeat, line 30 */
140
+ int c = z->c;
141
+ while(1) { /* goto, line 30 */
142
+ int c = z->c;
143
+ if (!(in_grouping(z, g_v, 97, 252))) goto lab1;
144
+ z->bra = z->c; /* [, line 31 */
145
+ { int c = z->c; /* or, line 31 */
146
+ if (!(eq_s(z, 1, s_0))) goto lab3;
147
+ z->ket = z->c; /* ], line 31 */
148
+ if (!(in_grouping(z, g_v, 97, 252))) goto lab3;
149
+ {
150
+ slice_from_s(z, 1, s_1); /* <-, line 31 */
151
+ }
152
+ goto lab2;
153
+ lab3:
154
+ z->c = c;
155
+ if (!(eq_s(z, 1, s_2))) goto lab1;
156
+ z->ket = z->c; /* ], line 32 */
157
+ if (!(in_grouping(z, g_v, 97, 252))) goto lab1;
158
+ {
159
+ slice_from_s(z, 1, s_3); /* <-, line 32 */
160
+ }
161
+ }
162
+ lab2:
163
+ z->c = c;
164
+ break;
165
+ lab1:
166
+ z->c = c;
167
+ if (z->c >= z->l) goto lab0;
168
+ z->c++; /* goto, line 30 */
169
+ }
170
+ continue;
171
+ lab0:
172
+ z->c = c;
173
+ break;
174
+ }
175
+ z->c = c_test;
176
+ }
177
+ while(1) { /* repeat, line 35 */
178
+ int c = z->c;
179
+ z->bra = z->c; /* [, line 36 */
180
+ among_var = find_among(z, a_0, 6); /* substring, line 36 */
181
+ if (!(among_var)) goto lab4;
182
+ z->ket = z->c; /* ], line 36 */
183
+ switch(among_var) {
184
+ case 0: goto lab4;
185
+ case 1:
186
+ {
187
+ slice_from_s(z, 2, s_4); /* <-, line 37 */
188
+ }
189
+ break;
190
+ case 2:
191
+ {
192
+ slice_from_s(z, 1, s_5); /* <-, line 38 */
193
+ }
194
+ break;
195
+ case 3:
196
+ {
197
+ slice_from_s(z, 1, s_6); /* <-, line 39 */
198
+ }
199
+ break;
200
+ case 4:
201
+ {
202
+ slice_from_s(z, 1, s_7); /* <-, line 40 */
203
+ }
204
+ break;
205
+ case 5:
206
+ { int c = z->c + 2;
207
+ if (0 > c || c > z->l) goto lab4;
208
+ z->c = c; /* hop, line 41 */
209
+ }
210
+ break;
211
+ case 6:
212
+ if (z->c >= z->l) goto lab4;
213
+ z->c++; /* next, line 42 */
214
+ break;
215
+ }
216
+ continue;
217
+ lab4:
218
+ z->c = c;
219
+ break;
220
+ }
221
+ return 1;
222
+ }
223
+
224
+ static int r_mark_regions(struct SN_env * z) {
225
+ z->I[0] = z->l;
226
+ z->I[1] = z->l;
227
+ while(1) { /* gopast, line 53 */
228
+ if (!(in_grouping(z, g_v, 97, 252))) goto lab0;
229
+ break;
230
+ lab0:
231
+ if (z->c >= z->l) return 0;
232
+ z->c++; /* gopast, line 53 */
233
+ }
234
+ while(1) { /* gopast, line 53 */
235
+ if (!(out_grouping(z, g_v, 97, 252))) goto lab1;
236
+ break;
237
+ lab1:
238
+ if (z->c >= z->l) return 0;
239
+ z->c++; /* gopast, line 53 */
240
+ }
241
+ z->I[0] = z->c; /* setmark p1, line 53 */
242
+ /* try, line 54 */
243
+ if (!(z->I[0] < 3)) goto lab2;
244
+ z->I[0] = 3;
245
+ lab2:
246
+ while(1) { /* gopast, line 55 */
247
+ if (!(in_grouping(z, g_v, 97, 252))) goto lab3;
248
+ break;
249
+ lab3:
250
+ if (z->c >= z->l) return 0;
251
+ z->c++; /* gopast, line 55 */
252
+ }
253
+ while(1) { /* gopast, line 55 */
254
+ if (!(out_grouping(z, g_v, 97, 252))) goto lab4;
255
+ break;
256
+ lab4:
257
+ if (z->c >= z->l) return 0;
258
+ z->c++; /* gopast, line 55 */
259
+ }
260
+ z->I[1] = z->c; /* setmark p2, line 55 */
261
+ return 1;
262
+ }
263
+
264
+ static int r_postlude(struct SN_env * z) {
265
+ int among_var;
266
+ while(1) { /* repeat, line 59 */
267
+ int c = z->c;
268
+ z->bra = z->c; /* [, line 61 */
269
+ among_var = find_among(z, a_1, 6); /* substring, line 61 */
270
+ if (!(among_var)) goto lab0;
271
+ z->ket = z->c; /* ], line 61 */
272
+ switch(among_var) {
273
+ case 0: goto lab0;
274
+ case 1:
275
+ {
276
+ slice_from_s(z, 1, s_8); /* <-, line 62 */
277
+ }
278
+ break;
279
+ case 2:
280
+ {
281
+ slice_from_s(z, 1, s_9); /* <-, line 63 */
282
+ }
283
+ break;
284
+ case 3:
285
+ {
286
+ slice_from_s(z, 1, s_10); /* <-, line 64 */
287
+ }
288
+ break;
289
+ case 4:
290
+ {
291
+ slice_from_s(z, 1, s_11); /* <-, line 65 */
292
+ }
293
+ break;
294
+ case 5:
295
+ {
296
+ slice_from_s(z, 1, s_12); /* <-, line 66 */
297
+ }
298
+ break;
299
+ case 6:
300
+ if (z->c >= z->l) goto lab0;
301
+ z->c++; /* next, line 67 */
302
+ break;
303
+ }
304
+ continue;
305
+ lab0:
306
+ z->c = c;
307
+ break;
308
+ }
309
+ return 1;
310
+ }
311
+
312
+ static int r_R1(struct SN_env * z) {
313
+ if (!(z->I[0] <= z->c)) return 0;
314
+ return 1;
315
+ }
316
+
317
+ static int r_R2(struct SN_env * z) {
318
+ if (!(z->I[1] <= z->c)) return 0;
319
+ return 1;
320
+ }
321
+
322
+ static int r_standard_suffix(struct SN_env * z) {
323
+ int among_var;
324
+ { int m = z->l - z->c; (void) m; /* do, line 78 */
325
+ z->ket = z->c; /* [, line 79 */
326
+ among_var = find_among_b(z, a_2, 7); /* substring, line 79 */
327
+ if (!(among_var)) goto lab0;
328
+ z->bra = z->c; /* ], line 79 */
329
+ { int ret = r_R1(z);
330
+ if (ret == 0) goto lab0; /* call R1, line 79 */
331
+ if (ret < 0) return ret;
332
+ }
333
+ switch(among_var) {
334
+ case 0: goto lab0;
335
+ case 1:
336
+ {
337
+ slice_del(z); /* delete, line 81 */
338
+ }
339
+ break;
340
+ case 2:
341
+ if (!(in_grouping_b(z, g_s_ending, 98, 116))) goto lab0;
342
+ {
343
+ slice_del(z); /* delete, line 84 */
344
+ }
345
+ break;
346
+ }
347
+ lab0:
348
+ z->c = z->l - m;
349
+ }
350
+ { int m = z->l - z->c; (void) m; /* do, line 88 */
351
+ z->ket = z->c; /* [, line 89 */
352
+ among_var = find_among_b(z, a_3, 4); /* substring, line 89 */
353
+ if (!(among_var)) goto lab1;
354
+ z->bra = z->c; /* ], line 89 */
355
+ { int ret = r_R1(z);
356
+ if (ret == 0) goto lab1; /* call R1, line 89 */
357
+ if (ret < 0) return ret;
358
+ }
359
+ switch(among_var) {
360
+ case 0: goto lab1;
361
+ case 1:
362
+ {
363
+ slice_del(z); /* delete, line 91 */
364
+ }
365
+ break;
366
+ case 2:
367
+ if (!(in_grouping_b(z, g_st_ending, 98, 116))) goto lab1;
368
+ { int c = z->c - 3;
369
+ if (z->lb > c || c > z->l) goto lab1;
370
+ z->c = c; /* hop, line 94 */
371
+ }
372
+ {
373
+ slice_del(z); /* delete, line 94 */
374
+ }
375
+ break;
376
+ }
377
+ lab1:
378
+ z->c = z->l - m;
379
+ }
380
+ { int m = z->l - z->c; (void) m; /* do, line 98 */
381
+ z->ket = z->c; /* [, line 99 */
382
+ among_var = find_among_b(z, a_5, 8); /* substring, line 99 */
383
+ if (!(among_var)) goto lab2;
384
+ z->bra = z->c; /* ], line 99 */
385
+ { int ret = r_R2(z);
386
+ if (ret == 0) goto lab2; /* call R2, line 99 */
387
+ if (ret < 0) return ret;
388
+ }
389
+ switch(among_var) {
390
+ case 0: goto lab2;
391
+ case 1:
392
+ {
393
+ slice_del(z); /* delete, line 101 */
394
+ }
395
+ { int m = z->l - z->c; (void) m; /* try, line 102 */
396
+ z->ket = z->c; /* [, line 102 */
397
+ if (!(eq_s_b(z, 2, s_13))) { z->c = z->l - m; goto lab3; }
398
+ z->bra = z->c; /* ], line 102 */
399
+ { int m = z->l - z->c; (void) m; /* not, line 102 */
400
+ if (!(eq_s_b(z, 1, s_14))) goto lab4;
401
+ { z->c = z->l - m; goto lab3; }
402
+ lab4:
403
+ z->c = z->l - m;
404
+ }
405
+ { int ret = r_R2(z);
406
+ if (ret == 0) { z->c = z->l - m; goto lab3; } /* call R2, line 102 */
407
+ if (ret < 0) return ret;
408
+ }
409
+ {
410
+ slice_del(z); /* delete, line 102 */
411
+ }
412
+ lab3:
413
+ ;
414
+ }
415
+ break;
416
+ case 2:
417
+ { int m = z->l - z->c; (void) m; /* not, line 105 */
418
+ if (!(eq_s_b(z, 1, s_15))) goto lab5;
419
+ goto lab2;
420
+ lab5:
421
+ z->c = z->l - m;
422
+ }
423
+ {
424
+ slice_del(z); /* delete, line 105 */
425
+ }
426
+ break;
427
+ case 3:
428
+ {
429
+ slice_del(z); /* delete, line 108 */
430
+ }
431
+ { int m = z->l - z->c; (void) m; /* try, line 109 */
432
+ z->ket = z->c; /* [, line 110 */
433
+ { int m = z->l - z->c; (void) m; /* or, line 110 */
434
+ if (!(eq_s_b(z, 2, s_16))) goto lab8;
435
+ goto lab7;
436
+ lab8:
437
+ z->c = z->l - m;
438
+ if (!(eq_s_b(z, 2, s_17))) { z->c = z->l - m; goto lab6; }
439
+ }
440
+ lab7:
441
+ z->bra = z->c; /* ], line 110 */
442
+ { int ret = r_R1(z);
443
+ if (ret == 0) { z->c = z->l - m; goto lab6; } /* call R1, line 110 */
444
+ if (ret < 0) return ret;
445
+ }
446
+ {
447
+ slice_del(z); /* delete, line 110 */
448
+ }
449
+ lab6:
450
+ ;
451
+ }
452
+ break;
453
+ case 4:
454
+ {
455
+ slice_del(z); /* delete, line 114 */
456
+ }
457
+ { int m = z->l - z->c; (void) m; /* try, line 115 */
458
+ z->ket = z->c; /* [, line 116 */
459
+ among_var = find_among_b(z, a_4, 2); /* substring, line 116 */
460
+ if (!(among_var)) { z->c = z->l - m; goto lab9; }
461
+ z->bra = z->c; /* ], line 116 */
462
+ { int ret = r_R2(z);
463
+ if (ret == 0) { z->c = z->l - m; goto lab9; } /* call R2, line 116 */
464
+ if (ret < 0) return ret;
465
+ }
466
+ switch(among_var) {
467
+ case 0: { z->c = z->l - m; goto lab9; }
468
+ case 1:
469
+ {
470
+ slice_del(z); /* delete, line 118 */
471
+ }
472
+ break;
473
+ }
474
+ lab9:
475
+ ;
476
+ }
477
+ break;
478
+ }
479
+ lab2:
480
+ z->c = z->l - m;
481
+ }
482
+ return 1;
483
+ }
484
+
485
+ extern int german_stem(struct SN_env * z) {
486
+ { int c = z->c; /* do, line 129 */
487
+ { int ret = r_prelude(z);
488
+ if (ret == 0) goto lab0; /* call prelude, line 129 */
489
+ if (ret < 0) return ret;
490
+ }
491
+ lab0:
492
+ z->c = c;
493
+ }
494
+ { int c = z->c; /* do, line 130 */
495
+ { int ret = r_mark_regions(z);
496
+ if (ret == 0) goto lab1; /* call mark_regions, line 130 */
497
+ if (ret < 0) return ret;
498
+ }
499
+ lab1:
500
+ z->c = c;
501
+ }
502
+ z->lb = z->c; z->c = z->l; /* backwards, line 131 */
503
+
504
+ { int m = z->l - z->c; (void) m; /* do, line 132 */
505
+ { int ret = r_standard_suffix(z);
506
+ if (ret == 0) goto lab2; /* call standard_suffix, line 132 */
507
+ if (ret < 0) return ret;
508
+ }
509
+ lab2:
510
+ z->c = z->l - m;
511
+ }
512
+ z->c = z->lb;
513
+ { int c = z->c; /* do, line 133 */
514
+ { int ret = r_postlude(z);
515
+ if (ret == 0) goto lab3; /* call postlude, line 133 */
516
+ if (ret < 0) return ret;
517
+ }
518
+ lab3:
519
+ z->c = c;
520
+ }
521
+ return 1;
522
+ }
523
+
524
+ extern struct SN_env * german_create_env(void) { return SN_create_env(0, 2, 0); }
525
+
526
+ extern void german_close_env(struct SN_env * z) { SN_close_env(z); }
527
+