home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / compile_to_jvm11.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  59.8 KB  |  1,869 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_jvm.h"
  9. T0* r199at(T199* C,T0* a1){
  10. T0* R=NULL;
  11. int _foo=0;
  12. _foo=r199has(C,a1);
  13. R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_has_mem/*24*/));
  14. return R;
  15. }
  16. void r199expand(T199* C){
  17. int _old_size=0;
  18. int _i=0;
  19. C->_item_mem=0;
  20. _old_size=X477count((((T199*)C))->_store/*4*/);
  21. r429resize(((T429*)((((T199*)C))->_chain/*12*/)),1,(2)*(_old_size));
  22. r52resize(((T52*)((((T199*)C))->_keys/*0*/)),1,(2)*(_old_size));
  23. X477resize((((T199*)C))->_store/*4*/,1,(2)*(_old_size));
  24. _i=(_old_size)+(1);
  25. while (!((_i)==(r429count(((T429*)((((T199*)C))->_chain/*12*/)))))) {
  26. /*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
  27. int b1=(_i)+(1);
  28. int b2=_i;
  29. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  30. }/*]*/
  31. _i=(_i)+(1);
  32. }
  33. /*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
  34. int b1=(((T199*)C))->_free/*16*/;
  35. int b2=_i;
  36. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  37. }/*]*/
  38. C->_free=(_old_size)+(1);
  39. }
  40. /*No:DICTIONARY[RUN_FEATURE,STRING].free*/
  41. void r199make(T199* C){
  42. C->_modulus=(2)*(32);
  43. {T226*n=malloc(sizeof(*n));
  44. *n=M226;
  45. r226make(n,(((T199*)C))->_modulus/*20*/);
  46. C->_buckets=(T0*)n;
  47. }
  48. {T429*n=malloc(sizeof(*n));
  49. *n=M429;
  50. r429make(n,1,32);
  51. C->_chain=(T0*)n;
  52. }
  53. {T477*n=malloc(sizeof(*n));
  54. *n=M477;
  55. r477make(n,1,32);
  56. C->_store=(T0*)n;
  57. }
  58. {T52*n=malloc(sizeof(*n));
  59. *n=M52;
  60. r52make(n,1,32);
  61. C->_keys=(T0*)n;
  62. }
  63. r199initialize(C);
  64. }
  65. T0* r199item(T199* C,int a1){
  66. T0* R=NULL;
  67. /*IF*/if (((((T199*)C))->_item_mem/*28*/)==(0)) {
  68. r199first(C);
  69. while (!((a1)==((((T199*)C))->_item_mem/*28*/))) {
  70. r199forth(C);
  71. }
  72. R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_item_mem_j/*32*/));
  73. }
  74.  else if (((((T199*)C))->_item_mem/*28*/)<=(a1)) {
  75. while (!((a1)==((((T199*)C))->_item_mem/*28*/))) {
  76. r199forth(C);
  77. }
  78. R=/*X477*/((T0*)r477item(((T477*)((((T199*)C))->_store/*4*/)),(((T199*)C))->_item_mem_j/*32*/));
  79. }
  80. else {
  81. C->_item_mem=0;
  82. R=r199item(C,a1);
  83. }
  84. /*FI*/return R;
  85. }
  86. /*No:DICTIONARY[RUN_FEATURE,STRING].item_mem_i*/
  87. void r199resize(T199* C,int a1){
  88. int _p=0;
  89. int _n=0;
  90. int _i=0;
  91. int _hash=0;
  92. r226copy(((T226*)(oBC672tmp_buckets)),(((T199*)C))->_buckets/*8*/);
  93. r226make(((T226*)((((T199*)C))->_buckets/*8*/)),a1);
  94. _i=0;
  95. while (!((_i)>=((((T199*)C))->_modulus/*20*/))) {
  96. _n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
  97. while (!((_n)==(0))) {
  98. _p=r429item(((T429*)((((T199*)C))->_chain/*12*/)),_n);
  99. _hash=(r7hash_code(((T7*)(r52item(((T52*)((((T199*)C))->_keys/*0*/)),_n)))))%(a1);
  100. /*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
  101. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  102. int b2=_n;
  103. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  104. }/*]*/
  105. /*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
  106. /*]*/
  107. _n=_p;
  108. }
  109. _i=(_i)+(1);
  110. }
  111. C->_modulus=a1;
  112. C->_item_mem=0;
  113. }
  114. /*No:DICTIONARY[RUN_FEATURE,STRING].item_mem_j*/
  115. /*No:DICTIONARY[RUN_FEATURE,STRING].item_mem*/
  116. /*No:DICTIONARY[RUN_FEATURE,STRING].chain*/
  117. /*No:DICTIONARY[RUN_FEATURE,STRING].buckets*/
  118. /*No:DICTIONARY[RUN_FEATURE,STRING].keys*/
  119. int r199has(T199* C,T0* a1){
  120. int R=0;
  121. /*IF*/if ((((((T199*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
  122. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T199*)C))->_modulus/*20*/)]/*)*/;
  123. while (!((((((T199*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
  124. C->_has_mem=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_has_mem/*24*/);
  125. }
  126. }
  127. /*FI*/R=((((T199*)C))->_has_mem/*24*/)!=(0);
  128. return R;
  129. }
  130. /*No:DICTIONARY[RUN_FEATURE,STRING].Min_size*/
  131. void r199forth(T199* C){
  132. int _i=0;
  133. /*IF*/if ((r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_item_mem_j/*32*/))!=(0)) {
  134. C->_item_mem_j=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_item_mem_j/*32*/);
  135. }
  136. else {
  137. _i=((((T199*)C))->_item_mem_i/*36*/)+(1);
  138. while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
  139. _i=(_i)+(1);
  140. }
  141. C->_item_mem_i=_i;
  142. C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
  143. }
  144. /*FI*/C->_item_mem=((((T199*)C))->_item_mem/*28*/)+(1);
  145. }
  146. /*No:DICTIONARY[RUN_FEATURE,STRING].store*/
  147. void r199with_capacity(T199* C,int a1){
  148. int _i=0;
  149. _i=32;
  150. while (!((_i)>=(a1))) {
  151. _i=(2)*(_i);
  152. }
  153. C->_modulus=(2)*(_i);
  154. {T226*n=malloc(sizeof(*n));
  155. *n=M226;
  156. r226make(n,(((T199*)C))->_modulus/*20*/);
  157. C->_buckets=(T0*)n;
  158. }
  159. {T429*n=malloc(sizeof(*n));
  160. *n=M429;
  161. r429make(n,1,_i);
  162. C->_chain=(T0*)n;
  163. }
  164. {T477*n=malloc(sizeof(*n));
  165. *n=M477;
  166. r477make(n,1,_i);
  167. C->_store=(T0*)n;
  168. }
  169. {T52*n=malloc(sizeof(*n));
  170. *n=M52;
  171. r52make(n,1,_i);
  172. C->_keys=(T0*)n;
  173. }
  174. r199initialize(C);
  175. }
  176. void r199put(T199* C,T0* a1,T0* a2){
  177. int _hash=0;
  178. _hash=(r7hash_code(((T7*)a2)))%((((T199*)C))->_modulus/*20*/);
  179. /*IF*/if ((((((T199*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
  180. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  181. while (!((((((T199*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T199*)C))->_keys/*0*/)),(((T199*)C))->_has_mem/*24*/))))) {
  182. C->_has_mem=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_has_mem/*24*/);
  183. }
  184. /*IF*/if (((((T199*)C))->_has_mem/*24*/)==(0)) {
  185. /*IF*/if (((((T199*)C))->_count/*40*/)>=(X477count((((T199*)C))->_store/*4*/))) {
  186. r199expand(C);
  187. }
  188. /*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T199*)C))->_keys/*0*/));
  189. T0* b1=a2;
  190. int b2=(((T199*)C))->_free/*16*/;
  191. ((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
  192. }/*]*/
  193. /*X477*//*[IRF3.6put*/{T477* C1=((T477*)((((T199*)C))->_store/*4*/));
  194. T0* b1=a1;
  195. int b2=(((T199*)C))->_free/*16*/;
  196. ((((T477*)C1))->_storage/*4*/)[(b2)-((((T477*)C1))->_lower/*16*/)]=(b1);
  197. }/*]*/
  198. C->_has_mem=(((T199*)C))->_free/*16*/;
  199. C->_free=r429item(((T429*)((((T199*)C))->_chain/*12*/)),(((T199*)C))->_free/*16*/);
  200. /*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
  201. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  202. int b2=(((T199*)C))->_has_mem/*24*/;
  203. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  204. }/*]*/
  205. /*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T199*)C))->_has_mem/*24*/);
  206. /*]*/
  207. C->_count=((((T199*)C))->_count/*40*/)+(1);
  208. /*IF*/if (((((T199*)C))->_count/*40*/)>(((((T199*)C))->_modulus/*20*/)*(2))) {
  209. r199resize(C,(2)*((((T199*)C))->_modulus/*20*/));
  210. }
  211. /*FI*/}
  212. /*FI*/}
  213. else {
  214. /*X477*//*[IRF3.6put*/{T477* C1=((T477*)((((T199*)C))->_store/*4*/));
  215. T0* b1=a1;
  216. int b2=(((T199*)C))->_has_mem/*24*/;
  217. ((((T477*)C1))->_storage/*4*/)[(b2)-((((T477*)C1))->_lower/*16*/)]=(b1);
  218. }/*]*/
  219. }
  220. /*FI*/C->_item_mem=0;
  221. }
  222. /*No:DICTIONARY[RUN_FEATURE,STRING].modulus*/
  223. /*No:DICTIONARY[RUN_FEATURE,STRING].count*/
  224. /*No:DICTIONARY[RUN_FEATURE,STRING].has_mem*/
  225. void r199initialize(T199* C){
  226. int _i=0;
  227. C->_count=0;
  228. C->_free=1;
  229. C->_has_mem=0;
  230. C->_item_mem=0;
  231. _i=1;
  232. while (!((_i)==(r429count(((T429*)((((T199*)C))->_chain/*12*/)))))) {
  233. /*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
  234. int b1=(_i)+(1);
  235. int b2=_i;
  236. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  237. }/*]*/
  238. _i=(_i)+(1);
  239. }
  240. /*[IRF3.6put*/{T429* C1=((T429*)((((T199*)C))->_chain/*12*/));
  241. int b1=0;
  242. int b2=_i;
  243. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  244. }/*]*/
  245. _i=0;
  246. while (!((_i)>=((((T199*)C))->_modulus/*20*/))) {
  247. /*[IRF3.5put*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
  248. /*]*/
  249. _i=(_i)+(1);
  250. }
  251. }
  252. void r199first(T199* C){
  253. int _i=0;
  254. _i=0;
  255. while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
  256. _i=(_i)+(1);
  257. }
  258. C->_item_mem_i=_i;
  259. C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T199*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
  260. C->_item_mem=1;
  261. }
  262. T0* r718at(T718* C,T0* a1){
  263. T0* R=NULL;
  264. int _foo=0;
  265. _foo=r718has(C,a1);
  266. R=r863item(((T863*)((((T718*)C))->_store/*4*/)),(((T718*)C))->_has_mem/*24*/);
  267. return R;
  268. }
  269. void r718expand(T718* C){
  270. int _old_size=0;
  271. int _i=0;
  272. C->_item_mem=0;
  273. _old_size=r863count(((T863*)((((T718*)C))->_store/*4*/)));
  274. r429resize(((T429*)((((T718*)C))->_chain/*12*/)),1,(2)*(_old_size));
  275. r52resize(((T52*)((((T718*)C))->_keys/*0*/)),1,(2)*(_old_size));
  276. r863resize(((T863*)((((T718*)C))->_store/*4*/)),1,(2)*(_old_size));
  277. _i=(_old_size)+(1);
  278. while (!((_i)==(r429count(((T429*)((((T718*)C))->_chain/*12*/)))))) {
  279. /*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
  280. int b1=(_i)+(1);
  281. int b2=_i;
  282. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  283. }/*]*/
  284. _i=(_i)+(1);
  285. }
  286. /*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
  287. int b1=(((T718*)C))->_free/*16*/;
  288. int b2=_i;
  289. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  290. }/*]*/
  291. C->_free=(_old_size)+(1);
  292. }
  293. /*No:DICTIONARY[BASE_CLASS,STRING].free*/
  294. void r718make(T718* C){
  295. C->_modulus=(2)*(32);
  296. {T226*n=malloc(sizeof(*n));
  297. *n=M226;
  298. r226make(n,(((T718*)C))->_modulus/*20*/);
  299. C->_buckets=(T0*)n;
  300. }
  301. {T429*n=malloc(sizeof(*n));
  302. *n=M429;
  303. r429make(n,1,32);
  304. C->_chain=(T0*)n;
  305. }
  306. {T863*n=malloc(sizeof(*n));
  307. *n=M863;
  308. r863make(n,1,32);
  309. C->_store=(T0*)n;
  310. }
  311. {T52*n=malloc(sizeof(*n));
  312. *n=M52;
  313. r52make(n,1,32);
  314. C->_keys=(T0*)n;
  315. }
  316. r718initialize(C);
  317. }
  318. void r718resize(T718* C,int a1){
  319. int _p=0;
  320. int _n=0;
  321. int _i=0;
  322. int _hash=0;
  323. r226copy(((T226*)(oBC672tmp_buckets)),(((T718*)C))->_buckets/*8*/);
  324. r226make(((T226*)((((T718*)C))->_buckets/*8*/)),a1);
  325. _i=0;
  326. while (!((_i)>=((((T718*)C))->_modulus/*20*/))) {
  327. _n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
  328. while (!((_n)==(0))) {
  329. _p=r429item(((T429*)((((T718*)C))->_chain/*12*/)),_n);
  330. _hash=(r7hash_code(((T7*)(r52item(((T52*)((((T718*)C))->_keys/*0*/)),_n)))))%(a1);
  331. /*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
  332. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  333. int b2=_n;
  334. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  335. }/*]*/
  336. /*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
  337. /*]*/
  338. _n=_p;
  339. }
  340. _i=(_i)+(1);
  341. }
  342. C->_modulus=a1;
  343. C->_item_mem=0;
  344. }
  345. /*No:DICTIONARY[BASE_CLASS,STRING].item_mem*/
  346. /*No:DICTIONARY[BASE_CLASS,STRING].chain*/
  347. /*No:DICTIONARY[BASE_CLASS,STRING].keys*/
  348. /*No:DICTIONARY[BASE_CLASS,STRING].buckets*/
  349. int r718has(T718* C,T0* a1){
  350. int R=0;
  351. /*IF*/if ((((((T718*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
  352. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T718*)C))->_modulus/*20*/)]/*)*/;
  353. while (!((((((T718*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
  354. C->_has_mem=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_has_mem/*24*/);
  355. }
  356. }
  357. /*FI*/R=((((T718*)C))->_has_mem/*24*/)!=(0);
  358. return R;
  359. }
  360. /*No:DICTIONARY[BASE_CLASS,STRING].Min_size*/
  361. /*No:DICTIONARY[BASE_CLASS,STRING].store*/
  362. void r718put(T718* C,T0* a1,T0* a2){
  363. int _hash=0;
  364. _hash=(r7hash_code(((T7*)a2)))%((((T718*)C))->_modulus/*20*/);
  365. /*IF*/if ((((((T718*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
  366. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  367. while (!((((((T718*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T718*)C))->_keys/*0*/)),(((T718*)C))->_has_mem/*24*/))))) {
  368. C->_has_mem=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_has_mem/*24*/);
  369. }
  370. /*IF*/if (((((T718*)C))->_has_mem/*24*/)==(0)) {
  371. /*IF*/if (((((T718*)C))->_count/*32*/)>=(r863count(((T863*)((((T718*)C))->_store/*4*/))))) {
  372. r718expand(C);
  373. }
  374. /*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T718*)C))->_keys/*0*/));
  375. T0* b1=a2;
  376. int b2=(((T718*)C))->_free/*16*/;
  377. ((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
  378. }/*]*/
  379. /*[IRF3.6put*/{T863* C1=((T863*)((((T718*)C))->_store/*4*/));
  380. T0* b1=a1;
  381. int b2=(((T718*)C))->_free/*16*/;
  382. ((((T863*)C1))->_storage/*0*/)[(b2)-((((T863*)C1))->_lower/*12*/)]=(b1);
  383. }/*]*/
  384. C->_has_mem=(((T718*)C))->_free/*16*/;
  385. C->_free=r429item(((T429*)((((T718*)C))->_chain/*12*/)),(((T718*)C))->_free/*16*/);
  386. /*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
  387. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  388. int b2=(((T718*)C))->_has_mem/*24*/;
  389. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  390. }/*]*/
  391. /*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T718*)C))->_has_mem/*24*/);
  392. /*]*/
  393. C->_count=((((T718*)C))->_count/*32*/)+(1);
  394. /*IF*/if (((((T718*)C))->_count/*32*/)>(((((T718*)C))->_modulus/*20*/)*(2))) {
  395. r718resize(C,(2)*((((T718*)C))->_modulus/*20*/));
  396. }
  397. /*FI*/}
  398. /*FI*/}
  399. else {
  400. /*[IRF3.6put*/{T863* C1=((T863*)((((T718*)C))->_store/*4*/));
  401. T0* b1=a1;
  402. int b2=(((T718*)C))->_has_mem/*24*/;
  403. ((((T863*)C1))->_storage/*0*/)[(b2)-((((T863*)C1))->_lower/*12*/)]=(b1);
  404. }/*]*/
  405. }
  406. /*FI*/C->_item_mem=0;
  407. }
  408. /*No:DICTIONARY[BASE_CLASS,STRING].modulus*/
  409. /*No:DICTIONARY[BASE_CLASS,STRING].count*/
  410. /*No:DICTIONARY[BASE_CLASS,STRING].has_mem*/
  411. void r718initialize(T718* C){
  412. int _i=0;
  413. C->_count=0;
  414. C->_free=1;
  415. C->_has_mem=0;
  416. C->_item_mem=0;
  417. _i=1;
  418. while (!((_i)==(r429count(((T429*)((((T718*)C))->_chain/*12*/)))))) {
  419. /*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
  420. int b1=(_i)+(1);
  421. int b2=_i;
  422. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  423. }/*]*/
  424. _i=(_i)+(1);
  425. }
  426. /*[IRF3.6put*/{T429* C1=((T429*)((((T718*)C))->_chain/*12*/));
  427. int b1=0;
  428. int b2=_i;
  429. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  430. }/*]*/
  431. _i=0;
  432. while (!((_i)>=((((T718*)C))->_modulus/*20*/))) {
  433. /*[IRF3.5put*/((((T226*)((T226*)((((T718*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
  434. /*]*/
  435. _i=(_i)+(1);
  436. }
  437. }
  438. /*No:MEMO[COMMENT].item*/
  439. /*No:MEMO[COMMENT].clear*/
  440. /*No:MEMO[COMMENT].set_item*/
  441. T0* r250at(T250* C,T0* a1){
  442. T0* R=NULL;
  443. int _foo=0;
  444. _foo=r250has(C,a1);
  445. R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_has_mem/*24*/);
  446. return R;
  447. }
  448. void r250expand(T250* C){
  449. int _old_size=0;
  450. int _i=0;
  451. C->_item_mem=0;
  452. _old_size=r396count(((T396*)((((T250*)C))->_store/*4*/)));
  453. r429resize(((T429*)((((T250*)C))->_chain/*12*/)),1,(2)*(_old_size));
  454. r52resize(((T52*)((((T250*)C))->_keys/*0*/)),1,(2)*(_old_size));
  455. r396resize(((T396*)((((T250*)C))->_store/*4*/)),1,(2)*(_old_size));
  456. _i=(_old_size)+(1);
  457. while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
  458. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  459. int b1=(_i)+(1);
  460. int b2=_i;
  461. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  462. }/*]*/
  463. _i=(_i)+(1);
  464. }
  465. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  466. int b1=(((T250*)C))->_free/*16*/;
  467. int b2=_i;
  468. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  469. }/*]*/
  470. C->_free=(_old_size)+(1);
  471. }
  472. /*No:DICTIONARY[RUN_CLASS,STRING].free*/
  473. void r250make(T250* C){
  474. C->_modulus=(2)*(32);
  475. {T226*n=malloc(sizeof(*n));
  476. *n=M226;
  477. r226make(n,(((T250*)C))->_modulus/*20*/);
  478. C->_buckets=(T0*)n;
  479. }
  480. {T429*n=malloc(sizeof(*n));
  481. *n=M429;
  482. r429make(n,1,32);
  483. C->_chain=(T0*)n;
  484. }
  485. {T396*n=malloc(sizeof(*n));
  486. *n=M396;
  487. r396make(n,1,32);
  488. C->_store=(T0*)n;
  489. }
  490. {T52*n=malloc(sizeof(*n));
  491. *n=M52;
  492. r52make(n,1,32);
  493. C->_keys=(T0*)n;
  494. }
  495. r250initialize(C);
  496. }
  497. T0* r250item(T250* C,int a1){
  498. T0* R=NULL;
  499. /*IF*/if (((((T250*)C))->_item_mem/*28*/)==(0)) {
  500. r250first(C);
  501. while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
  502. r250forth(C);
  503. }
  504. R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
  505. }
  506.  else if (((((T250*)C))->_item_mem/*28*/)<=(a1)) {
  507. while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
  508. r250forth(C);
  509. }
  510. R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
  511. }
  512. else {
  513. C->_item_mem=0;
  514. R=r250item(C,a1);
  515. }
  516. /*FI*/return R;
  517. }
  518. /*No:DICTIONARY[RUN_CLASS,STRING].item_mem_i*/
  519. void r250resize(T250* C,int a1){
  520. int _p=0;
  521. int _n=0;
  522. int _i=0;
  523. int _hash=0;
  524. r226copy(((T226*)(oBC672tmp_buckets)),(((T250*)C))->_buckets/*8*/);
  525. r226make(((T226*)((((T250*)C))->_buckets/*8*/)),a1);
  526. _i=0;
  527. while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
  528. _n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
  529. while (!((_n)==(0))) {
  530. _p=r429item(((T429*)((((T250*)C))->_chain/*12*/)),_n);
  531. _hash=(r7hash_code(((T7*)(r52item(((T52*)((((T250*)C))->_keys/*0*/)),_n)))))%(a1);
  532. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  533. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  534. int b2=_n;
  535. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  536. }/*]*/
  537. /*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
  538. /*]*/
  539. _n=_p;
  540. }
  541. _i=(_i)+(1);
  542. }
  543. C->_modulus=a1;
  544. C->_item_mem=0;
  545. }
  546. /*No:DICTIONARY[RUN_CLASS,STRING].item_mem_j*/
  547. /*No:DICTIONARY[RUN_CLASS,STRING].item_mem*/
  548. /*No:DICTIONARY[RUN_CLASS,STRING].chain*/
  549. /*No:DICTIONARY[RUN_CLASS,STRING].keys*/
  550. /*No:DICTIONARY[RUN_CLASS,STRING].buckets*/
  551. int r250has(T250* C,T0* a1){
  552. int R=0;
  553. /*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
  554. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T250*)C))->_modulus/*20*/)]/*)*/;
  555. while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
  556. C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
  557. }
  558. }
  559. /*FI*/R=((((T250*)C))->_has_mem/*24*/)!=(0);
  560. return R;
  561. }
  562. /*No:DICTIONARY[RUN_CLASS,STRING].Min_size*/
  563. void r250forth(T250* C){
  564. int _i=0;
  565. /*IF*/if ((r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/))!=(0)) {
  566. C->_item_mem_j=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/);
  567. }
  568. else {
  569. _i=((((T250*)C))->_item_mem_i/*36*/)+(1);
  570. while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
  571. _i=(_i)+(1);
  572. }
  573. C->_item_mem_i=_i;
  574. C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
  575. }
  576. /*FI*/C->_item_mem=((((T250*)C))->_item_mem/*28*/)+(1);
  577. }
  578. /*No:DICTIONARY[RUN_CLASS,STRING].store*/
  579. void r250put(T250* C,T0* a1,T0* a2){
  580. int _hash=0;
  581. _hash=(r7hash_code(((T7*)a2)))%((((T250*)C))->_modulus/*20*/);
  582. /*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
  583. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  584. while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
  585. C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
  586. }
  587. /*IF*/if (((((T250*)C))->_has_mem/*24*/)==(0)) {
  588. /*IF*/if (((((T250*)C))->_count/*40*/)>=(r396count(((T396*)((((T250*)C))->_store/*4*/))))) {
  589. r250expand(C);
  590. }
  591. /*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T250*)C))->_keys/*0*/));
  592. T0* b1=a2;
  593. int b2=(((T250*)C))->_free/*16*/;
  594. ((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
  595. }/*]*/
  596. /*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
  597. T0* b1=a1;
  598. int b2=(((T250*)C))->_free/*16*/;
  599. ((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
  600. }/*]*/
  601. C->_has_mem=(((T250*)C))->_free/*16*/;
  602. C->_free=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_free/*16*/);
  603. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  604. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  605. int b2=(((T250*)C))->_has_mem/*24*/;
  606. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  607. }/*]*/
  608. /*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T250*)C))->_has_mem/*24*/);
  609. /*]*/
  610. C->_count=((((T250*)C))->_count/*40*/)+(1);
  611. /*IF*/if (((((T250*)C))->_count/*40*/)>(((((T250*)C))->_modulus/*20*/)*(2))) {
  612. r250resize(C,(2)*((((T250*)C))->_modulus/*20*/));
  613. }
  614. /*FI*/}
  615. /*FI*/}
  616. else {
  617. /*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
  618. T0* b1=a1;
  619. int b2=(((T250*)C))->_has_mem/*24*/;
  620. ((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
  621. }/*]*/
  622. }
  623. /*FI*/C->_item_mem=0;
  624. }
  625. /*No:DICTIONARY[RUN_CLASS,STRING].modulus*/
  626. /*No:DICTIONARY[RUN_CLASS,STRING].count*/
  627. /*No:DICTIONARY[RUN_CLASS,STRING].has_mem*/
  628. void r250first(T250* C){
  629. int _i=0;
  630. _i=0;
  631. while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
  632. _i=(_i)+(1);
  633. }
  634. C->_item_mem_i=_i;
  635. C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
  636. C->_item_mem=1;
  637. }
  638. void r250initialize(T250* C){
  639. int _i=0;
  640. C->_count=0;
  641. C->_free=1;
  642. C->_has_mem=0;
  643. C->_item_mem=0;
  644. _i=1;
  645. while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
  646. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  647. int b1=(_i)+(1);
  648. int b2=_i;
  649. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  650. }/*]*/
  651. _i=(_i)+(1);
  652. }
  653. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  654. int b1=0;
  655. int b2=_i;
  656. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  657. }/*]*/
  658. _i=0;
  659. while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
  660. /*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
  661. /*]*/
  662. _i=(_i)+(1);
  663. }
  664. }
  665. T0* r237at(T237* C,T0* a1){
  666. T0* R=NULL;
  667. int _foo=0;
  668. _foo=r237has(C,a1);
  669. R=r495item(((T495*)((((T237*)C))->_store/*4*/)),(((T237*)C))->_has_mem/*24*/);
  670. return R;
  671. }
  672. void r237expand(T237* C){
  673. int _old_size=0;
  674. int _i=0;
  675. C->_item_mem=0;
  676. _old_size=r495count(((T495*)((((T237*)C))->_store/*4*/)));
  677. r429resize(((T429*)((((T237*)C))->_chain/*12*/)),1,(2)*(_old_size));
  678. r52resize(((T52*)((((T237*)C))->_keys/*0*/)),1,(2)*(_old_size));
  679. r495resize(((T495*)((((T237*)C))->_store/*4*/)),1,(2)*(_old_size));
  680. _i=(_old_size)+(1);
  681. while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
  682. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  683. int b1=(_i)+(1);
  684. int b2=_i;
  685. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  686. }/*]*/
  687. _i=(_i)+(1);
  688. }
  689. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  690. int b1=(((T237*)C))->_free/*16*/;
  691. int b2=_i;
  692. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  693. }/*]*/
  694. C->_free=(_old_size)+(1);
  695. }
  696. /*No:DICTIONARY[E_FEATURE,STRING].free*/
  697. void r237resize(T237* C,int a1){
  698. int _p=0;
  699. int _n=0;
  700. int _i=0;
  701. int _hash=0;
  702. r226copy(((T226*)(oBC672tmp_buckets)),(((T237*)C))->_buckets/*8*/);
  703. r226make(((T226*)((((T237*)C))->_buckets/*8*/)),a1);
  704. _i=0;
  705. while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
  706. _n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
  707. while (!((_n)==(0))) {
  708. _p=r429item(((T429*)((((T237*)C))->_chain/*12*/)),_n);
  709. _hash=(r7hash_code(((T7*)(r52item(((T52*)((((T237*)C))->_keys/*0*/)),_n)))))%(a1);
  710. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  711. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  712. int b2=_n;
  713. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  714. }/*]*/
  715. /*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
  716. /*]*/
  717. _n=_p;
  718. }
  719. _i=(_i)+(1);
  720. }
  721. C->_modulus=a1;
  722. C->_item_mem=0;
  723. }
  724. /*No:DICTIONARY[E_FEATURE,STRING].item_mem*/
  725. /*No:DICTIONARY[E_FEATURE,STRING].chain*/
  726. /*No:DICTIONARY[E_FEATURE,STRING].buckets*/
  727. /*No:DICTIONARY[E_FEATURE,STRING].keys*/
  728. int r237has(T237* C,T0* a1){
  729. int R=0;
  730. /*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
  731. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T237*)C))->_modulus/*20*/)]/*)*/;
  732. while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
  733. C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
  734. }
  735. }
  736. /*FI*/R=((((T237*)C))->_has_mem/*24*/)!=(0);
  737. return R;
  738. }
  739. /*No:DICTIONARY[E_FEATURE,STRING].Min_size*/
  740. /*No:DICTIONARY[E_FEATURE,STRING].store*/
  741. void r237with_capacity(T237* C,int a1){
  742. int _i=0;
  743. _i=32;
  744. while (!((_i)>=(a1))) {
  745. _i=(2)*(_i);
  746. }
  747. C->_modulus=(2)*(_i);
  748. {T226*n=malloc(sizeof(*n));
  749. *n=M226;
  750. r226make(n,(((T237*)C))->_modulus/*20*/);
  751. C->_buckets=(T0*)n;
  752. }
  753. {T429*n=malloc(sizeof(*n));
  754. *n=M429;
  755. r429make(n,1,_i);
  756. C->_chain=(T0*)n;
  757. }
  758. {T495*n=malloc(sizeof(*n));
  759. *n=M495;
  760. r495make(n,1,_i);
  761. C->_store=(T0*)n;
  762. }
  763. {T52*n=malloc(sizeof(*n));
  764. *n=M52;
  765. r52make(n,1,_i);
  766. C->_keys=(T0*)n;
  767. }
  768. r237initialize(C);
  769. }
  770. void r237put(T237* C,T0* a1,T0* a2){
  771. int _hash=0;
  772. _hash=(r7hash_code(((T7*)a2)))%((((T237*)C))->_modulus/*20*/);
  773. /*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
  774. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  775. while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
  776. C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
  777. }
  778. /*IF*/if (((((T237*)C))->_has_mem/*24*/)==(0)) {
  779. /*IF*/if (((((T237*)C))->_count/*32*/)>=(r495count(((T495*)((((T237*)C))->_store/*4*/))))) {
  780. r237expand(C);
  781. }
  782. /*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T237*)C))->_keys/*0*/));
  783. T0* b1=a2;
  784. int b2=(((T237*)C))->_free/*16*/;
  785. ((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
  786. }/*]*/
  787. /*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
  788. T0* b1=a1;
  789. int b2=(((T237*)C))->_free/*16*/;
  790. ((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
  791. }/*]*/
  792. C->_has_mem=(((T237*)C))->_free/*16*/;
  793. C->_free=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_free/*16*/);
  794. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  795. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  796. int b2=(((T237*)C))->_has_mem/*24*/;
  797. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  798. }/*]*/
  799. /*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T237*)C))->_has_mem/*24*/);
  800. /*]*/
  801. C->_count=((((T237*)C))->_count/*32*/)+(1);
  802. /*IF*/if (((((T237*)C))->_count/*32*/)>(((((T237*)C))->_modulus/*20*/)*(2))) {
  803. r237resize(C,(2)*((((T237*)C))->_modulus/*20*/));
  804. }
  805. /*FI*/}
  806. /*FI*/}
  807. else {
  808. /*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
  809. T0* b1=a1;
  810. int b2=(((T237*)C))->_has_mem/*24*/;
  811. ((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
  812. }/*]*/
  813. }
  814. /*FI*/C->_item_mem=0;
  815. }
  816. /*No:DICTIONARY[E_FEATURE,STRING].modulus*/
  817. /*No:DICTIONARY[E_FEATURE,STRING].count*/
  818. /*No:DICTIONARY[E_FEATURE,STRING].has_mem*/
  819. void r237initialize(T237* C){
  820. int _i=0;
  821. C->_count=0;
  822. C->_free=1;
  823. C->_has_mem=0;
  824. C->_item_mem=0;
  825. _i=1;
  826. while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
  827. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  828. int b1=(_i)+(1);
  829. int b2=_i;
  830. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  831. }/*]*/
  832. _i=(_i)+(1);
  833. }
  834. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  835. int b1=0;
  836. int b2=_i;
  837. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  838. }/*]*/
  839. _i=0;
  840. while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
  841. /*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
  842. /*]*/
  843. _i=(_i)+(1);
  844. }
  845. }
  846. T0*oBC364eh=NULL;
  847. /*No:COMPILE_TO_JVM.dos_system*/
  848. /*No:COMPILE_TO_JVM.fz_system_se*/
  849. /*No:COMPILE_TO_JVM.fz_sys*/
  850. T0*oBC364run_control=NULL;
  851. T0*oBC364tmp_file_read=NULL;
  852. /*No:COMPILE_TO_JVM.unix_system*/
  853. /*No:COMPILE_TO_JVM.us_compile_to_jvm*/
  854. /*No:COMPILE_TO_JVM.exit_failure_code*/
  855. /*No:COMPILE_TO_JVM.vms_system*/
  856. int fBC364small_eiffel_directory=0;
  857. T0*oBC364small_eiffel_directory=NULL;
  858. T0* r632small_eiffel_directory(T632* C){
  859. if (fBC364small_eiffel_directory==0){
  860. T0* R=NULL;
  861. char _slash=0;
  862. int _i=0;
  863. fBC364small_eiffel_directory=1;
  864. R=r632get_environment_variable(C,((T0*)ms121_470));
  865. /*IF*/if ((R)==((void*)(NULL))) {
  866. R=r7twin(((T7*)(((T0*)ms121_470))));
  867. r7to_upper(((T7*)R));
  868. R=r632get_environment_variable(C,R);
  869. /*IF*/if ((R)!=((void*)(NULL))) {
  870. r7to_upper(((T7*)(((T0*)ms121_470))));
  871. }
  872. /*FI*/}
  873. /*FI*//*IF*/if ((R)==((void*)(NULL))) {
  874. R=((T0*)ms1_364);
  875. }
  876. /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/;
  877. while (!((_i)<(0))) {
  878. _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  879. /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) {
  880. _i=(_i)-(1);
  881. }
  882. else {
  883. _i=-(1);
  884. }
  885. /*FI*/}
  886. /*IF*/if ((_i)==(0)) {
  887. r7extend(((T7*)R),'\57');
  888. }
  889.  else if (!((r7last(((T7*)R)))==(_slash))) {
  890. r7extend(((T7*)R),_slash);
  891. }
  892. /*FI*/oBC364small_eiffel_directory=R;}
  893. return oBC364small_eiffel_directory;}
  894. /*No:COMPILE_TO_JVM.root_class*/
  895. T0* r632command_name(void){
  896. T0* R=NULL;
  897. R=((T0*)ms59_473);
  898. return R;
  899. }
  900. void r632automat(T632* C){
  901. T0* _a=NULL;
  902. int _arg=0;
  903. _arg=1;
  904. while (!(((_arg)>(/*(IRF4.9argument_count*/(((T927*)((T927*)(r632command_arguments()))))->_upper/*8*//*)*/))||(((((T632*)C))->_state/*0*/)>(7)))) {
  905. _a=r632argument(_arg);
  906. {int z1=(((T632*)C))->_state/*0*/;
  907.  
  908. if((0==z1)){
  909. /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)!=('\55')) {
  910. C->_root_class=_a;
  911. /*[IRF3.3set_root_class*/((((T590*)(((T590*)(oBC364run_control)))))->_root_class)=(_a);
  912. /*]*/
  913. C->_state=1;
  914. }
  915.  else if (r7is_equal(ms3_632,_a)) {
  916. /*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
  917. r632error_level(C,_a);
  918. }
  919. else {
  920. /*[IRF3.3set_boost*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-6);
  921. /*]*/
  922. C->_level=_a;
  923. }
  924. /*FI*/}
  925.  else if (r7is_equal(ms4_632,_a)) {
  926. /*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
  927. r632error_level(C,_a);
  928. }
  929. else {
  930. /*[IRF3.3set_no_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-5);
  931. /*]*/
  932. C->_level=_a;
  933. }
  934. /*FI*/}
  935.  else if (r7is_equal(ms5_632,_a)) {
  936. /*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
  937. r632error_level(C,_a);
  938. }
  939. else {
  940. /*[IRF3.3set_require_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-4);
  941. /*]*/
  942. C->_level=_a;
  943. }
  944. /*FI*/}
  945.  else if (r7is_equal(ms6_632,_a)) {
  946. /*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
  947. r632error_level(C,_a);
  948. }
  949. else {
  950. /*[IRF3.3set_ensure_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-3);
  951. /*]*/
  952. C->_level=_a;
  953. }
  954. /*FI*/}
  955.  else if (r7is_equal(ms7_632,_a)) {
  956. /*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
  957. r632error_level(C,_a);
  958. }
  959. else {
  960. /*[IRF3.3set_invariant_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-2);
  961. /*]*/
  962. C->_level=_a;
  963. }
  964. /*FI*/}
  965.  else if (r7is_equal(ms8_632,_a)) {
  966. /*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
  967. r632error_level(C,_a);
  968. }
  969. else {
  970. /*[IRF3.3set_loop_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-1);
  971. /*]*/
  972. C->_level=_a;
  973. }
  974. /*FI*/}
  975.  else if (r7is_equal(ms9_632,_a)) {
  976. /*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
  977. r632error_level(C,_a);
  978. }
  979. else {
  980. /*[IRF3.3set_all_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(0);
  981. /*]*/
  982. C->_level=_a;
  983. }
  984. /*FI*/}
  985.  else if (r7is_equal(ms10_632,_a)) {
  986. /*IF*/if (((((T632*)C))->_level/*4*/)!=((void*)(NULL))) {
  987. r632error_level(C,_a);
  988. }
  989. else {
  990. /*[IRF3.3set_debug_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(1);
  991. /*]*/
  992. C->_level=_a;
  993. }
  994. /*FI*/}
  995.  else if (r7is_equal(ms11_632,_a)) {
  996. /*[IRF3.3set_no_warning*/((((T683*)(((T683*)(oBC364eh)))))->_no_warning)=(1);
  997. /*]*/
  998. }
  999.  else if (r7is_equal(ms12_632,_a)) {
  1000. /*[IRF3.3set_verbose*/((((T306*)(((T306*)(oBC364echo)))))->_verbose)=(1);
  1001. /*]*/
  1002. }
  1003.  else if (r7is_equal(ms13_632,_a)) {
  1004. /*[IRF3.3set_trace*/((((T590*)(((T590*)(oBC364run_control)))))->_trace)=(1);
  1005. /*]*/
  1006. }
  1007.  else if (r7is_equal(ms14_632,_a)) {
  1008. C->_state=2;
  1009. }
  1010.  else if (r7is_equal(ms15_632,_a)) {
  1011. C->_state=3;
  1012. }
  1013. else {
  1014. /*[IRF3.6append*/{T0* b1=((T0*)ms16_632);
  1015. r7append(((T7*)(oBC683explanation)),b1);
  1016. }/*]*/
  1017. /*[IRF3.6append*/{T0* b1=_a;
  1018. r7append(((T7*)(oBC683explanation)),b1);
  1019. }/*]*/
  1020. /*[IRF3.6append*/{T0* b1=((T0*)ms17_632);
  1021. r7append(((T7*)(oBC683explanation)),b1);
  1022. }/*]*/
  1023. r683print_as_error(((T683*)(oBC364eh)));
  1024. C->_state=9;
  1025. }
  1026. /*FI*/}
  1027.  else 
  1028. if((1==z1)){
  1029. /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)==('\55')) {
  1030. _arg=(_arg)-(1);
  1031. }
  1032. else {
  1033. C->_start_proc=_a;
  1034. }
  1035. /*FI*/C->_state=0;
  1036. }
  1037.  else 
  1038. if((2==z1)){
  1039. /*[IRF3.3set_cecil_path*/((((T590*)(((T590*)(oBC364run_control)))))->_cecil_path)=(_a);
  1040. /*]*/
  1041. C->_state=0;
  1042. }
  1043.  else {/*[IRF3.3set_output_name*/((((T228*)(((T228*)(oBC364jvm)))))->_output_name)=(_a);
  1044. /*]*/
  1045. C->_state=0;
  1046. }}
  1047. _arg=(_arg)+(1);
  1048. }
  1049. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1050. /*IF*/if ((((T590*)((T590*)(oBC364run_control))))->_trace/*4*/) {
  1051. /*IF*/if (r590boost(((T590*)(oBC364run_control)))) {
  1052. /*[IRF3.3set_no_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-5);
  1053. /*]*/
  1054. }
  1055. /*FI*/}
  1056. /*FI*/r604compile_to_jvm(((T604*)(oBC364small_eiffel)),(((T632*)C))->_root_class/*8*/,(((T632*)C))->_start_proc/*12*/);
  1057. }
  1058. /*FI*/}
  1059. /*No:COMPILE_TO_JVM.amiga_system*/
  1060. void r632make(T632* C){
  1061. C->_start_proc=((T0*)ms89_473);
  1062. /*[IRF3.3set_drop_comments*/((((T818*)(((T818*)(oBC364eiffel_parser)))))->_drop_comments)=(1);
  1063. /*]*/
  1064. /*IF*/if ((/*(IRF4.9argument_count*/(((T927*)((T927*)(r632command_arguments()))))->_upper/*8*//*)*/)<(1)) {
  1065. r441put_string(((T441*)(oBC1std_error)),((T0*)ms1_632));
  1066. r632print_help(C,((T0*)ms2_632));
  1067. exit(1);
  1068. }
  1069. else {
  1070. r632automat(C);
  1071. }
  1072. /*FI*/}
  1073. /*No:COMPILE_TO_JVM.nb_errors*/
  1074. /*No:COMPILE_TO_JVM.help_suffix*/
  1075. T0*oBC364help_file_name=NULL;
  1076. T0*oBC1std_error=NULL;
  1077. void r632add_directory(T632* C,T0* a1,T0* a2){
  1078. /*IF*/if ((((T0*)ms17_364))==((void*)(r632system_name(C)))) {
  1079. r7set_last(((T7*)a1),'\57');
  1080. r7append(((T7*)a1),a2);
  1081. r7set_last(((T7*)a1),'\57');
  1082. }
  1083.  else if ((((T0*)ms19_364))==((void*)(r632system_name(C)))) {
  1084. r7set_last(((T7*)a1),'\134');
  1085. r7append(((T7*)a1),a2);
  1086. r7set_last(((T7*)a1),'\134');
  1087. }
  1088.  else if ((((T0*)ms15_364))==((void*)(r632system_name(C)))) {
  1089. r7set_last(((T7*)a1),'\72');
  1090. r7append(((T7*)a1),a2);
  1091. r7set_last(((T7*)a1),'\72');
  1092. }
  1093.  else if ((((T0*)ms14_364))==((void*)(r632system_name(C)))) {
  1094. r7set_last(((T7*)a1),'\134');
  1095. r7append(((T7*)a1),a2);
  1096. r7set_last(((T7*)a1),'\134');
  1097. }
  1098.  else if ((((T0*)ms16_364))==((void*)(r632system_name(C)))) {
  1099. r7set_last(((T7*)a1),'\134');
  1100. r7append(((T7*)a1),a2);
  1101. r7set_last(((T7*)a1),'\134');
  1102. }
  1103.  else if ((((T0*)ms13_364))==((void*)(r632system_name(C)))) {
  1104. r7set_last(((T7*)a1),'\57');
  1105. r7append(((T7*)a1),a2);
  1106. r7set_last(((T7*)a1),'\57');
  1107. }
  1108.  else if ((((T0*)ms18_364))==((void*)(r632system_name(C)))) {
  1109. r7set_last(((T7*)a1),'\135');
  1110. r7remove_last(((T7*)a1),1);
  1111. r7set_last(((T7*)a1),'\56');
  1112. r7append(((T7*)a1),a2);
  1113. r7set_last(((T7*)a1),'\135');
  1114. }
  1115. /*FI*/}
  1116. T670 oBC1file_tools=0;
  1117. T0*oBC1std_output=NULL;
  1118. /*No:COMPILE_TO_JVM.level*/
  1119. /*No:COMPILE_TO_JVM.windows_system*/
  1120. T0*oBC364eiffel_parser=NULL;
  1121. T0*oBC364echo=NULL;
  1122. T0* r632get_environment_variable(T632* C,T0* a1){
  1123. T0* R=NULL;
  1124. void* _p=0;
  1125. _p=r7to_external(((T7*)a1));
  1126. R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
  1127. return R;
  1128. }
  1129. void r632print_help(T632* C,T0* a1){
  1130. r7copy(((T7*)(oBC364help_file_name)),r632small_eiffel_directory(C));
  1131. r632add_directory(C,oBC364help_file_name,((T0*)ms2_364));
  1132. r7append(((T7*)(oBC364help_file_name)),a1);
  1133. /*IF*/if (!(r7has_suffix(((T7*)(oBC364help_file_name)),((T0*)ms39_364)))) {
  1134. r7append(((T7*)(oBC364help_file_name)),((T0*)ms39_364));
  1135. }
  1136. /*FI*//*IF*/if (!(r632file_exists(oBC364help_file_name))) {
  1137. r306w_put_string(((T0*)ms3_364));
  1138. r306w_put_string(oBC364help_file_name);
  1139. r306w_put_string(((T0*)ms242_470));
  1140. exit(1);
  1141. }
  1142. /*FI*/r830append_file(((T830*)(oBC1std_output)),oBC364help_file_name);
  1143. }
  1144. int fBC1command_arguments=0;
  1145. T0*oBC1command_arguments=NULL;
  1146. T0* r632command_arguments(void){
  1147. if (fBC1command_arguments==0){
  1148. T0* R=NULL;
  1149. T0* _arg=NULL;
  1150. int _i=0;
  1151. fBC1command_arguments=1;
  1152. _i=se_argc;
  1153. {T927*n=malloc(sizeof(*n));
  1154. *n=M927;
  1155. r927make(n,_i);
  1156. R=(T0*)n;
  1157. }
  1158. while (!((_i)==(0))) {
  1159. _i=(_i)-(1);
  1160. _arg=((T0*)e2s(se_argv[_i]));
  1161. /*[IRF3.5put*/((((T927*)((T927*)R)))->_storage/*0*/)[_i]=(_arg);
  1162. /*]*/
  1163. }
  1164. oBC1command_arguments=R;}
  1165. return oBC1command_arguments;}
  1166. /*No:COMPILE_TO_JVM.us_make*/
  1167. T0*oBC364system_list=NULL;
  1168. int fBC364system_name=0;
  1169. T0*oBC364system_name=NULL;
  1170. T0* r632system_name(T632* C){
  1171. if (fBC364system_name==0){
  1172. T0* R=NULL;
  1173. int _i=0;
  1174. fBC364system_name=1;
  1175. r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
  1176. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) {
  1177. r7set_last(((T7*)(oBC364tmp_path)),'\57');
  1178. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  1179. r7extend(((T7*)(oBC364tmp_path)),'\57');
  1180. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1181. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1182. }
  1183. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1184. r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
  1185. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) {
  1186. r7set_last(((T7*)(oBC364tmp_path)),'\134');
  1187. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  1188. r7extend(((T7*)(oBC364tmp_path)),'\134');
  1189. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1190. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1191. }
  1192. /*FI*/}
  1193. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1194. r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
  1195. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) {
  1196. r7set_last(((T7*)(oBC364tmp_path)),'\72');
  1197. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  1198. r7extend(((T7*)(oBC364tmp_path)),'\72');
  1199. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1200. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1201. }
  1202. /*FI*/}
  1203. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1204. r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
  1205. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) {
  1206. r7set_last(((T7*)(oBC364tmp_path)),'\135');
  1207. r7remove_last(((T7*)(oBC364tmp_path)),1);
  1208. r7extend(((T7*)(oBC364tmp_path)),'\56');
  1209. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  1210. r7extend(((T7*)(oBC364tmp_path)),'\135');
  1211. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1212. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1213. }
  1214. /*FI*/}
  1215. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1216. r7copy(((T7*)(oBC364tmp_path)),r632small_eiffel_directory(C));
  1217. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1218. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1219. }
  1220. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1221. r306w_put_string(((T0*)ms20_364));
  1222. r306w_put_string(((T0*)ms127_470));
  1223. r306w_put_string(((T0*)ms21_364));
  1224. r306w_put_string(r632small_eiffel_directory(C));
  1225. r306w_put_string(((T0*)ms242_470));
  1226. exit(1);
  1227. }
  1228. /*FI*/r675read_line(((T675*)(oBC364tmp_file_read)));
  1229. R=oBC762last_string;
  1230. _i=r52index_of(((T52*)(oBC364system_list)),R);
  1231. r675disconnect(((T675*)(oBC364tmp_file_read)));
  1232. /*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) {
  1233. r306w_put_string(((T0*)ms22_364));
  1234. r306w_put_string(oBC364tmp_path);
  1235. r306w_put_string(((T0*)ms23_364));
  1236. _i=1;
  1237. while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) {
  1238. r306w_put_string(r52item(((T52*)(oBC364system_list)),_i));
  1239. r306w_put_character('\n');
  1240. _i=(_i)+(1);
  1241. }
  1242. }
  1243. else {
  1244. R=r52item(((T52*)(oBC364system_list)),_i);
  1245. r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364));
  1246. r306put_string(((T306*)(oBC364echo)),R);
  1247. r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470));
  1248. }
  1249. /*FI*/oBC364system_name=R;}
  1250. return oBC364system_name;}
  1251. T0*oBC364jvm=NULL;
  1252. T0*oBC364tmp_path=NULL;
  1253. /*No:COMPILE_TO_JVM.fz_b0*/
  1254. /*No:COMPILE_TO_JVM.fz_se*/
  1255. /*No:COMPILE_TO_JVM.os2_system*/
  1256. T0*oBC364small_eiffel=NULL;
  1257. /*No:COMPILE_TO_JVM.state*/
  1258. int r632file_exists(T0* a1){
  1259. int R=0;
  1260. R=r670is_readable(a1);
  1261. return R;
  1262. }
  1263. /*No:COMPILE_TO_JVM.argument_count*/
  1264. /*No:COMPILE_TO_JVM.macintosh_system*/
  1265. /*No:COMPILE_TO_JVM.fz_dot*/
  1266. void r632error_level(T632* C,T0* a1){
  1267. C->_state=9;
  1268. /*[IRF3.6append*/{T0* b1=r632command_name();
  1269. r7append(((T7*)(oBC683explanation)),b1);
  1270. }/*]*/
  1271. /*[IRF3.6append*/{T0* b1=((T0*)ms1_765);
  1272. r7append(((T7*)(oBC683explanation)),b1);
  1273. }/*]*/
  1274. /*[IRF3.6append*/{T0* b1=(((T632*)C))->_level/*4*/;
  1275. r7append(((T7*)(oBC683explanation)),b1);
  1276. }/*]*/
  1277. /*[IRF3.6append*/{T0* b1=((T0*)ms2_765);
  1278. r7append(((T7*)(oBC683explanation)),b1);
  1279. }/*]*/
  1280. /*[IRF3.6append*/{T0* b1=a1;
  1281. r7append(((T7*)(oBC683explanation)),b1);
  1282. }/*]*/
  1283. /*[IRF3.6append*/{T0* b1=((T0*)ms67_470);
  1284. r7append(((T7*)(oBC683explanation)),b1);
  1285. }/*]*/
  1286. r683print_as_error(((T683*)(oBC364eh)));
  1287. }
  1288. /*No:COMPILE_TO_JVM.start_proc*/
  1289. T0* r632argument(int a1){
  1290. T0* R=NULL;
  1291. R=/*(IRF4.6item*/((((T927*)((T927*)(r632command_arguments()))))->_storage/*0*/)[a1]/*)*/;
  1292. return R;
  1293. }
  1294. void r376check_creation_clause(T376* C,T0* a1){
  1295. /*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) {
  1296. /*[IRF3.6append*/{T0* b1=((T0*)ms1_334);
  1297. r7append(((T7*)(oBC683explanation)),b1);
  1298. }/*]*/
  1299. r683add_type(a1,((T0*)ms2_334));
  1300. r376error((((T376*)C))->_start_position/*8*/,((T0*)ms3_334));
  1301. }
  1302. /*FI*/}
  1303. T0* r376add_comment(T376* C,T0* a1){
  1304. T0* R=NULL;
  1305. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1306. R=(T0*)C;
  1307. }
  1308. /*AF*/else {
  1309. {T46*n=malloc(sizeof(*n));
  1310. *n=M46;
  1311. r46make(n,(T0*)C,a1);
  1312. R=(T0*)n;
  1313. }
  1314. }
  1315. /*FI*/return R;
  1316. }
  1317. void r376check_created_type(T376* C,T0* a1){
  1318. T0* _rt=NULL;
  1319. _rt=X291run_type(a1);
  1320. /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
  1321. }
  1322.  else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
  1323. r683add_type(_rt,((T0*)ms2_747));
  1324. r683add_position((((T376*)C))->_start_position/*8*/);
  1325. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
  1326. r683fatal_error(((T683*)(oBC364eh)),b1);
  1327. }/*]*/
  1328. }
  1329. /*FI*//*IF*/if (X291is_formal_generic(a1)) {
  1330. r683add_position((((T376*)C))->_start_position/*8*/);
  1331. /*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
  1332. r7append(((T7*)(oBC683explanation)),b1);
  1333. }/*]*/
  1334. r683add_type(a1,((T0*)ms5_747));
  1335. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1336. }
  1337. /*FI*/r355set_at_run_time(((T355*)(X291run_class(_rt))));
  1338. }
  1339. /*No:CREATION_CALL_2.writable*/
  1340. void r376make(T376* C,T0* a1,T0* a2,T0* a3){
  1341. C->_start_position=a1;
  1342. C->_type=a2;
  1343. C->_writable=a3;
  1344. }
  1345. /*No:CREATION_CALL_2.type*/
  1346. /*No:CREATION_CALL_2.start_position*/
  1347. T0* r376to_runnable(T376* C,T0* a1){
  1348. T0* R=NULL;
  1349. /*IF*/if (((((T376*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  1350. r376check_writable(C,a1);
  1351. r376check_explicit_type(C);
  1352. r376check_created_type(C,(((T376*)C))->_type/*16*/);
  1353. r376check_creation_clause(C,(((T376*)C))->_type/*16*/);
  1354. R=(T0*)C;
  1355. }
  1356. else {
  1357. {T376*n=malloc(sizeof(*n));
  1358. *n=M376;
  1359. r376make(n,(((T376*)C))->_start_position/*8*/,(((T376*)C))->_type/*16*/,(((T376*)C))->_writable/*12*/);
  1360. R=(T0*)n;
  1361. }
  1362. R=r376to_runnable(((T376*)R),a1);
  1363. }
  1364. /*FI*/return R;
  1365. }
  1366. T0* r376current_type(T376* C){
  1367. T0* R=NULL;
  1368. /*IF*/if (((((T376*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  1369. R=(((T592*)((T592*)((((T376*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  1370. }
  1371. /*FI*/return R;
  1372. }
  1373. /*No:CREATION_CALL_2.run_compound*/
  1374. void r376check_explicit_type(T376* C){
  1375. T0* _t=NULL;
  1376. _t=X291to_runnable((((T376*)C))->_type/*16*/,r376current_type(C));
  1377. /*IF*/if (((_t)==((void*)(NULL)))||(!(X291is_run_type(_t)))) {
  1378. r683add_position(X291start_position((((T376*)C))->_type/*16*/));
  1379. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_432);
  1380. r683fatal_error(((T683*)(oBC364eh)),b1);
  1381. }/*]*/
  1382. }
  1383. else {
  1384. C->_type=_t;
  1385. }
  1386. /*FI*//*IF*/if (!(X291is_a((((T376*)C))->_type/*16*/,X662result_type((((T376*)C))->_writable/*12*/)))) {
  1387. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_432);
  1388. r683fatal_error(((T683*)(oBC364eh)),b1);
  1389. }/*]*/
  1390. }
  1391. /*FI*/}
  1392. /*No:CREATION_CALL_2.compile_to_jvm0*/
  1393. void r376compile_to_jvm(T376* C){
  1394. T0* _t=NULL;
  1395. _t=X291run_type((((T376*)C))->_type/*16*/);
  1396. /*[IRF3.6compile_to_jvm0*/{T0* b1=_t;
  1397. r355jvm_push_default(((T355*)(X291run_class(b1))));
  1398. }/*]*/
  1399. X291jvm_check_class_invariant(_t);
  1400. X662jvm_assign((((T376*)C))->_writable/*12*/);
  1401. }
  1402. int r376is_pre_computable(T376* C){
  1403. int R=0;
  1404. R=X662is_result((((T376*)C))->_writable/*12*/);
  1405. return R;
  1406. }
  1407. int r376use_current(T376* C){
  1408. int R=0;
  1409. R=X662use_current((((T376*)C))->_writable/*12*/);
  1410. return R;
  1411. }
  1412. void r376check_writable(T376* C,T0* a1){
  1413. T0* _w=NULL;
  1414. C->_run_compound=a1;
  1415. _w=X662to_runnable((((T376*)C))->_writable/*12*/,r376current_type(C));
  1416. /*IF*/if ((_w)==((void*)(NULL))) {
  1417. r683add_position(X662start_position((((T376*)C))->_writable/*12*/));
  1418. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
  1419. r683fatal_error(((T683*)(oBC364eh)),b1);
  1420. }/*]*/
  1421. }
  1422. else {
  1423. C->_writable=_w;
  1424. }
  1425. /*FI*/}
  1426. void r376error(T0* a1,T0* a2){
  1427. r683add_position(a1);
  1428. r683error(((T683*)(oBC364eh)),a2);
  1429. }
  1430. /*No:CREATION_CALL_2.fatal_error*/
  1431. /*No:CREATION_CALL_2.end_mark_comment*/
  1432. /*No:CREATION_CALL_2.afd_check*/
  1433. T0*oBC364code_attribute=NULL;
  1434. /*No:E_REQUIRE.is_require_else*/
  1435. /*No:E_REQUIRE.empty*/
  1436. void r343from_runnable(T343* C,T0* a1){
  1437. C->_list=a1;
  1438. C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),1)))))->_current_type/*12*/;
  1439. }
  1440. void r343make(T343* C,T0* a1,T0* a2,T0* a3){
  1441. C->_start_position=a1;
  1442. C->_header_comment=a2;
  1443. C->_list=a3;
  1444. }
  1445. T0*oBC596points_false=NULL;
  1446. /*No:E_REQUIRE.set_header_comment*/
  1447. /*No:E_REQUIRE.start_position*/
  1448. /*No:E_REQUIRE.list*/
  1449. /*No:E_REQUIRE.current_type*/
  1450. /*No:E_REQUIRE.header_comment*/
  1451. void r343compile_to_jvm(T343* C,int a1){
  1452. T0* _ca=NULL;
  1453. int _i=0;
  1454. int _point_true=0;
  1455. /*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
  1456. _ca=oBC364code_attribute;
  1457. r256check_opening(((T256*)_ca));
  1458. /*IF*/if (a1) {
  1459. _i=1;
  1460. while (!((_i)>((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
  1461. r348compile_to_jvm(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))),1);
  1462. _i=(_i)+(1);
  1463. }
  1464. }
  1465. else {
  1466. /*[IRF3.3clear*/((((T226*)(((T226*)(oBC596points_false)))))->_upper)=(-(1));
  1467. /*]*/
  1468. _i=1;
  1469. while (!((_i)>((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
  1470. r348compile_to_jvm(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))),0);
  1471. r226add_last(((T226*)(oBC596points_false)),r256opcode_ifeq(((T256*)_ca)));
  1472. _i=(_i)+(1);
  1473. }
  1474. /*[IRF3.4opcode_iconst_1*/r256opcode(((T256*)_ca),4,1);
  1475. /*]*/
  1476. _point_true=r256opcode_goto(((T256*)_ca));
  1477. r256resolve_with(oBC596points_false);
  1478. /*[IRF3.4opcode_iconst_0*/r256opcode(((T256*)_ca),3,1);
  1479. /*]*/
  1480. r256resolve_u2_branch(_point_true);
  1481. }
  1482. /*FI*/r256check_closing(((T256*)_ca));
  1483. }
  1484. /*FI*/}
  1485. int r343use_current(T343* C){
  1486. int R=0;
  1487. int _i=0;
  1488. /*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
  1489. _i=(((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/;
  1490. while (!((R)||((_i)==(0)))) {
  1491. R=r348use_current(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
  1492. _i=(_i)-(1);
  1493. }
  1494. }
  1495. /*FI*/return R;
  1496. }
  1497. /*No:E_REQUIRE.set_require_else*/
  1498. void r343afd_check(T343* C){
  1499. int _i=0;
  1500. /*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
  1501. _i=(((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/;
  1502. while (!((_i)==(0))) {
  1503. r348afd_check(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
  1504. _i=(_i)-(1);
  1505. }
  1506. }
  1507. /*FI*/}
  1508. T0*oBC364unique_string=NULL;
  1509. /*No:INFIX_NAME.set_is_frozen*/
  1510. void r454make(T454* C,T0* a1,T0* a2){
  1511. C->_to_string=r902item(a1);
  1512. C->_start_position=a2;
  1513. C->_to_key=r902for_infix((((T454*)C))->_to_string/*4*/);
  1514. }
  1515. /*No:INFIX_NAME.to_string*/
  1516. /*No:INFIX_NAME.start_position*/
  1517. /*No:INFIX_NAME.to_key*/
  1518. /*No:INFIX_NAME.is_frozen*/
  1519. void r454undefine_in(T454* C,T0* a1){
  1520. /*IF*/if ((((T454*)C))->_is_frozen/*12*/) {
  1521. r454error((((T454*)C))->_start_position/*8*/,((T0*)ms1_776));
  1522. r605fatal_undefine(((T605*)a1),(T0*)C);
  1523. }
  1524. /*FI*/}
  1525. void r454error(T0* a1,T0* a2){
  1526. r683add_position(a1);
  1527. r683error(((T683*)(oBC364eh)),a2);
  1528. }
  1529. T0* r454origin_base_class(T454* C){
  1530. T0* R=NULL;
  1531. T0* _sp=NULL;
  1532. _sp=(((T454*)C))->_start_position/*8*/;
  1533. /*IF*/if ((_sp)!=((void*)(NULL))) {
  1534. R=r627base_class(((T627*)_sp));
  1535. }
  1536. /*FI*/return R;
  1537. }
  1538. /*No:ONCE_PROCEDURE.arguments*/
  1539. T0* r134try_to_undefine(T134* C,T0* a1,T0* a2){
  1540. T0* R=NULL;
  1541. X776undefine_in(a1,a2);
  1542. R=r134try_to_undefine_aux(C,a1,a2);
  1543. /*IF*/if ((R)!=((void*)(NULL))) {
  1544. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T134*)C))->_clients/*24*/);
  1545. /*]*/
  1546. }
  1547. else {
  1548. r605fatal_undefine(((T605*)a2),a1);
  1549. }
  1550. /*FI*/return R;
  1551. }
  1552. T0*oBC359assertion_collector=NULL;
  1553. /*No:ONCE_PROCEDURE.is_deferred*/
  1554. /*No:ONCE_PROCEDURE.fz_bad_assertion*/
  1555. T0* r134runnable(T0* a1,T0* a2,T0* a3){
  1556. T0* R=NULL;
  1557. T0* _a=NULL;
  1558. int _i=0;
  1559. /*IF*/if (!(r608empty(((T608*)a1)))) {
  1560. R=r608twin(((T608*)a1));
  1561. _i=(((T608*)((T608*)R)))->_upper/*8*/;
  1562. while (!((_i)==(0))) {
  1563. r604push(((T604*)(oBC364small_eiffel)),a3);
  1564. _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
  1565. /*IF*/if ((_a)==((void*)(NULL))) {
  1566. r134error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
  1567. }
  1568. else {
  1569. /*[IRF3.6put*/{T608* C1=((T608*)R);
  1570. T0* b1=_a;
  1571. int b2=_i;
  1572. ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
  1573. }/*]*/
  1574. }
  1575. /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
  1576. _i=(_i)-(1);
  1577. }
  1578. }
  1579. /*FI*/return R;
  1580. }
  1581. /*No:ONCE_PROCEDURE.rescue_compound*/
  1582. void r134add_into(T134* C,T0* a1){
  1583. T0* _fn=NULL;
  1584. int _i=0;
  1585. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  1586. _i=1;
  1587. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1588. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  1589. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  1590. _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1591. r683add_position(X776start_position(_fn));
  1592. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  1593. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  1594. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  1595. r7append(((T7*)(oBC683explanation)),b1);
  1596. }/*]*/
  1597. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1598. }
  1599. else {
  1600. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  1601. }
  1602. /*FI*/_i=(_i)+(1);
  1603. }
  1604. }
  1605. /*No:ONCE_PROCEDURE.end_comment*/
  1606. T0*oBC359header_comment_memory=NULL;
  1607. T0* r134try_to_undefine_aux(T134* C,T0* a1,T0* a2){
  1608. T0* R=NULL;
  1609. {T853*n=malloc(sizeof(*n));
  1610. *n=M853;
  1611. r853from_effective(n,a1,(((T134*)C))->_arguments/*28*/,(((T134*)C))->_require_assertion/*36*/,(((T134*)C))->_ensure_assertion/*40*/,a2);
  1612. R=(T0*)n;
  1613. }
  1614. return R;
  1615. }
  1616. void r134make(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
  1617. r134make_routine(C,a1,a2,a3,a4,a5);
  1618. C->_local_vars=a6;
  1619. C->_routine_body=a7;
  1620. C->_use_current_state=1024;
  1621. }
  1622. /*No:ONCE_PROCEDURE.not_computed*/
  1623. /*No:ONCE_PROCEDURE.nb_errors*/
  1624. void r134make_routine(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1625. r134make_e_feature(C,a1,NULL);
  1626. C->_header_comment=a4;
  1627. C->_arguments=a2;
  1628. C->_obsolete_mark=a3;
  1629. C->_require_assertion=a5;
  1630. }
  1631. /*No:ONCE_PROCEDURE.local_vars*/
  1632. void r134set_header_comment(T134* C,T0* a1){
  1633. /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
  1634. C->_end_comment=a1;
  1635. }
  1636. /*FI*/}
  1637. T0* r134start_position(T134* C){
  1638. T0* R=NULL;
  1639. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1640. return R;
  1641. }
  1642. T0* r134to_run_feature(T134* C,T0* a1,T0* a2){
  1643. T0* R=NULL;
  1644. r134check_obsolete(C);
  1645. {T869*n=malloc(sizeof(*n));
  1646. *n=M869;
  1647. r869make(n,a1,a2,(T0*)C);
  1648. R=(T0*)n;
  1649. }
  1650. return R;
  1651. }
  1652. /*No:ONCE_PROCEDURE.ensure_assertion*/
  1653. /*No:ONCE_PROCEDURE.code_require*/
  1654. T0* r134run_ensure(T0* a1){
  1655. T0* R=NULL;
  1656. T0* _r=NULL;
  1657. r608clear(((T608*)(oBC359assertion_collector)));
  1658. /*[IRF3.3clear*/{T0* _default_item=NULL;
  1659. ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
  1660. }/*]*/
  1661. r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/));
  1662. _r=r134runnable(oBC359assertion_collector,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1);
  1663. /*IF*/if ((_r)!=((void*)(NULL))) {
  1664. {T633*n=malloc(sizeof(*n));
  1665. *n=M633;
  1666. r633from_runnable(n,_r);
  1667. R=(T0*)n;
  1668. }
  1669. /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/);
  1670. /*]*/
  1671. /*[IRF3.3clear*/{T0* _default_item=NULL;
  1672. ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
  1673. }/*]*/
  1674. }
  1675. /*FI*/return R;
  1676. }
  1677. T0* r134run_require(T0* a1){
  1678. T0* R=NULL;
  1679. T0* _ar=NULL;
  1680. T0* _hc=NULL;
  1681. T0* _er=NULL;
  1682. T0* _r=NULL;
  1683. int _i=0;
  1684. r522clear(((T522*)(oBC359require_collector)));
  1685. r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/));
  1686. /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) {
  1687. _i=1;
  1688. while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) {
  1689. _er=r522item(((T522*)(oBC359require_collector)),_i);
  1690. _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/;
  1691. /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) {
  1692. _r=r134runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1);
  1693. /*IF*/if ((_r)!=((void*)(NULL))) {
  1694. {T343*n=malloc(sizeof(*n));
  1695. *n=M343;
  1696. r343from_runnable(n,_r);
  1697. _er=(T0*)n;
  1698. }
  1699. /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc);
  1700. /*]*/
  1701. /*IF*/if ((_ar)==((void*)(NULL))) {
  1702. _ar=se_ma522(1,_er);
  1703. }
  1704. else {
  1705. r522add_last(((T522*)_ar),_er);
  1706. }
  1707. /*FI*/}
  1708. /*FI*/}
  1709. /*FI*/_i=(_i)+(1);
  1710. }
  1711. /*IF*/if ((_ar)!=((void*)(NULL))) {
  1712. {T567*n=malloc(sizeof(*n));
  1713. *n=M567;
  1714. /*[IRF3.3make*/((((T567*)(n)))->_list)=(_ar);
  1715. /*]*/
  1716. R=(T0*)n;
  1717. }
  1718. }
  1719. /*FI*/}
  1720. /*FI*/return R;
  1721. }
  1722. /*No:ONCE_PROCEDURE.result_type*/
  1723. /*No:ONCE_PROCEDURE.fz_03*/
  1724. /*No:ONCE_PROCEDURE.em1*/
  1725. /*No:ONCE_PROCEDURE.obsolete_mark*/
  1726. /*No:ONCE_PROCEDURE.set_clients*/
  1727. /*No:ONCE_PROCEDURE.em2*/
  1728. /*No:ONCE_PROCEDURE.names*/
  1729. /*No:ONCE_PROCEDURE.require_assertion*/
  1730. /*No:ONCE_PROCEDURE.use_current_state*/
  1731. /*No:ONCE_PROCEDURE.code_ensure*/
  1732. void r134set_rescue_compound(T134* C,T0* a1){
  1733. /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) {
  1734. r134error(r134start_position(C),((T0*)ms6_368));
  1735. }
  1736. /*FI*/C->_rescue_compound=a1;
  1737. }
  1738. int r134can_hide(T134* C,T0* a1,T0* a2){
  1739. int R=0;
  1740. /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1741. /*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1742. r683add_position(X359start_position(a1));
  1743. r134error(r134start_position(C),((T0*)ms5_359));
  1744. }
  1745. /*FI*/}
  1746. /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
  1747. /*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  1748. r683add_position(X359start_position(a1));
  1749. r134error(r134start_position(C),((T0*)ms6_359));
  1750. }
  1751.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T134*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  1752. r683add_position(X359start_position(a1));
  1753. r134error(r134start_position(C),((T0*)ms7_359));
  1754. }
  1755. /*FI*/}
  1756. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1757. /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1758. /*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1759. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1760. r7append(((T7*)(oBC683explanation)),b1);
  1761. }/*]*/
  1762. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
  1763. r7append(((T7*)(oBC683explanation)),b1);
  1764. }/*]*/
  1765. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1766. }
  1767. /*FI*/}
  1768. /*FI*/}
  1769. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1770. /*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  1771. /*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
  1772. r683add_position(X359start_position(a1));
  1773. r683add_position(r134start_position(C));
  1774. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1775. r7append(((T7*)(oBC683explanation)),b1);
  1776. }/*]*/
  1777. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
  1778. r7append(((T7*)(oBC683explanation)),b1);
  1779. }/*]*/
  1780. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1781. }
  1782. /*FI*/}
  1783. /*FI*/}
  1784. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1785. return R;
  1786. }
  1787. /*No:ONCE_PROCEDURE.header_comment*/
  1788. /*No:ONCE_PROCEDURE.routine_body*/
  1789. int r134is_merge_with(T134* C,T0* a1,T0* a2){
  1790. int R=0;
  1791. /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1792. /*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1793. r683add_position(X359start_position(a1));
  1794. r134error(r134start_position(C),((T0*)ms2_359));
  1795. }
  1796. /*FI*/}
  1797. /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
  1798. /*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  1799. r683add_position(X359start_position(a1));
  1800. r134error(r134start_position(C),((T0*)ms3_359));
  1801. }
  1802.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T134*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  1803. r683add_position(X359start_position(a1));
  1804. r134error(r134start_position(C),((T0*)ms4_359));
  1805. }
  1806. /*FI*/}
  1807. /*FI*//*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1808. /*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1809. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  1810. }
  1811. /*FI*/}
  1812. /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  1813. /*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
  1814. r683add_position(X359start_position(a1));
  1815. r134error(r134start_position(C),((T0*)ms12_359));
  1816. }
  1817. /*FI*/}
  1818. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1819. return R;
  1820. }
  1821. /*No:ONCE_PROCEDURE.fz_dot*/
  1822. /*No:ONCE_PROCEDURE.set_ensure_assertion*/
  1823. /*No:ONCE_PROCEDURE.first_name*/
  1824. /*No:ONCE_PROCEDURE.clients*/
  1825. void r134collect_for(T134* C,int a1){
  1826. /*IF*/if ((a1)==(1001)) {
  1827. /*IF*/if (((((T134*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
  1828. /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/))) {
  1829. r522add_last(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/);
  1830. }
  1831. /*FI*/}
  1832. /*FI*/}
  1833. else {
  1834. /*IF*/if (((((T134*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
  1835. /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T134*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/);
  1836. /*]*/
  1837. r633add_into(((T633*)((((T134*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector);
  1838. }
  1839. /*FI*/}
  1840. /*FI*/}
  1841. void r134error(T0* a1,T0* a2){
  1842. r683add_position(a1);
  1843. r683error(((T683*)(oBC364eh)),a2);
  1844. }
  1845. /*No:ONCE_PROCEDURE.base_class*/
  1846. T0*oBC359require_collector=NULL;
  1847. void r134make_e_feature(T134* C,T0* a1,T0* a2){
  1848. C->_names=a1;
  1849. C->_result_type=a2;
  1850. }
  1851. void r134check_obsolete(T134* C){
  1852. /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
  1853. /*IF*/if (((((T134*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
  1854. /*[IRF3.6append*/{T0* b1=((T0*)ms7_368);
  1855. r7append(((T7*)(oBC683explanation)),b1);
  1856. }/*]*/
  1857. /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T134*)C))->_obsolete_mark/*32*/))))->_to_string/*16*/;
  1858. r7append(((T7*)(oBC683explanation)),b1);
  1859. }/*]*/
  1860. r134warning(r134start_position(C),((T0*)ms137_470));
  1861. }
  1862. /*FI*/}
  1863. /*FI*/}
  1864. void r134warning(T0* a1,T0* a2){
  1865. r683add_position(a1);
  1866. r683warning(((T683*)(oBC364eh)),a2);
  1867. }
  1868.  
  1869.