home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / pretty10.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  49.5 KB  |  1,434 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 "pretty.h"
  9. /*No:MEMO[COMMENT].item*/
  10. /*No:MEMO[COMMENT].clear*/
  11. /*No:MEMO[COMMENT].set_item*/
  12. T0* r250at(T250* C,T0* a1){
  13. T0* R=NULL;
  14. int _foo=0;
  15. _foo=r250has(C,a1);
  16. R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_has_mem/*24*/);
  17. return R;
  18. }
  19. void r250expand(T250* C){
  20. int _old_size=0;
  21. int _i=0;
  22. C->_item_mem=0;
  23. _old_size=r396count(((T396*)((((T250*)C))->_store/*4*/)));
  24. r429resize(((T429*)((((T250*)C))->_chain/*12*/)),1,(2)*(_old_size));
  25. r52resize(((T52*)((((T250*)C))->_keys/*0*/)),1,(2)*(_old_size));
  26. r396resize(((T396*)((((T250*)C))->_store/*4*/)),1,(2)*(_old_size));
  27. _i=(_old_size)+(1);
  28. while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
  29. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  30. int b1=(_i)+(1);
  31. int b2=_i;
  32. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  33. }/*]*/
  34. _i=(_i)+(1);
  35. }
  36. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  37. int b1=(((T250*)C))->_free/*16*/;
  38. int b2=_i;
  39. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  40. }/*]*/
  41. C->_free=(_old_size)+(1);
  42. }
  43. /*No:DICTIONARY[RUN_CLASS,STRING].free*/
  44. void r250make(T250* C){
  45. C->_modulus=(2)*(32);
  46. {T226*n=malloc(sizeof(*n));
  47. *n=M226;
  48. r226make(n,(((T250*)C))->_modulus/*20*/);
  49. C->_buckets=(T0*)n;
  50. }
  51. {T429*n=malloc(sizeof(*n));
  52. *n=M429;
  53. r429make(n,1,32);
  54. C->_chain=(T0*)n;
  55. }
  56. {T396*n=malloc(sizeof(*n));
  57. *n=M396;
  58. r396make(n,1,32);
  59. C->_store=(T0*)n;
  60. }
  61. {T52*n=malloc(sizeof(*n));
  62. *n=M52;
  63. r52make(n,1,32);
  64. C->_keys=(T0*)n;
  65. }
  66. r250initialize(C);
  67. }
  68. T0* r250item(T250* C,int a1){
  69. T0* R=NULL;
  70. /*IF*/if (((((T250*)C))->_item_mem/*28*/)==(0)) {
  71. r250first(C);
  72. while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
  73. r250forth(C);
  74. }
  75. R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
  76. }
  77.  else if (((((T250*)C))->_item_mem/*28*/)<=(a1)) {
  78. while (!((a1)==((((T250*)C))->_item_mem/*28*/))) {
  79. r250forth(C);
  80. }
  81. R=r396item(((T396*)((((T250*)C))->_store/*4*/)),(((T250*)C))->_item_mem_j/*32*/);
  82. }
  83. else {
  84. C->_item_mem=0;
  85. R=r250item(C,a1);
  86. }
  87. /*FI*/return R;
  88. }
  89. /*No:DICTIONARY[RUN_CLASS,STRING].item_mem_i*/
  90. void r250resize(T250* C,int a1){
  91. int _p=0;
  92. int _n=0;
  93. int _i=0;
  94. int _hash=0;
  95. r226copy(((T226*)(oBC672tmp_buckets)),(((T250*)C))->_buckets/*8*/);
  96. r226make(((T226*)((((T250*)C))->_buckets/*8*/)),a1);
  97. _i=0;
  98. while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
  99. _n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
  100. while (!((_n)==(0))) {
  101. _p=r429item(((T429*)((((T250*)C))->_chain/*12*/)),_n);
  102. _hash=(r7hash_code(((T7*)(r52item(((T52*)((((T250*)C))->_keys/*0*/)),_n)))))%(a1);
  103. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  104. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  105. int b2=_n;
  106. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  107. }/*]*/
  108. /*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
  109. /*]*/
  110. _n=_p;
  111. }
  112. _i=(_i)+(1);
  113. }
  114. C->_modulus=a1;
  115. C->_item_mem=0;
  116. }
  117. /*No:DICTIONARY[RUN_CLASS,STRING].item_mem_j*/
  118. /*No:DICTIONARY[RUN_CLASS,STRING].item_mem*/
  119. /*No:DICTIONARY[RUN_CLASS,STRING].chain*/
  120. /*No:DICTIONARY[RUN_CLASS,STRING].keys*/
  121. /*No:DICTIONARY[RUN_CLASS,STRING].buckets*/
  122. int r250has(T250* C,T0* a1){
  123. int R=0;
  124. /*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
  125. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T250*)C))->_modulus/*20*/)]/*)*/;
  126. while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
  127. C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
  128. }
  129. }
  130. /*FI*/R=((((T250*)C))->_has_mem/*24*/)!=(0);
  131. return R;
  132. }
  133. /*No:DICTIONARY[RUN_CLASS,STRING].Min_size*/
  134. void r250forth(T250* C){
  135. int _i=0;
  136. /*IF*/if ((r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/))!=(0)) {
  137. C->_item_mem_j=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_item_mem_j/*32*/);
  138. }
  139. else {
  140. _i=((((T250*)C))->_item_mem_i/*36*/)+(1);
  141. while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
  142. _i=(_i)+(1);
  143. }
  144. C->_item_mem_i=_i;
  145. C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
  146. }
  147. /*FI*/C->_item_mem=((((T250*)C))->_item_mem/*28*/)+(1);
  148. }
  149. /*No:DICTIONARY[RUN_CLASS,STRING].store*/
  150. void r250put(T250* C,T0* a1,T0* a2){
  151. int _hash=0;
  152. _hash=(r7hash_code(((T7*)a2)))%((((T250*)C))->_modulus/*20*/);
  153. /*IF*/if ((((((T250*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
  154. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  155. while (!((((((T250*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T250*)C))->_keys/*0*/)),(((T250*)C))->_has_mem/*24*/))))) {
  156. C->_has_mem=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_has_mem/*24*/);
  157. }
  158. /*IF*/if (((((T250*)C))->_has_mem/*24*/)==(0)) {
  159. /*IF*/if (((((T250*)C))->_count/*40*/)>=(r396count(((T396*)((((T250*)C))->_store/*4*/))))) {
  160. r250expand(C);
  161. }
  162. /*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T250*)C))->_keys/*0*/));
  163. T0* b1=a2;
  164. int b2=(((T250*)C))->_free/*16*/;
  165. ((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
  166. }/*]*/
  167. /*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
  168. T0* b1=a1;
  169. int b2=(((T250*)C))->_free/*16*/;
  170. ((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
  171. }/*]*/
  172. C->_has_mem=(((T250*)C))->_free/*16*/;
  173. C->_free=r429item(((T429*)((((T250*)C))->_chain/*12*/)),(((T250*)C))->_free/*16*/);
  174. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  175. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  176. int b2=(((T250*)C))->_has_mem/*24*/;
  177. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  178. }/*]*/
  179. /*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T250*)C))->_has_mem/*24*/);
  180. /*]*/
  181. C->_count=((((T250*)C))->_count/*40*/)+(1);
  182. /*IF*/if (((((T250*)C))->_count/*40*/)>(((((T250*)C))->_modulus/*20*/)*(2))) {
  183. r250resize(C,(2)*((((T250*)C))->_modulus/*20*/));
  184. }
  185. /*FI*/}
  186. /*FI*/}
  187. else {
  188. /*[IRF3.6put*/{T396* C1=((T396*)((((T250*)C))->_store/*4*/));
  189. T0* b1=a1;
  190. int b2=(((T250*)C))->_has_mem/*24*/;
  191. ((((T396*)C1))->_storage/*0*/)[(b2)-((((T396*)C1))->_lower/*12*/)]=(b1);
  192. }/*]*/
  193. }
  194. /*FI*/C->_item_mem=0;
  195. }
  196. /*No:DICTIONARY[RUN_CLASS,STRING].modulus*/
  197. /*No:DICTIONARY[RUN_CLASS,STRING].count*/
  198. /*No:DICTIONARY[RUN_CLASS,STRING].has_mem*/
  199. void r250first(T250* C){
  200. int _i=0;
  201. _i=0;
  202. while (!((/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/)!=(0))) {
  203. _i=(_i)+(1);
  204. }
  205. C->_item_mem_i=_i;
  206. C->_item_mem_j=/*(IRF4.6item*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]/*)*/;
  207. C->_item_mem=1;
  208. }
  209. void r250initialize(T250* C){
  210. int _i=0;
  211. C->_count=0;
  212. C->_free=1;
  213. C->_has_mem=0;
  214. C->_item_mem=0;
  215. _i=1;
  216. while (!((_i)==(r429count(((T429*)((((T250*)C))->_chain/*12*/)))))) {
  217. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  218. int b1=(_i)+(1);
  219. int b2=_i;
  220. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  221. }/*]*/
  222. _i=(_i)+(1);
  223. }
  224. /*[IRF3.6put*/{T429* C1=((T429*)((((T250*)C))->_chain/*12*/));
  225. int b1=0;
  226. int b2=_i;
  227. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  228. }/*]*/
  229. _i=0;
  230. while (!((_i)>=((((T250*)C))->_modulus/*20*/))) {
  231. /*[IRF3.5put*/((((T226*)((T226*)((((T250*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
  232. /*]*/
  233. _i=(_i)+(1);
  234. }
  235. }
  236. T0* r237at(T237* C,T0* a1){
  237. T0* R=NULL;
  238. int _foo=0;
  239. _foo=r237has(C,a1);
  240. R=r495item(((T495*)((((T237*)C))->_store/*4*/)),(((T237*)C))->_has_mem/*24*/);
  241. return R;
  242. }
  243. void r237expand(T237* C){
  244. int _old_size=0;
  245. int _i=0;
  246. C->_item_mem=0;
  247. _old_size=r495count(((T495*)((((T237*)C))->_store/*4*/)));
  248. r429resize(((T429*)((((T237*)C))->_chain/*12*/)),1,(2)*(_old_size));
  249. r52resize(((T52*)((((T237*)C))->_keys/*0*/)),1,(2)*(_old_size));
  250. r495resize(((T495*)((((T237*)C))->_store/*4*/)),1,(2)*(_old_size));
  251. _i=(_old_size)+(1);
  252. while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
  253. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  254. int b1=(_i)+(1);
  255. int b2=_i;
  256. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  257. }/*]*/
  258. _i=(_i)+(1);
  259. }
  260. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  261. int b1=(((T237*)C))->_free/*16*/;
  262. int b2=_i;
  263. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  264. }/*]*/
  265. C->_free=(_old_size)+(1);
  266. }
  267. /*No:DICTIONARY[E_FEATURE,STRING].free*/
  268. void r237resize(T237* C,int a1){
  269. int _p=0;
  270. int _n=0;
  271. int _i=0;
  272. int _hash=0;
  273. r226copy(((T226*)(oBC672tmp_buckets)),(((T237*)C))->_buckets/*8*/);
  274. r226make(((T226*)((((T237*)C))->_buckets/*8*/)),a1);
  275. _i=0;
  276. while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
  277. _n=/*(IRF4.6item*/((((T226*)((T226*)(oBC672tmp_buckets))))->_storage/*0*/)[_i]/*)*/;
  278. while (!((_n)==(0))) {
  279. _p=r429item(((T429*)((((T237*)C))->_chain/*12*/)),_n);
  280. _hash=(r7hash_code(((T7*)(r52item(((T52*)((((T237*)C))->_keys/*0*/)),_n)))))%(a1);
  281. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  282. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  283. int b2=_n;
  284. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  285. }/*]*/
  286. /*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=(_n);
  287. /*]*/
  288. _n=_p;
  289. }
  290. _i=(_i)+(1);
  291. }
  292. C->_modulus=a1;
  293. C->_item_mem=0;
  294. }
  295. /*No:DICTIONARY[E_FEATURE,STRING].item_mem*/
  296. /*No:DICTIONARY[E_FEATURE,STRING].chain*/
  297. /*No:DICTIONARY[E_FEATURE,STRING].buckets*/
  298. /*No:DICTIONARY[E_FEATURE,STRING].keys*/
  299. int r237has(T237* C,T0* a1){
  300. int R=0;
  301. /*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
  302. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[(r7hash_code(((T7*)a1)))%((((T237*)C))->_modulus/*20*/)]/*)*/;
  303. while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a1),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
  304. C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
  305. }
  306. }
  307. /*FI*/R=((((T237*)C))->_has_mem/*24*/)!=(0);
  308. return R;
  309. }
  310. /*No:DICTIONARY[E_FEATURE,STRING].Min_size*/
  311. /*No:DICTIONARY[E_FEATURE,STRING].store*/
  312. void r237with_capacity(T237* C,int a1){
  313. int _i=0;
  314. _i=32;
  315. while (!((_i)>=(a1))) {
  316. _i=(2)*(_i);
  317. }
  318. C->_modulus=(2)*(_i);
  319. {T226*n=malloc(sizeof(*n));
  320. *n=M226;
  321. r226make(n,(((T237*)C))->_modulus/*20*/);
  322. C->_buckets=(T0*)n;
  323. }
  324. {T429*n=malloc(sizeof(*n));
  325. *n=M429;
  326. r429make(n,1,_i);
  327. C->_chain=(T0*)n;
  328. }
  329. {T495*n=malloc(sizeof(*n));
  330. *n=M495;
  331. r495make(n,1,_i);
  332. C->_store=(T0*)n;
  333. }
  334. {T52*n=malloc(sizeof(*n));
  335. *n=M52;
  336. r52make(n,1,_i);
  337. C->_keys=(T0*)n;
  338. }
  339. r237initialize(C);
  340. }
  341. void r237put(T237* C,T0* a1,T0* a2){
  342. int _hash=0;
  343. _hash=(r7hash_code(((T7*)a2)))%((((T237*)C))->_modulus/*20*/);
  344. /*IF*/if ((((((T237*)C))->_has_mem/*24*/)==(0))||(!(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
  345. C->_has_mem=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  346. while (!((((((T237*)C))->_has_mem/*24*/)==(0))||(r7is_equal(((T7*)a2),r52item(((T52*)((((T237*)C))->_keys/*0*/)),(((T237*)C))->_has_mem/*24*/))))) {
  347. C->_has_mem=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_has_mem/*24*/);
  348. }
  349. /*IF*/if (((((T237*)C))->_has_mem/*24*/)==(0)) {
  350. /*IF*/if (((((T237*)C))->_count/*32*/)>=(r495count(((T495*)((((T237*)C))->_store/*4*/))))) {
  351. r237expand(C);
  352. }
  353. /*FI*//*[IRF3.6put*/{T52* C1=((T52*)((((T237*)C))->_keys/*0*/));
  354. T0* b1=a2;
  355. int b2=(((T237*)C))->_free/*16*/;
  356. ((((T52*)C1))->_storage/*0*/)[(b2)-((((T52*)C1))->_lower/*12*/)]=(b1);
  357. }/*]*/
  358. /*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
  359. T0* b1=a1;
  360. int b2=(((T237*)C))->_free/*16*/;
  361. ((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
  362. }/*]*/
  363. C->_has_mem=(((T237*)C))->_free/*16*/;
  364. C->_free=r429item(((T429*)((((T237*)C))->_chain/*12*/)),(((T237*)C))->_free/*16*/);
  365. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  366. int b1=/*(IRF4.6item*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]/*)*/;
  367. int b2=(((T237*)C))->_has_mem/*24*/;
  368. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  369. }/*]*/
  370. /*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_hash]=((((T237*)C))->_has_mem/*24*/);
  371. /*]*/
  372. C->_count=((((T237*)C))->_count/*32*/)+(1);
  373. /*IF*/if (((((T237*)C))->_count/*32*/)>(((((T237*)C))->_modulus/*20*/)*(2))) {
  374. r237resize(C,(2)*((((T237*)C))->_modulus/*20*/));
  375. }
  376. /*FI*/}
  377. /*FI*/}
  378. else {
  379. /*[IRF3.6put*/{T495* C1=((T495*)((((T237*)C))->_store/*4*/));
  380. T0* b1=a1;
  381. int b2=(((T237*)C))->_has_mem/*24*/;
  382. ((((T495*)C1))->_storage/*0*/)[(b2)-((((T495*)C1))->_lower/*12*/)]=(b1);
  383. }/*]*/
  384. }
  385. /*FI*/C->_item_mem=0;
  386. }
  387. /*No:DICTIONARY[E_FEATURE,STRING].modulus*/
  388. /*No:DICTIONARY[E_FEATURE,STRING].count*/
  389. /*No:DICTIONARY[E_FEATURE,STRING].has_mem*/
  390. void r237initialize(T237* C){
  391. int _i=0;
  392. C->_count=0;
  393. C->_free=1;
  394. C->_has_mem=0;
  395. C->_item_mem=0;
  396. _i=1;
  397. while (!((_i)==(r429count(((T429*)((((T237*)C))->_chain/*12*/)))))) {
  398. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  399. int b1=(_i)+(1);
  400. int b2=_i;
  401. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  402. }/*]*/
  403. _i=(_i)+(1);
  404. }
  405. /*[IRF3.6put*/{T429* C1=((T429*)((((T237*)C))->_chain/*12*/));
  406. int b1=0;
  407. int b2=_i;
  408. ((((T429*)C1))->_storage/*0*/)[(b2)-((((T429*)C1))->_lower/*12*/)]=(b1);
  409. }/*]*/
  410. _i=0;
  411. while (!((_i)>=((((T237*)C))->_modulus/*20*/))) {
  412. /*[IRF3.5put*/((((T226*)((T226*)((((T237*)C))->_buckets/*8*/))))->_storage/*0*/)[_i]=(0);
  413. /*]*/
  414. _i=(_i)+(1);
  415. }
  416. }
  417. T0*oBC364eh=NULL;
  418. void r376check_creation_clause(T376* C,T0* a1){
  419. /*IF*/if (/*(IRF4.7has_creation_clause*/((((T605*)((T605*)(X291base_class(a1)))))->_creation_clause_list/*44*/)!=(NULL)/*)*/) {
  420. /*[IRF3.6append*/{T0* b1=((T0*)ms1_334);
  421. r7append(((T7*)(oBC683explanation)),b1);
  422. }/*]*/
  423. r683add_type(a1,((T0*)ms2_334));
  424. r376error((((T376*)C))->_start_position/*8*/,((T0*)ms3_334));
  425. }
  426. /*FI*/}
  427. T0* r376add_comment(T376* C,T0* a1){
  428. T0* R=NULL;
  429. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  430. R=(T0*)C;
  431. }
  432. /*AF*/else {
  433. {T46*n=malloc(sizeof(*n));
  434. *n=M46;
  435. r46make(n,(T0*)C,a1);
  436. R=(T0*)n;
  437. }
  438. }
  439. /*FI*/return R;
  440. }
  441. void r376check_created_type(T376* C,T0* a1){
  442. T0* _rt=NULL;
  443. _rt=X291run_type(a1);
  444. /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
  445. }
  446.  else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
  447. r683add_type(_rt,((T0*)ms2_747));
  448. r683add_position((((T376*)C))->_start_position/*8*/);
  449. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
  450. r683fatal_error(((T683*)(oBC364eh)),b1);
  451. }/*]*/
  452. }
  453. /*FI*//*IF*/if (X291is_formal_generic(a1)) {
  454. r683add_position((((T376*)C))->_start_position/*8*/);
  455. /*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
  456. r7append(((T7*)(oBC683explanation)),b1);
  457. }/*]*/
  458. r683add_type(a1,((T0*)ms5_747));
  459. r683print_as_fatal_error(((T683*)(oBC364eh)));
  460. }
  461. /*FI*/r368set_at_run_time(((T368*)(X291run_class(_rt))));
  462. }
  463. /*No:CREATION_CALL_2.writable*/
  464. void r376make(T376* C,T0* a1,T0* a2,T0* a3){
  465. C->_start_position=a1;
  466. C->_type=a2;
  467. C->_writable=a3;
  468. }
  469. /*No:CREATION_CALL_2.type*/
  470. /*No:CREATION_CALL_2.start_position*/
  471. T0* r376to_runnable(T376* C,T0* a1){
  472. T0* R=NULL;
  473. /*IF*/if (((((T376*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  474. r376check_writable(C,a1);
  475. r376check_explicit_type(C);
  476. r376check_created_type(C,(((T376*)C))->_type/*16*/);
  477. r376check_creation_clause(C,(((T376*)C))->_type/*16*/);
  478. R=(T0*)C;
  479. }
  480. else {
  481. {T376*n=malloc(sizeof(*n));
  482. *n=M376;
  483. r376make(n,(((T376*)C))->_start_position/*8*/,(((T376*)C))->_type/*16*/,(((T376*)C))->_writable/*12*/);
  484. R=(T0*)n;
  485. }
  486. R=r376to_runnable(((T376*)R),a1);
  487. }
  488. /*FI*/return R;
  489. }
  490. void r376pretty_print(T376* C){
  491. r238put_character(((T238*)(oBC364fmt)),'\41');
  492. X291pretty_print((((T376*)C))->_type/*16*/);
  493. r238put_character(((T238*)(oBC364fmt)),'\41');
  494. X662pretty_print((((T376*)C))->_writable/*12*/);
  495. /*IF*/if ((((T238*)((T238*)(oBC364fmt))))->_semi_colon_flag/*25*/) {
  496. r238put_character(((T238*)(oBC364fmt)),'\73');
  497. }
  498. /*FI*/}
  499. T0*oBC364fmt=NULL;
  500. T0* r376current_type(T376* C){
  501. T0* R=NULL;
  502. /*IF*/if (((((T376*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  503. R=(((T592*)((T592*)((((T376*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  504. }
  505. /*FI*/return R;
  506. }
  507. T0*oBC364small_eiffel=NULL;
  508. /*No:CREATION_CALL_2.run_compound*/
  509. void r376check_explicit_type(T376* C){
  510. T0* _t=NULL;
  511. _t=X291to_runnable((((T376*)C))->_type/*16*/,r376current_type(C));
  512. /*IF*/if (((_t)==((void*)(NULL)))||(!(X291is_run_type(_t)))) {
  513. r683add_position(X291start_position((((T376*)C))->_type/*16*/));
  514. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_432);
  515. r683fatal_error(((T683*)(oBC364eh)),b1);
  516. }/*]*/
  517. }
  518. else {
  519. C->_type=_t;
  520. }
  521. /*FI*//*IF*/if (!(X291is_a((((T376*)C))->_type/*16*/,X662result_type((((T376*)C))->_writable/*12*/)))) {
  522. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_432);
  523. r683fatal_error(((T683*)(oBC364eh)),b1);
  524. }/*]*/
  525. }
  526. /*FI*/}
  527. void r376check_writable(T376* C,T0* a1){
  528. T0* _w=NULL;
  529. C->_run_compound=a1;
  530. _w=X662to_runnable((((T376*)C))->_writable/*12*/,r376current_type(C));
  531. /*IF*/if ((_w)==((void*)(NULL))) {
  532. r683add_position(X662start_position((((T376*)C))->_writable/*12*/));
  533. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
  534. r683fatal_error(((T683*)(oBC364eh)),b1);
  535. }/*]*/
  536. }
  537. else {
  538. C->_writable=_w;
  539. }
  540. /*FI*/}
  541. void r376error(T0* a1,T0* a2){
  542. r683add_position(a1);
  543. r683error(((T683*)(oBC364eh)),a2);
  544. }
  545. /*No:CREATION_CALL_2.fatal_error*/
  546. /*No:CREATION_CALL_2.end_mark_comment*/
  547. /*No:E_REQUIRE.is_require_else*/
  548. /*No:E_REQUIRE.empty*/
  549. void r343from_runnable(T343* C,T0* a1){
  550. C->_list=a1;
  551. C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),1)))))->_current_type/*12*/;
  552. }
  553. void r343make(T343* C,T0* a1,T0* a2,T0* a3){
  554. C->_start_position=a1;
  555. C->_header_comment=a2;
  556. C->_list=a3;
  557. }
  558. T0* r343name(T343* C){
  559. T0* R=NULL;
  560. /*IF*/if ((((T343*)C))->_is_require_else/*16*/) {
  561. R=((T0*)ms1_343);
  562. }
  563. else {
  564. R=((T0*)ms2_343);
  565. }
  566. /*FI*/return R;
  567. }
  568. /*No:E_REQUIRE.set_header_comment*/
  569. /*No:E_REQUIRE.start_position*/
  570. void r343pretty_print(T343* C){
  571. int _i=0;
  572. r238indent(((T238*)(oBC364fmt)));
  573. r238keyword(((T238*)(oBC364fmt)),r343name(C));
  574. r238level_incr(((T238*)(oBC364fmt)));
  575. /*IF*/if (((((T343*)C))->_header_comment/*4*/)!=((void*)(NULL))) {
  576. r393pretty_print(((T393*)((((T343*)C))->_header_comment/*4*/)));
  577. }
  578. else {
  579. r238indent(((T238*)(oBC364fmt)));
  580. }
  581. /*FI*//*IF*/if (((((T343*)C))->_list/*8*/)!=((void*)(NULL))) {
  582. _i=1;
  583. while (!((_i)>((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
  584. /*IF*/if (r6_px_and(r238zen_mode(((T238*)(oBC364fmt))),(_i)==((((T608*)((T608*)((((T343*)C))->_list/*8*/))))->_upper/*8*/))) {
  585. /*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(0);
  586. /*]*/
  587. }
  588. else {
  589. /*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(1);
  590. /*]*/
  591. }
  592. /*FI*/r238indent(((T238*)(oBC364fmt)));
  593. r348pretty_print(((T348*)(r608item(((T608*)((((T343*)C))->_list/*8*/)),_i))));
  594. _i=(_i)+(1);
  595. }
  596. }
  597. /*FI*/r238level_decr(((T238*)(oBC364fmt)));
  598. r238indent(((T238*)(oBC364fmt)));
  599. }
  600. /*No:E_REQUIRE.list*/
  601. /*No:E_REQUIRE.current_type*/
  602. /*No:E_REQUIRE.header_comment*/
  603. /*No:E_REQUIRE.set_require_else*/
  604. T0*oBC364unique_string=NULL;
  605. /*No:INFIX_NAME.set_is_frozen*/
  606. void r454make(T454* C,T0* a1,T0* a2){
  607. C->_to_string=r902item(a1);
  608. C->_start_position=a2;
  609. C->_to_key=r902for_infix((((T454*)C))->_to_string/*4*/);
  610. }
  611. /*No:INFIX_NAME.to_string*/
  612. /*No:INFIX_NAME.start_position*/
  613. void r454definition_pretty_print(T454* C){
  614. r238keyword(((T238*)(oBC364fmt)),((T0*)ms23_470));
  615. r238put_character(((T238*)(oBC364fmt)),'\42');
  616. r238put_string(((T238*)(oBC364fmt)),(((T454*)C))->_to_string/*4*/);
  617. r238put_character(((T238*)(oBC364fmt)),'\42');
  618. }
  619. /*No:INFIX_NAME.pretty_print*/
  620. /*No:INFIX_NAME.to_key*/
  621. /*No:INFIX_NAME.is_frozen*/
  622. void r454undefine_in(T454* C,T0* a1){
  623. /*IF*/if ((((T454*)C))->_is_frozen/*12*/) {
  624. r454error((((T454*)C))->_start_position/*8*/,((T0*)ms1_776));
  625. r605fatal_undefine(((T605*)a1),(T0*)C);
  626. }
  627. /*FI*/}
  628. void r454error(T0* a1,T0* a2){
  629. r683add_position(a1);
  630. r683error(((T683*)(oBC364eh)),a2);
  631. }
  632. T0* r454origin_base_class(T454* C){
  633. T0* R=NULL;
  634. T0* _sp=NULL;
  635. _sp=(((T454*)C))->_start_position/*8*/;
  636. /*IF*/if ((_sp)!=((void*)(NULL))) {
  637. R=r627base_class(((T627*)_sp));
  638. }
  639. /*FI*/return R;
  640. }
  641. /*No:INFIX_NAME.fz_infix*/
  642. /*No:ONCE_PROCEDURE.arguments*/
  643. T0* r134try_to_undefine(T134* C,T0* a1,T0* a2){
  644. T0* R=NULL;
  645. X776undefine_in(a1,a2);
  646. R=r134try_to_undefine_aux(C,a1,a2);
  647. /*IF*/if ((R)!=((void*)(NULL))) {
  648. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T134*)C))->_clients/*24*/);
  649. /*]*/
  650. }
  651. else {
  652. r605fatal_undefine(((T605*)a2),a1);
  653. }
  654. /*FI*/return R;
  655. }
  656. T0*oBC359assertion_collector=NULL;
  657. /*No:ONCE_PROCEDURE.is_deferred*/
  658. /*No:ONCE_PROCEDURE.fz_bad_assertion*/
  659. T0* r134runnable(T0* a1,T0* a2,T0* a3){
  660. T0* R=NULL;
  661. T0* _a=NULL;
  662. int _i=0;
  663. /*IF*/if (!(r608empty(((T608*)a1)))) {
  664. R=r608twin(((T608*)a1));
  665. _i=(((T608*)((T608*)R)))->_upper/*8*/;
  666. while (!((_i)==(0))) {
  667. r604push(((T604*)(oBC364small_eiffel)),a3);
  668. _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
  669. /*IF*/if ((_a)==((void*)(NULL))) {
  670. r134error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
  671. }
  672. else {
  673. /*[IRF3.6put*/{T608* C1=((T608*)R);
  674. T0* b1=_a;
  675. int b2=_i;
  676. ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
  677. }/*]*/
  678. }
  679. /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
  680. _i=(_i)-(1);
  681. }
  682. }
  683. /*FI*/return R;
  684. }
  685. /*No:ONCE_PROCEDURE.rescue_compound*/
  686. void r134add_into(T134* C,T0* a1){
  687. T0* _fn=NULL;
  688. int _i=0;
  689. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  690. _i=1;
  691. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  692. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  693. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  694. _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)/*)*//*)*/);
  695. r683add_position(X776start_position(_fn));
  696. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  697. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  698. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  699. r7append(((T7*)(oBC683explanation)),b1);
  700. }/*]*/
  701. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  702. }
  703. else {
  704. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  705. }
  706. /*FI*/_i=(_i)+(1);
  707. }
  708. }
  709. /*No:ONCE_PROCEDURE.end_comment*/
  710. T0*oBC359header_comment_memory=NULL;
  711. T0* r134try_to_undefine_aux(T134* C,T0* a1,T0* a2){
  712. T0* R=NULL;
  713. {T853*n=malloc(sizeof(*n));
  714. *n=M853;
  715. r853from_effective(n,a1,(((T134*)C))->_arguments/*28*/,(((T134*)C))->_require_assertion/*36*/,(((T134*)C))->_ensure_assertion/*40*/,a2);
  716. R=(T0*)n;
  717. }
  718. return R;
  719. }
  720. void r134make(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
  721. r134make_routine(C,a1,a2,a3,a4,a5);
  722. C->_local_vars=a6;
  723. C->_routine_body=a7;
  724. C->_use_current_state=1011;
  725. }
  726. /*No:ONCE_PROCEDURE.not_computed*/
  727. /*No:ONCE_PROCEDURE.nb_errors*/
  728. void r134pretty_print_one_name(T0* a1){
  729. /*IF*/if (X776is_frozen(a1)) {
  730. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  731. }
  732. /*FI*/X776definition_pretty_print(a1);
  733. }
  734. void r134make_routine(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  735. r134make_e_feature(C,a1,NULL);
  736. C->_header_comment=a4;
  737. C->_arguments=a2;
  738. C->_obsolete_mark=a3;
  739. C->_require_assertion=a5;
  740. }
  741. /*No:ONCE_PROCEDURE.local_vars*/
  742. void r134set_header_comment(T134* C,T0* a1){
  743. /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
  744. C->_end_comment=a1;
  745. }
  746. /*FI*/}
  747. T0* r134start_position(T134* C){
  748. T0* R=NULL;
  749. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  750. return R;
  751. }
  752. T0* r134to_run_feature(T134* C,T0* a1,T0* a2){
  753. T0* R=NULL;
  754. r134check_obsolete(C);
  755. {T869*n=malloc(sizeof(*n));
  756. *n=M869;
  757. r869make(n,a1,a2,(T0*)C);
  758. R=(T0*)n;
  759. }
  760. return R;
  761. }
  762. /*No:ONCE_PROCEDURE.ensure_assertion*/
  763. /*No:ONCE_PROCEDURE.code_require*/
  764. T0* r134run_ensure(T0* a1){
  765. T0* R=NULL;
  766. T0* _r=NULL;
  767. r608clear(((T608*)(oBC359assertion_collector)));
  768. /*[IRF3.3clear*/{T0* _default_item=NULL;
  769. ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
  770. }/*]*/
  771. r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
  772. _r=r134runnable(oBC359assertion_collector,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1);
  773. /*IF*/if ((_r)!=((void*)(NULL))) {
  774. {T633*n=malloc(sizeof(*n));
  775. *n=M633;
  776. r633from_runnable(n,_r);
  777. R=(T0*)n;
  778. }
  779. /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/);
  780. /*]*/
  781. /*[IRF3.3clear*/{T0* _default_item=NULL;
  782. ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item);
  783. }/*]*/
  784. }
  785. /*FI*/return R;
  786. }
  787. T0* r134run_require(T0* a1){
  788. T0* R=NULL;
  789. T0* _ar=NULL;
  790. T0* _hc=NULL;
  791. T0* _er=NULL;
  792. T0* _r=NULL;
  793. int _i=0;
  794. r522clear(((T522*)(oBC359require_collector)));
  795. r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
  796. /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) {
  797. _i=1;
  798. while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) {
  799. _er=r522item(((T522*)(oBC359require_collector)),_i);
  800. _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/;
  801. /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) {
  802. _r=r134runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/),a1);
  803. /*IF*/if ((_r)!=((void*)(NULL))) {
  804. {T343*n=malloc(sizeof(*n));
  805. *n=M343;
  806. r343from_runnable(n,_r);
  807. _er=(T0*)n;
  808. }
  809. /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc);
  810. /*]*/
  811. /*IF*/if ((_ar)==((void*)(NULL))) {
  812. _ar=se_ma522(1,_er);
  813. }
  814. else {
  815. r522add_last(((T522*)_ar),_er);
  816. }
  817. /*FI*/}
  818. /*FI*/}
  819. /*FI*/_i=(_i)+(1);
  820. }
  821. /*IF*/if ((_ar)!=((void*)(NULL))) {
  822. {T541*n=malloc(sizeof(*n));
  823. *n=M541;
  824. /*[IRF3.3make*/((((T541*)(n)))->_list)=(_ar);
  825. /*]*/
  826. R=(T0*)n;
  827. }
  828. }
  829. /*FI*/}
  830. /*FI*/return R;
  831. }
  832. /*No:ONCE_PROCEDURE.result_type*/
  833. /*No:ONCE_PROCEDURE.fz_03*/
  834. /*No:ONCE_PROCEDURE.fz_once*/
  835. /*No:ONCE_PROCEDURE.em1*/
  836. void r134pretty_print(T134* C){
  837. T0* _fn=NULL;
  838. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  839. /*]*/
  840. r238indent(((T238*)(oBC364fmt)));
  841. r134pretty_print_profile(C);
  842. r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_355));
  843. /*IF*/if (((((T134*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
  844. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  845. /*]*/
  846. r238indent(((T238*)(oBC364fmt)));
  847. r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_355));
  848. r805pretty_print(((T805*)((((T134*)C))->_obsolete_mark/*32*/)));
  849. }
  850. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  851. /*]*/
  852. r238indent(((T238*)(oBC364fmt)));
  853. /*IF*/if (((((T134*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  854. r393pretty_print(((T393*)((((T134*)C))->_header_comment/*16*/)));
  855. }
  856. /*FI*//*IF*/if (((((T134*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
  857. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  858. /*]*/
  859. r343pretty_print(((T343*)((((T134*)C))->_require_assertion/*36*/)));
  860. }
  861. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  862. /*]*/
  863. r238indent(((T238*)(oBC364fmt)));
  864. r134pretty_print_routine_body(C);
  865. /*IF*/if (((((T134*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
  866. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  867. /*]*/
  868. r633pretty_print(((T633*)((((T134*)C))->_ensure_assertion/*40*/)));
  869. }
  870. /*FI*//*IF*/if (((((T134*)C))->_rescue_compound/*44*/)!=((void*)(NULL))) {
  871. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  872. /*]*/
  873. r238indent(((T238*)(oBC364fmt)));
  874. r238keyword(((T238*)(oBC364fmt)),((T0*)ms3_355));
  875. r592pretty_print(((T592*)((((T134*)C))->_rescue_compound/*44*/)));
  876. }
  877. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  878. /*]*/
  879. r238indent(((T238*)(oBC364fmt)));
  880. r238keyword(((T238*)(oBC364fmt)),((T0*)ms4_355));
  881. /*IF*/if ((((((T134*)C))->_end_comment/*48*/)!=((void*)(NULL)))&&(!(r393dummy(((T393*)((((T134*)C))->_end_comment/*48*/)))))) {
  882. r393pretty_print(((T393*)((((T134*)C))->_end_comment/*48*/)));
  883. }
  884.  else if (r238print_end_routine(((T238*)(oBC364fmt)))) {
  885. r238put_string(((T238*)(oBC364fmt)),((T0*)ms5_355));
  886. _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
  887. X776definition_pretty_print(_fn);
  888. }
  889. /*FI*/r238put_character(((T238*)(oBC364fmt)),'\n');
  890. }
  891. /*No:ONCE_PROCEDURE.obsolete_mark*/
  892. /*No:ONCE_PROCEDURE.set_clients*/
  893. /*No:ONCE_PROCEDURE.em2*/
  894. /*No:ONCE_PROCEDURE.names*/
  895. /*No:ONCE_PROCEDURE.require_assertion*/
  896. /*No:ONCE_PROCEDURE.use_current_state*/
  897. /*No:ONCE_PROCEDURE.code_ensure*/
  898. void r134set_rescue_compound(T134* C,T0* a1){
  899. /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) {
  900. r134error(r134start_position(C),((T0*)ms6_355));
  901. }
  902. /*FI*/C->_rescue_compound=a1;
  903. }
  904. void r134pretty_print_profile(T134* C){
  905. r134pretty_print_names(C);
  906. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  907. /*]*/
  908. r134pretty_print_arguments(C);
  909. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  910. /*]*/
  911. /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  912. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  913. X291pretty_print((((T134*)C))->_result_type/*12*/);
  914. }
  915. /*FI*/}
  916. void r134pretty_print_names(T134* C){
  917. int _i=0;
  918. _i=1;
  919. r134pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  920. _i=(_i)+(1);
  921. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  922. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  923. r134pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  924. _i=(_i)+(1);
  925. }
  926. }
  927. int r134can_hide(T134* C,T0* a1,T0* a2){
  928. int R=0;
  929. /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  930. /*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  931. r683add_position(X359start_position(a1));
  932. r134error(r134start_position(C),((T0*)ms5_359));
  933. }
  934. /*FI*/}
  935. /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
  936. /*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  937. r683add_position(X359start_position(a1));
  938. r134error(r134start_position(C),((T0*)ms6_359));
  939. }
  940.  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*//*)*/)) {
  941. r683add_position(X359start_position(a1));
  942. r134error(r134start_position(C),((T0*)ms7_359));
  943. }
  944. /*FI*/}
  945. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  946. /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  947. /*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  948. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  949. r7append(((T7*)(oBC683explanation)),b1);
  950. }/*]*/
  951. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  952. r7append(((T7*)(oBC683explanation)),b1);
  953. }/*]*/
  954. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  955. }
  956. /*FI*/}
  957. /*FI*/}
  958. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  959. /*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  960. /*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
  961. r683add_position(X359start_position(a1));
  962. r683add_position(r134start_position(C));
  963. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  964. r7append(((T7*)(oBC683explanation)),b1);
  965. }/*]*/
  966. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  967. r7append(((T7*)(oBC683explanation)),b1);
  968. }/*]*/
  969. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  970. }
  971. /*FI*/}
  972. /*FI*/}
  973. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  974. return R;
  975. }
  976. /*No:ONCE_PROCEDURE.header_comment*/
  977. /*No:ONCE_PROCEDURE.routine_body*/
  978. int r134is_merge_with(T134* C,T0* a1,T0* a2){
  979. int R=0;
  980. /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  981. /*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  982. r683add_position(X359start_position(a1));
  983. r134error(r134start_position(C),((T0*)ms2_359));
  984. }
  985. /*FI*/}
  986. /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) {
  987. /*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  988. r683add_position(X359start_position(a1));
  989. r134error(r134start_position(C),((T0*)ms3_359));
  990. }
  991.  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*//*)*/)) {
  992. r683add_position(X359start_position(a1));
  993. r134error(r134start_position(C),((T0*)ms4_359));
  994. }
  995. /*FI*/}
  996. /*FI*//*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  997. /*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  998. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  999. }
  1000. /*FI*/}
  1001. /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  1002. /*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) {
  1003. r683add_position(X359start_position(a1));
  1004. r134error(r134start_position(C),((T0*)ms12_359));
  1005. }
  1006. /*FI*/}
  1007. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1008. return R;
  1009. }
  1010. /*No:ONCE_PROCEDURE.fz_dot*/
  1011. /*No:ONCE_PROCEDURE.set_ensure_assertion*/
  1012. /*No:ONCE_PROCEDURE.first_name*/
  1013. /*No:ONCE_PROCEDURE.pretty_print_once_or_do*/
  1014. /*No:ONCE_PROCEDURE.clients*/
  1015. void r134collect_for(T134* C,int a1){
  1016. /*IF*/if ((a1)==(1001)) {
  1017. /*IF*/if (((((T134*)C))->_require_assertion/*36*/)!=((void*)(NULL))) {
  1018. /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/))) {
  1019. r522add_last(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/);
  1020. }
  1021. /*FI*/}
  1022. /*FI*/}
  1023. else {
  1024. /*IF*/if (((((T134*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) {
  1025. /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T134*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/);
  1026. /*]*/
  1027. r633add_into(((T633*)((((T134*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector);
  1028. }
  1029. /*FI*/}
  1030. /*FI*/}
  1031. void r134error(T0* a1,T0* a2){
  1032. r683add_position(a1);
  1033. r683error(((T683*)(oBC364eh)),a2);
  1034. }
  1035. /*No:ONCE_PROCEDURE.base_class*/
  1036. T0*oBC359require_collector=NULL;
  1037. void r134pretty_print_arguments(T134* C){
  1038. /*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) {
  1039. r31pretty_print(((T31*)((((T134*)C))->_arguments/*28*/)));
  1040. }
  1041. /*FI*/}
  1042. void r134pretty_print_routine_body(T134* C){
  1043. /*IF*/if (((((T134*)C))->_local_vars/*20*/)!=((void*)(NULL))) {
  1044. r620pretty_print(((T620*)((((T134*)C))->_local_vars/*20*/)));
  1045. }
  1046. /*FI*/r238indent(((T238*)(oBC364fmt)));
  1047. /*[IRF3.2pretty_print_once_or_do*/r238put_string(((T238*)(oBC364fmt)),((T0*)ms35_470));
  1048. /*]*/
  1049. r238put_character(((T238*)(oBC364fmt)),'\40');
  1050. /*IF*/if (((((T134*)C))->_routine_body/*52*/)!=((void*)(NULL))) {
  1051. r592pretty_print(((T592*)((((T134*)C))->_routine_body/*52*/)));
  1052. }
  1053. /*FI*/}
  1054. void r134make_e_feature(T134* C,T0* a1,T0* a2){
  1055. C->_names=a1;
  1056. C->_result_type=a2;
  1057. }
  1058. void r134check_obsolete(T134* C){
  1059. /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
  1060. /*IF*/if (((((T134*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) {
  1061. /*[IRF3.6append*/{T0* b1=((T0*)ms7_355);
  1062. r7append(((T7*)(oBC683explanation)),b1);
  1063. }/*]*/
  1064. /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T134*)C))->_obsolete_mark/*32*/))))->_to_string/*12*/;
  1065. r7append(((T7*)(oBC683explanation)),b1);
  1066. }/*]*/
  1067. r134warning(r134start_position(C),((T0*)ms137_470));
  1068. }
  1069. /*FI*/}
  1070. /*FI*/}
  1071. void r134warning(T0* a1,T0* a2){
  1072. r683add_position(a1);
  1073. r683warning(((T683*)(oBC364eh)),a2);
  1074. }
  1075. /*No:RUN_FEATURE_6.arguments*/
  1076. T0*oBC364run_control=NULL;
  1077. /*No:RUN_FEATURE_6.actuals_clients*/
  1078. void r868make(T868* C,T0* a1,T0* a2,T0* a3){
  1079. C->_current_type=a1;
  1080. C->_name=a2;
  1081. C->_base_feature=a3;
  1082. r199put(((T199*)((((T368*)((T368*)(r868run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  1083. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  1084. C->_use_current_state=1015;
  1085. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  1086. r868initialize(C);
  1087. r604pop(((T604*)(oBC364small_eiffel)));
  1088. }
  1089. /*No:RUN_FEATURE_6.name*/
  1090. int r868arg_count(T868* C){
  1091. int R=0;
  1092. /*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  1093. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  1094. }
  1095. /*FI*/return R;
  1096. }
  1097. /*No:RUN_FEATURE_6.local_vars*/
  1098. /*No:RUN_FEATURE_6.base_feature*/
  1099. /*No:RUN_FEATURE_6.start_position*/
  1100. /*No:RUN_FEATURE_6.ensure_assertion*/
  1101. int r868is_exported_in(T868* C,T0* a1){
  1102. int R=0;
  1103. R=r636gives_permission_to(((T636*)(r868clients(C))),a1);
  1104. return R;
  1105. }
  1106. /*No:RUN_FEATURE_6.result_type*/
  1107. T0*oBC364once_routine_pool=NULL;
  1108. void r868add_client(T868* C,T0* a1){
  1109. int _i=0;
  1110. /*IF*/if (((((T868*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  1111. {T187*n=malloc(sizeof(*n));
  1112. *n=M187;
  1113. r187with_capacity(n,4);
  1114. C->_actuals_clients=(T0*)n;
  1115. }
  1116. r187add_last(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1);
  1117. }
  1118. else {
  1119. _i=r187fast_index_of(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1);
  1120. /*IF*/if ((_i)>((((T187*)((T187*)((((T868*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  1121. r187add_last(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1);
  1122. }
  1123. /*FI*/}
  1124. /*FI*/r368add_client(((T368*)(r868run_class(C))),a1);
  1125. }
  1126. /*No:RUN_FEATURE_6.require_assertion*/
  1127. /*No:RUN_FEATURE_6.use_current_state*/
  1128. /*No:RUN_FEATURE_6.current_type*/
  1129. T0* r868run_class(T868* C){
  1130. T0* R=NULL;
  1131. R=X291run_class((((T868*)C))->_current_type/*4*/);
  1132. return R;
  1133. }
  1134. /*No:RUN_FEATURE_6.ucs_not_computed*/
  1135. /*No:RUN_FEATURE_6.routine_body*/
  1136. T0* r868clients(T868* C){
  1137. T0* R=NULL;
  1138. T0* _bfbc=NULL;
  1139. T0* _bc=NULL;
  1140. /*IF*/if (((((T868*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  1141. _bc=X291base_class((((T868*)C))->_current_type/*4*/);
  1142. _bfbc=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_base_class/*4*/;
  1143. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  1144. R=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_clients/*24*/;
  1145. }
  1146. else {
  1147. R=r605clients_for(((T605*)_bc),(((T868*)C))->_name/*16*/);
  1148. }
  1149. /*FI*/C->_clients_memory=R;
  1150. }
  1151. else {
  1152. R=(((T868*)C))->_clients_memory/*8*/;
  1153. }
  1154. /*FI*/return R;
  1155. }
  1156. /*No:RUN_FEATURE_6.fatal_error*/
  1157. /*No:RUN_FEATURE_6.clients_memory*/
  1158. void r868initialize(T868* C){
  1159. C->_arguments=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_arguments/*28*/;
  1160. /*IF*/if ((((((T868*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  1161. C->_arguments=r31to_runnable(((T31*)((((T868*)C))->_arguments/*20*/)),(((T868*)C))->_current_type/*4*/);
  1162. }
  1163. /*FI*/C->_result_type=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_result_type/*12*/;
  1164. /*IF*/if (X291is_anchored((((T868*)C))->_result_type/*24*/)) {
  1165. r683add_position(X291start_position((((T868*)C))->_result_type/*24*/));
  1166. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms7_868);
  1167. r683fatal_error(((T683*)(oBC364eh)),b1);
  1168. }/*]*/
  1169. }
  1170.  else if (X291is_formal_generic((((T868*)C))->_result_type/*24*/)) {
  1171. r683add_position(X291start_position((((T868*)C))->_result_type/*24*/));
  1172. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_868);
  1173. r683fatal_error(((T683*)(oBC364eh)),b1);
  1174. }/*]*/
  1175. }
  1176. /*FI*/C->_result_type=X291to_runnable((((T868*)C))->_result_type/*24*/,(((T868*)C))->_current_type/*4*/);
  1177. C->_local_vars=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_local_vars/*20*/;
  1178. /*IF*/if ((((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T868*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  1179. C->_local_vars=r620to_runnable(((T620*)((((T868*)C))->_local_vars/*48*/)),(((T868*)C))->_current_type/*4*/);
  1180. }
  1181. /*FI*/C->_routine_body=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_routine_body/*52*/;
  1182. /*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  1183. C->_routine_body=r592to_runnable(((T592*)((((T868*)C))->_routine_body/*32*/)),(((T868*)C))->_current_type/*4*/);
  1184. }
  1185. /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
  1186. C->_require_assertion=r844run_require((T0*)C);
  1187. }
  1188. /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
  1189. C->_ensure_assertion=r844run_ensure((T0*)C);
  1190. }
  1191. /*FI*/r916add_function((T0*)C);
  1192. }
  1193. void r916add_function(T0* a1){
  1194. r222add_last(((T222*)(oBC916function_list)),a1);
  1195. }
  1196. T0*oBC916function_list=NULL;
  1197. T0*oBC916procedure_list=NULL;
  1198. void r916add_procedure(T0* a1){
  1199. r185add_last(((T185*)(oBC916procedure_list)),a1);
  1200. }
  1201. /*No:CST_ATT_STRING.arguments*/
  1202. T0* r380try_to_undefine(T380* C,T0* a1,T0* a2){
  1203. T0* R=NULL;
  1204. X776undefine_in(a1,a2);
  1205. R=r380try_to_undefine_aux(C,a1,a2);
  1206. /*IF*/if ((R)!=((void*)(NULL))) {
  1207. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T380*)C))->_clients/*20*/);
  1208. /*]*/
  1209. }
  1210. else {
  1211. r605fatal_undefine(((T605*)a2),a1);
  1212. }
  1213. /*FI*/return R;
  1214. }
  1215. /*No:CST_ATT_STRING.is_deferred*/
  1216. void r380pretty_tail(T380* C){
  1217. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_418));
  1218. r805pretty_print(((T805*)(/*(IRF4.6value*/r381item(((T381*)((((T380*)C))->_values/*24*/)),1)/*)*/)));
  1219. }
  1220. void r380add_into(T380* C,T0* a1){
  1221. T0* _fn=NULL;
  1222. int _i=0;
  1223. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  1224. _i=1;
  1225. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1226. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  1227. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  1228. _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)/*)*//*)*/);
  1229. r683add_position(X776start_position(_fn));
  1230. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  1231. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  1232. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  1233. r7append(((T7*)(oBC683explanation)),b1);
  1234. }/*]*/
  1235. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1236. }
  1237. else {
  1238. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  1239. }
  1240. /*FI*/_i=(_i)+(1);
  1241. }
  1242. }
  1243. T0* r380try_to_undefine_aux(T380* C,T0* a1,T0* a2){
  1244. T0* R=NULL;
  1245. r683add_position(r380start_position(C));
  1246. r380error(X776start_position(a1),((T0*)ms1_308));
  1247. r605fatal_undefine(((T605*)a2),a1);
  1248. return R;
  1249. }
  1250. void r380make(T380* C,T0* a1,T0* a2,T0* a3){
  1251. T0* _ms=NULL;
  1252. int _i=0;
  1253. r380make_e_feature(C,a1,a2);
  1254. {T381*n=malloc(sizeof(*n));
  1255. *n=M381;
  1256. r381make(n,1,/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/);
  1257. C->_values=(T0*)n;
  1258. }
  1259. /*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/));
  1260. T0* b1=a3;
  1261. int b2=1;
  1262. ((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1);
  1263. }/*]*/
  1264. _i=2;
  1265. while (!((_i)>((((T381*)((T381*)((((T380*)C))->_values/*24*/))))->_upper/*12*/))) {
  1266. {T805*n=malloc(sizeof(*n));
  1267. *n=M805;
  1268. r805from_manifest_string(n,a3,_i);
  1269. _ms=(T0*)n;
  1270. }
  1271. /*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/));
  1272. T0* b1=_ms;
  1273. int b2=_i;
  1274. ((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1);
  1275. }/*]*/
  1276. _i=(_i)+(1);
  1277. }
  1278. }
  1279. /*No:CST_ATT_STRING.nb_errors*/
  1280. void r380pretty_print_one_name(T0* a1){
  1281. /*IF*/if (X776is_frozen(a1)) {
  1282. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  1283. }
  1284. /*FI*/X776definition_pretty_print(a1);
  1285. }
  1286. /*No:CST_ATT_STRING.set_header_comment*/
  1287. /*No:CST_ATT_STRING.values*/
  1288. T0* r380start_position(T380* C){
  1289. T0* R=NULL;
  1290. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1291. return R;
  1292. }
  1293. T0* r380to_run_feature(T380* C,T0* a1,T0* a2){
  1294. T0* R=NULL;
  1295. T0* _rc=NULL;
  1296. _rc=X291run_class(a1);
  1297. R=r368at(((T368*)_rc),a2);
  1298. if(NULL!=(R))switch(((T0*)R)->id) {
  1299. case 808: 
  1300. break;
  1301. default:
  1302. R=NULL;
  1303. };/*IF*/if ((R)==((void*)(NULL))) {
  1304. {T808*n=malloc(sizeof(*n));
  1305. *n=M808;
  1306. r808make(n,a1,a2,(T0*)C);
  1307. R=(T0*)n;
  1308. }
  1309. }
  1310. /*FI*/return R;
  1311. }
  1312. /*No:CST_ATT_STRING.ensure_assertion*/
  1313. /*No:CST_ATT_STRING.code_require*/
  1314. /*No:CST_ATT_STRING.result_type*/
  1315. /*No:CST_ATT_STRING.em1*/
  1316. void r380pretty_print(T380* C){
  1317. r380pretty_print_profile(C);
  1318. r380pretty_tail(C);
  1319. r238put_character(((T238*)(oBC364fmt)),'\73');
  1320. /*IF*/if (((((T380*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  1321. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1322. /*]*/
  1323. r238indent(((T238*)(oBC364fmt)));
  1324. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  1325. /*]*/
  1326. r393pretty_print(((T393*)((((T380*)C))->_header_comment/*16*/)));
  1327. }
  1328. /*FI*/}
  1329. /*No:CST_ATT_STRING.set_clients*/
  1330. /*No:CST_ATT_STRING.em2*/
  1331. /*No:CST_ATT_STRING.require_assertion*/
  1332. /*No:CST_ATT_STRING.value*/
  1333. /*No:CST_ATT_STRING.names*/
  1334. void r380pretty_print_profile(T380* C){
  1335. r380pretty_print_names(C);
  1336. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1337. /*]*/
  1338. /*[IRF3.1pretty_print_arguments*//*]*/
  1339. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  1340. /*]*/
  1341. /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1342. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  1343. X291pretty_print((((T380*)C))->_result_type/*12*/);
  1344. }
  1345. /*FI*/}
  1346. void r380pretty_print_names(T380* C){
  1347. int _i=0;
  1348. _i=1;
  1349. r380pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1350. _i=(_i)+(1);
  1351. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1352. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  1353. r380pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1354. _i=(_i)+(1);
  1355. }
  1356. }
  1357. int r380can_hide(T380* C,T0* a1,T0* a2){
  1358. int R=0;
  1359. /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1360. /*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1361. r683add_position(X359start_position(a1));
  1362. r380error(r380start_position(C),((T0*)ms5_359));
  1363. }
  1364. /*FI*/}
  1365. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  1366. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  1367. r380error(r380start_position(C),((T0*)ms6_359));
  1368. }
  1369. /*FI*/}
  1370. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1371. /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1372. /*IF*/if (!(X291is_a_in((((T380*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1373. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1374. r7append(((T7*)(oBC683explanation)),b1);
  1375. }/*]*/
  1376. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  1377. r7append(((T7*)(oBC683explanation)),b1);
  1378. }/*]*/
  1379. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1380. }
  1381. /*FI*/}
  1382. /*FI*/}
  1383. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1384. /*IF*//*AF*//*AE*/
  1385. /*FI*/}
  1386. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1387. return R;
  1388. }
  1389. /*No:CST_ATT_STRING.header_comment*/
  1390. int r380is_merge_with(T380* C,T0* a1,T0* a2){
  1391. int R=0;
  1392. /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1393. /*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1394. r683add_position(X359start_position(a1));
  1395. r380error(r380start_position(C),((T0*)ms2_359));
  1396. }
  1397. /*FI*/}
  1398. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  1399. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  1400. r380error(r380start_position(C),((T0*)ms3_359));
  1401. }
  1402. /*FI*/}
  1403. /*FI*//*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1404. /*IF*/if (!(X291is_a_in((((T380*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1405. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  1406. }
  1407. /*FI*/}
  1408. /*FI*//*IF*//*AF*//*AE*/
  1409. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1410. return R;
  1411. }
  1412. /*No:CST_ATT_STRING.fz_dot*/
  1413. /*No:CST_ATT_STRING.first_name*/
  1414. /*No:CST_ATT_STRING.clients*/
  1415. void r380collect_for(int a1){
  1416. /*IF*/if ((a1)==(1001)) {
  1417. /*IF*//*AF*//*AE*/
  1418. /*FI*/}
  1419. else {
  1420. /*IF*//*AF*//*AE*/
  1421. /*FI*/}
  1422. /*FI*/}
  1423. void r380error(T0* a1,T0* a2){
  1424. r683add_position(a1);
  1425. r683error(((T683*)(oBC364eh)),a2);
  1426. }
  1427. /*No:CST_ATT_STRING.base_class*/
  1428. /*No:CST_ATT_STRING.pretty_print_arguments*/
  1429. void r380make_e_feature(T380* C,T0* a1,T0* a2){
  1430. C->_names=a1;
  1431. C->_result_type=a2;
  1432. }
  1433.  
  1434.