home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / pretty29.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  44.8 KB  |  1,567 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. T0* r970language_name(void){
  10. T0* R=NULL;
  11. R=((T0*)ms29_470);
  12. return R;
  13. }
  14. /*No:NATIVE_JVM_INVOKEVIRTUAL.pretty_print*/
  15. /*No:NATIVE_JVM_INVOKEVIRTUAL.fz_jvm_invokevirtual*/
  16. void r620make(T620* C,T0* a1,T0* a2){
  17. int _actual_count=0;
  18. int _il=0;
  19. C->_start_position=a1;
  20. C->_list=a2;
  21. _il=1;
  22. while (!((_il)>((((T382*)((T382*)((((T620*)C))->_list/*8*/))))->_upper/*8*/))) {
  23. _actual_count=(_actual_count)+(X411count(r382item(((T382*)((((T620*)C))->_list/*8*/)),_il)));
  24. _il=(_il)+(1);
  25. }
  26. {T733*n=malloc(sizeof(*n));
  27. *n=M733;
  28. r733make(n,1,_actual_count);
  29. C->_flat_list=(T0*)n;
  30. }
  31. _il=1;
  32. while (!((_il)>((((T382*)((T382*)((((T620*)C))->_list/*8*/))))->_upper/*8*/))) {
  33. X411append_in(r382item(((T382*)((((T620*)C))->_list/*8*/)),_il),(T0*)C);
  34. _il=(_il)+(1);
  35. }
  36. }
  37. /*No:LOCAL_VAR_LIST.name*/
  38. /*No:LOCAL_VAR_LIST.nb_errors*/
  39. T0* r620type(T620* C,int a1){
  40. T0* R=NULL;
  41. R=(((T39*)((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),a1)/*)*/))))->_result_type/*20*/;
  42. return R;
  43. }
  44. /*No:LOCAL_VAR_LIST.start_position*/
  45. T0* r620to_runnable(T620* C,T0* a1){
  46. T0* R=NULL;
  47. T0* _n2=NULL;
  48. T0* _n1=NULL;
  49. int _i=0;
  50. /*IF*/if (((((T620*)C))->_current_type/*16*/)==((void*)(NULL))) {
  51. C->_current_type=a1;
  52. R=(T0*)C;
  53. _i=(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*/;
  54. while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  55. _n1=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i);
  56. _n2=r39to_runnable(((T39*)_n1),a1);
  57. /*IF*/if ((_n2)==((void*)(NULL))) {
  58. r620error((((T39*)((T39*)_n1)))->_start_position/*12*/,((T0*)ms3_535));
  59. }
  60.  else if ((_n1)!=((void*)(_n2))) {
  61. /*[IRF3.6put*/{T733* C1=((T733*)((((T620*)C))->_flat_list/*12*/));
  62. T0* b1=_n2;
  63. int b2=_i;
  64. ((((T733*)C1))->_storage/*4*/)[(b2)-((((T733*)C1))->_lower/*16*/)]=(b1);
  65. }/*]*/
  66. }
  67. /*FI*/r39name_clash(((T39*)_n2));
  68. _i=(_i)-(1);
  69. }
  70. }
  71. else {
  72. {T620*n=malloc(sizeof(*n));
  73. *n=M620;
  74. r620runnable_from_current(n,(T0*)C,a1);
  75. R=(T0*)n;
  76. }
  77. }
  78. /*FI*/return R;
  79. }
  80. /*No:LOCAL_VAR_LIST.em1*/
  81. void r620pretty_print(T620* C){
  82. int _i=0;
  83. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  84. /*]*/
  85. r238indent(((T238*)(oBC364fmt)));
  86. r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_620));
  87. /*IF*/if (r6_px_and(r238zen_mode(((T238*)(oBC364fmt))),(r382count(((T382*)((((T620*)C))->_list/*8*/))))==(1))) {
  88. X411pretty_print(r382first(((T382*)((((T620*)C))->_list/*8*/))));
  89. r238put_character(((T238*)(oBC364fmt)),'\73');
  90. }
  91. else {
  92. _i=1;
  93. while (!((_i)>((((T382*)((T382*)((((T620*)C))->_list/*8*/))))->_upper/*8*/))) {
  94. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  95. /*]*/
  96. r238indent(((T238*)(oBC364fmt)));
  97. X411pretty_print(r382item(((T382*)((((T620*)C))->_list/*8*/)),_i));
  98. r238put_character(((T238*)(oBC364fmt)),'\73');
  99. _i=(_i)+(1);
  100. }
  101. }
  102. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  103. /*]*/
  104. r238indent(((T238*)(oBC364fmt)));
  105. }
  106. /*No:LOCAL_VAR_LIST.list*/
  107. int r620rank_of(T620* C,T0* a1){
  108. int R=0;
  109. R=/*(IRF4.6count*/(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  110. while (!(((R)==(0))||((a1)==((void*)((((T39*)((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),R)/*)*/))))->_to_string/*8*/))))) {
  111. R=(R)-(1);
  112. }
  113. return R;
  114. }
  115. /*No:LOCAL_VAR_LIST.current_type*/
  116. void r620runnable_from_current(T620* C,T0* a1,T0* a2){
  117. T0* _n2=NULL;
  118. T0* _n1=NULL;
  119. int _i=0;
  120. C->_start_position=(((T620*)((T620*)a1)))->_start_position/*4*/;
  121. C->_list=(((T620*)((T620*)a1)))->_list/*8*/;
  122. C->_current_type=a2;
  123. C->_flat_list=r733twin(((T733*)((((T620*)((T620*)a1)))->_flat_list/*12*/)));
  124. _i=(((T733*)((T733*)((((T620*)C))->_flat_list/*12*/))))->_upper/*12*/;
  125. while (!((_i)==(0))) {
  126. _n1=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i);
  127. _n2=r39to_runnable(((T39*)_n1),a2);
  128. /*IF*/if ((_n2)==((void*)(NULL))) {
  129. r620error((((T39*)((T39*)_n1)))->_start_position/*12*/,((T0*)ms3_535));
  130. }
  131. /*FI*//*[IRF3.6put*/{T733* C1=((T733*)((((T620*)C))->_flat_list/*12*/));
  132. T0* b1=_n2;
  133. int b2=_i;
  134. ((((T733*)C1))->_storage/*4*/)[(b2)-((((T733*)C1))->_lower/*16*/)]=(b1);
  135. }/*]*/
  136. _i=(_i)-(1);
  137. }
  138. }
  139. void r620error(T0* a1,T0* a2){
  140. r683add_position(a1);
  141. r683error(((T683*)(oBC364eh)),a2);
  142. }
  143. void r620add_last(T620* C,T0* a1){
  144. T0* _n2=NULL;
  145. int _i=0;
  146. _i=1;
  147. while (!((r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i))==((void*)(NULL)))) {
  148. _n2=r733item(((T733*)((((T620*)C))->_flat_list/*12*/)),_i);
  149. /*IF*/if (((((T39*)((T39*)_n2)))->_to_string/*8*/)==((void*)((((T39*)((T39*)a1)))->_to_string/*8*/))) {
  150. r683add_position((((T39*)((T39*)a1)))->_start_position/*12*/);
  151. r683add_position((((T39*)((T39*)_n2)))->_start_position/*12*/);
  152. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_535);
  153. r683fatal_error(((T683*)(oBC364eh)),b1);
  154. }/*]*/
  155. }
  156. /*FI*/_i=(_i)+(1);
  157. }
  158. /*[IRF3.6put*/{T733* C1=((T733*)((((T620*)C))->_flat_list/*12*/));
  159. T0* b1=a1;
  160. int b2=_i;
  161. ((((T733*)C1))->_storage/*4*/)[(b2)-((((T733*)C1))->_lower/*16*/)]=(b1);
  162. }/*]*/
  163. /*[IRF3.3set_rank*/((((T39*)(((T39*)a1))))->_rank)=(_i);
  164. /*]*/
  165. }
  166. /*No:LOCAL_VAR_LIST.count*/
  167. /*No:LOCAL_VAR_LIST.fatal_error*/
  168. /*No:LOCAL_VAR_LIST.flat_list*/
  169. /*No:TYPE_BIT_1.n*/
  170. /*No:TYPE_BIT_1.nb*/
  171. /*No:TYPE_BIT_1.fz_bit_foo*/
  172. /*No:TYPE_BIT_1.has_creation*/
  173. /*No:TYPE_BIT_1.is_anchored*/
  174. /*No:TYPE_BIT_1.is_array*/
  175. int r549is_a(T549* C,T0* a1){
  176. int R=0;
  177. T0* _other_bit=NULL;
  178. /*IF*/if (X291is_bit(a1)) {
  179. _other_bit=a1;
  180. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  181. case 549: case 558: 
  182. break;
  183. default:
  184. _other_bit=NULL;
  185. };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)<=(X609nb(_other_bit))) {
  186. R=1;
  187. }
  188. else {
  189. r683add_type((T0*)C,((T0*)ms71_470));
  190. r683add_type(a1,((T0*)ms1_609));
  191. }
  192. /*FI*/}
  193. else {
  194. R=r605is_subclass_of(((T605*)(r549base_class(C))),X291base_class(a1));
  195. /*IF*/if (R) {
  196. r683add_type((T0*)C,((T0*)ms71_470));
  197. r683add_type(a1,((T0*)ms67_470));
  198. }
  199. else {
  200. r549used_as_reference(C);
  201. }
  202. /*FI*/}
  203. /*FI*/return R;
  204. }
  205. void r549set_run_time_mark(T549* C){
  206. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470));
  207. r7append(((T7*)(oBC291tmp_string)),r2to_string(/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/));
  208. C->_run_time_mark=r902item(oBC291tmp_string);
  209. }
  210. /*No:TYPE_BIT_1.run_type*/
  211. /*No:TYPE_BIT_1.is_pointer*/
  212. /*No:TYPE_BIT_1.us_put_0*/
  213. /*No:TYPE_BIT_1.is_string*/
  214. /*No:TYPE_BIT_1.is_like_feature*/
  215. /*No:TYPE_BIT_1.is_like_current*/
  216. /*No:TYPE_BIT_1.us_put_1*/
  217. void r549make(T549* C,T0* a1,T0* a2){
  218. C->_start_position=a1;
  219. C->_n=a2;
  220. r549set_run_time_mark(C);
  221. C->_written_mark=(((T549*)C))->_run_time_mark/*12*/;
  222. }
  223. /*No:TYPE_BIT_1.start_position*/
  224. /*No:TYPE_BIT_1.fz_inako*/
  225. /*No:TYPE_BIT_1.is_character*/
  226. /*No:TYPE_BIT_1.written_mark*/
  227. T0* r549to_runnable(T549* C,T0* a1){
  228. T0* R=NULL;
  229. R=(T0*)C;
  230. r549to_runnable_1_2(C);
  231. return R;
  232. }
  233. /*No:TYPE_BIT_1.is_run_type*/
  234. /*No:TYPE_BIT_1.is_formal_generic*/
  235. T0* r549generic_list(T549* C){
  236. T0* R=NULL;
  237. r549fatal_error_generic_list(C);
  238. return R;
  239. }
  240. /*No:TYPE_BIT_1.is_real*/
  241. /*No:TYPE_BIT_1.is_bit*/
  242. void r549fatal_error_generic_list(T549* C){
  243. r683add_type((T0*)C,((T0*)ms12_291));
  244. r683print_as_fatal_error(((T683*)(oBC364eh)));
  245. }
  246. void r549to_runnable_1_2(T549* C){
  247. T0* _rf=NULL;
  248. T0* _rc=NULL;
  249. _rc=r549run_class(C);
  250. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms105_473));
  251. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms106_473));
  252. }
  253. /*No:TYPE_BIT_1.us_bit_n*/
  254. /*No:TYPE_BIT_1.pretty_print*/
  255. T0*oBC291tmp_string=NULL;
  256. T0* r549smallest_ancestor(T549* C,T0* a1){
  257. T0* R=NULL;
  258. T0* _other_bit=NULL;
  259. _other_bit=a1;
  260. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  261. case 549: case 558: 
  262. break;
  263. default:
  264. _other_bit=NULL;
  265. };/*IF*/if ((/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)<(X609nb(_other_bit))) {
  266. R=(T0*)C;
  267. }
  268. else {
  269. R=a1;
  270. }
  271. /*FI*/return R;
  272. }
  273. /*No:TYPE_BIT_1.is_boolean*/
  274. /*No:TYPE_BIT_1.is_double*/
  275. T0* r549run_class(T549* C){
  276. T0* R=NULL;
  277. R=r604run_class((T0*)C);
  278. return R;
  279. }
  280. /*No:TYPE_BIT_1.run_time_mark*/
  281. int r549is_a_in(T549* C,T0* a1,T0* a2){
  282. int R=0;
  283. T0* _ct=NULL;
  284. T0* _t2=NULL;
  285. T0* _t1=NULL;
  286. /*IF*/if (((((T549*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
  287. R=1;
  288. }
  289. else {
  290. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  291. _t1=r549to_runnable(C,_ct);
  292. _t2=X291to_runnable(a1,_ct);
  293. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  294. R=1;
  295. }
  296. else {
  297. R=X291is_a(_t1,_t2);
  298. }
  299. /*FI*/}
  300. /*FI*/return R;
  301. }
  302. T0* r549look_up_for(T549* C,T0* a1,T0* a2){
  303. T0* R=NULL;
  304. R=r605look_up_for(((T605*)(r549base_class(C))),a1,a2);
  305. return R;
  306. }
  307. /*No:TYPE_BIT_1.expanded_initializer*/
  308. T0*oBC609mem_type_bit_ref=NULL;
  309. /*No:TYPE_BIT_1.fz_dot*/
  310. /*No:TYPE_BIT_1.is_generic*/
  311. void r549used_as_reference(T549* C){
  312. T0* _rc=NULL;
  313. T0* _type_bit_ref=NULL;
  314. /*IF*/if (r226fast_has(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/)) {
  315. }
  316. else {
  317. r226add_last(((T226*)(oBC609mem_ref_nb)),/*(IRF4.6nb*/(((T342*)((T342*)((((T549*)C))->_n/*16*/))))->_value/*12*//*)*/);
  318. {T963*n=malloc(sizeof(*n));
  319. *n=M963;
  320. r963make(n,(T0*)C);
  321. _type_bit_ref=(T0*)n;
  322. }
  323. r41add_last(((T41*)(oBC609mem_type_bit_ref)),_type_bit_ref);
  324. _rc=r963run_class(((T963*)_type_bit_ref));
  325. r368set_at_run_time(((T368*)_rc));
  326. }
  327. /*FI*/}
  328. /*No:TYPE_BIT_1.is_reference*/
  329. T0* r549base_class(T549* C){
  330. T0* R=NULL;
  331. T0* _bcn=NULL;
  332. _bcn=r549base_class_name();
  333. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  334. R=r451base_class(((T451*)_bcn));
  335. }
  336. else {
  337. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  338. r7append(((T7*)(oBC683explanation)),b1);
  339. }/*]*/
  340. r683add_type((T0*)C,((T0*)ms67_470));
  341. r683print_as_fatal_error(((T683*)(oBC364eh)));
  342. }
  343. /*FI*/return R;
  344. }
  345. /*No:TYPE_BIT_1.is_any*/
  346. int fBC609base_class_name=0;
  347. T0*oBC609base_class_name=NULL;
  348. T0* r549base_class_name(void){
  349. if (fBC609base_class_name==0){
  350. T0* R=NULL;
  351. fBC609base_class_name=1;
  352. {T451*n=malloc(sizeof(*n));
  353. *n=M451;
  354. r451make(n,((T0*)ms4_473),NULL);
  355. R=(T0*)n;
  356. }
  357. oBC609base_class_name=R;}
  358. return oBC609base_class_name;}
  359. /*No:TYPE_BIT_1.is_expanded*/
  360. /*No:TYPE_BIT_1.is_basic_eiffel_expanded*/
  361. /*No:TYPE_BIT_1.is_none*/
  362. T0*oBC609mem_ref_nb=NULL;
  363. /*No:TYPE_BIT_1.is_integer*/
  364. T0* r526add_comment(T526* C,T0* a1){
  365. T0* R=NULL;
  366. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  367. R=(T0*)C;
  368. }
  369. /*AF*/else {
  370. {T46*n=malloc(sizeof(*n));
  371. *n=M46;
  372. r46make(n,(T0*)C,a1);
  373. R=(T0*)n;
  374. }
  375. }
  376. /*FI*/return R;
  377. }
  378. /*No:E_RETRY.make*/
  379. /*No:E_RETRY.start_position*/
  380. T0* r526to_runnable(T526* C,T0* a1){
  381. T0* R=NULL;
  382. /*IF*/if (((((T526*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  383. C->_run_compound=a1;
  384. R=(T0*)C;
  385. }
  386.  else if (((((T526*)C))->_run_compound/*4*/)==((void*)(a1))) {
  387. R=(T0*)C;
  388. }
  389. else {
  390. {T526*n=malloc(sizeof(*n));
  391. *n=M526;
  392. /*[IRF3.3make*/((((T526*)(n)))->_start_position)=((((T526*)C))->_start_position/*8*/);
  393. /*]*/
  394. R=(T0*)n;
  395. }
  396. R=r526to_runnable(((T526*)R),a1);
  397. }
  398. /*FI*/return R;
  399. }
  400. /*No:E_RETRY.pretty_print*/
  401. /*No:E_RETRY.run_compound*/
  402. /*No:E_RETRY.end_mark_comment*/
  403. /*No:CHECK_INVARIANT.fz_bad_assertion*/
  404. T0* r623runnable(T0* a1,T0* a2,T0* a3){
  405. T0* R=NULL;
  406. T0* _a=NULL;
  407. int _i=0;
  408. /*IF*/if (!(r608empty(((T608*)a1)))) {
  409. R=r608twin(((T608*)a1));
  410. _i=(((T608*)((T608*)R)))->_upper/*8*/;
  411. while (!((_i)==(0))) {
  412. r604push(((T604*)(oBC364small_eiffel)),a3);
  413. _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
  414. /*IF*/if ((_a)==((void*)(NULL))) {
  415. r623error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
  416. }
  417. else {
  418. /*[IRF3.6put*/{T608* C1=((T608*)R);
  419. T0* b1=_a;
  420. int b2=_i;
  421. ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
  422. }/*]*/
  423. }
  424. /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
  425. _i=(_i)-(1);
  426. }
  427. }
  428. /*FI*/return R;
  429. }
  430. void r623make(T623* C,T0* a1,T0* a2,T0* a3){
  431. C->_start_position=a1;
  432. C->_header_comment=a2;
  433. C->_list=a3;
  434. }
  435. T0* r623name(void){
  436. T0* R=NULL;
  437. R=((T0*)ms4_470);
  438. return R;
  439. }
  440. /*No:CHECK_INVARIANT.nb_errors*/
  441. /*No:CHECK_INVARIANT.start_position*/
  442. T0* r623to_runnable(T623* C,T0* a1){
  443. T0* R=NULL;
  444. /*IF*/if (((((T623*)C))->_current_type/*12*/)==((void*)(NULL))) {
  445. C->_current_type=a1;
  446. /*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
  447. C->_list=r623runnable((((T623*)C))->_list/*8*/,a1,r604top_rf(((T604*)(oBC364small_eiffel))));
  448. }
  449. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  450. R=(T0*)C;
  451. }
  452. /*FI*/}
  453. else {
  454. R=r623twin(C);
  455. /*[IRF3.3set_current_type*/((((T623*)(((T623*)R))))->_current_type)=(NULL);
  456. /*]*/
  457. R=r623to_runnable(((T623*)R),a1);
  458. }
  459. /*FI*/return R;
  460. }
  461. T0* r623twin(T623* C){
  462. T0* R=NULL;
  463. R=malloc(sizeof(*C));
  464. *((T623*)R)=*C;
  465. return R;
  466. }
  467. /*No:CHECK_INVARIANT.set_current_type*/
  468. void r623pretty_print(T623* C){
  469. int _i=0;
  470. r238indent(((T238*)(oBC364fmt)));
  471. r238keyword(((T238*)(oBC364fmt)),r623name());
  472. r238level_incr(((T238*)(oBC364fmt)));
  473. /*IF*/if (((((T623*)C))->_header_comment/*4*/)!=((void*)(NULL))) {
  474. r393pretty_print(((T393*)((((T623*)C))->_header_comment/*4*/)));
  475. }
  476. else {
  477. r238indent(((T238*)(oBC364fmt)));
  478. }
  479. /*FI*//*IF*/if (((((T623*)C))->_list/*8*/)!=((void*)(NULL))) {
  480. _i=1;
  481. while (!((_i)>((((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/))) {
  482. /*IF*/if (r6_px_and(r238zen_mode(((T238*)(oBC364fmt))),(_i)==((((T608*)((T608*)((((T623*)C))->_list/*8*/))))->_upper/*8*/))) {
  483. /*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(0);
  484. /*]*/
  485. }
  486. else {
  487. /*[IRF3.3set_semi_colon_flag*/((((T238*)(((T238*)(oBC364fmt)))))->_semi_colon_flag)=(1);
  488. /*]*/
  489. }
  490. /*FI*/r238indent(((T238*)(oBC364fmt)));
  491. r348pretty_print(((T348*)(r608item(((T608*)((((T623*)C))->_list/*8*/)),_i))));
  492. _i=(_i)+(1);
  493. }
  494. }
  495. /*FI*/r238level_decr(((T238*)(oBC364fmt)));
  496. r238indent(((T238*)(oBC364fmt)));
  497. }
  498. /*No:CHECK_INVARIANT.list*/
  499. /*No:CHECK_INVARIANT.current_type*/
  500. /*No:CHECK_INVARIANT.header_comment*/
  501. void r623error(T0* a1,T0* a2){
  502. r683add_position(a1);
  503. r683error(((T683*)(oBC364eh)),a2);
  504. }
  505. /*No:CHECK_INVARIANT.fz_check*/
  506. /*No:RUN_FEATURE_5.arguments*/
  507. /*No:RUN_FEATURE_5.actuals_clients*/
  508. void r869make(T869* C,T0* a1,T0* a2,T0* a3){
  509. C->_current_type=a1;
  510. C->_name=a2;
  511. C->_base_feature=a3;
  512. r199put(((T199*)((((T368*)((T368*)(r869run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  513. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  514. C->_use_current_state=1015;
  515. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  516. r869initialize(C);
  517. r604pop(((T604*)(oBC364small_eiffel)));
  518. }
  519. /*No:RUN_FEATURE_5.name*/
  520. int r869arg_count(T869* C){
  521. int R=0;
  522. /*IF*/if (((((T869*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  523. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  524. }
  525. /*FI*/return R;
  526. }
  527. /*No:RUN_FEATURE_5.local_vars*/
  528. /*No:RUN_FEATURE_5.base_feature*/
  529. /*No:RUN_FEATURE_5.start_position*/
  530. /*No:RUN_FEATURE_5.ensure_assertion*/
  531. int r869is_exported_in(T869* C,T0* a1){
  532. int R=0;
  533. R=r636gives_permission_to(((T636*)(r869clients(C))),a1);
  534. return R;
  535. }
  536. /*No:RUN_FEATURE_5.result_type*/
  537. void r869add_client(T869* C,T0* a1){
  538. int _i=0;
  539. /*IF*/if (((((T869*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  540. {T187*n=malloc(sizeof(*n));
  541. *n=M187;
  542. r187with_capacity(n,4);
  543. C->_actuals_clients=(T0*)n;
  544. }
  545. r187add_last(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  546. }
  547. else {
  548. _i=r187fast_index_of(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  549. /*IF*/if ((_i)>((((T187*)((T187*)((((T869*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  550. r187add_last(((T187*)((((T869*)C))->_actuals_clients/*12*/)),a1);
  551. }
  552. /*FI*/}
  553. /*FI*/r368add_client(((T368*)(r869run_class(C))),a1);
  554. }
  555. /*No:RUN_FEATURE_5.require_assertion*/
  556. /*No:RUN_FEATURE_5.use_current_state*/
  557. /*No:RUN_FEATURE_5.current_type*/
  558. T0* r869run_class(T869* C){
  559. T0* R=NULL;
  560. R=X291run_class((((T869*)C))->_current_type/*4*/);
  561. return R;
  562. }
  563. /*No:RUN_FEATURE_5.ucs_not_computed*/
  564. /*No:RUN_FEATURE_5.routine_body*/
  565. T0* r869clients(T869* C){
  566. T0* R=NULL;
  567. T0* _bfbc=NULL;
  568. T0* _bc=NULL;
  569. /*IF*/if (((((T869*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  570. _bc=X291base_class((((T869*)C))->_current_type/*4*/);
  571. _bfbc=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_base_class/*4*/;
  572. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  573. R=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_clients/*24*/;
  574. }
  575. else {
  576. R=r605clients_for(((T605*)_bc),(((T869*)C))->_name/*16*/);
  577. }
  578. /*FI*/C->_clients_memory=R;
  579. }
  580. else {
  581. R=(((T869*)C))->_clients_memory/*8*/;
  582. }
  583. /*FI*/return R;
  584. }
  585. /*No:RUN_FEATURE_5.clients_memory*/
  586. void r869initialize(T869* C){
  587. C->_arguments=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_arguments/*28*/;
  588. /*IF*/if ((((((T869*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T869*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  589. C->_arguments=r31to_runnable(((T31*)((((T869*)C))->_arguments/*20*/)),(((T869*)C))->_current_type/*4*/);
  590. }
  591. /*FI*/C->_local_vars=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_local_vars/*20*/;
  592. /*IF*/if ((((((T869*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T869*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
  593. C->_local_vars=r620to_runnable(((T620*)((((T869*)C))->_local_vars/*48*/)),(((T869*)C))->_current_type/*4*/);
  594. }
  595. /*FI*/C->_routine_body=(((T134*)((T134*)((((T869*)C))->_base_feature/*44*/))))->_routine_body/*52*/;
  596. /*IF*/if (((((T869*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
  597. C->_routine_body=r592to_runnable(((T592*)((((T869*)C))->_routine_body/*32*/)),(((T869*)C))->_current_type/*4*/);
  598. }
  599. /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
  600. C->_require_assertion=r134run_require((T0*)C);
  601. }
  602. /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
  603. C->_ensure_assertion=r134run_ensure((T0*)C);
  604. }
  605. /*FI*/r916add_procedure((T0*)C);
  606. }
  607. /*No:CALL_INFIX_LT.arguments*/
  608. T0* r112add_comment(T112* C,T0* a1){
  609. T0* R=NULL;
  610. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  611. R=(T0*)C;
  612. }
  613. else {
  614. {T529*n=malloc(sizeof(*n));
  615. *n=M529;
  616. r529make(n,(T0*)C,a1);
  617. R=(T0*)n;
  618. }
  619. }
  620. /*FI*/return R;
  621. }
  622. int r112to_integer(T112* C){
  623. int R=0;
  624. r112error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T112*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  625. return R;
  626. }
  627. int r112is_a(T112* C,T0* a1){
  628. int R=0;
  629. R=X291is_a(X291run_type((((T112*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  630. /*IF*/if (!(R)) {
  631. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T112*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  632. r112error(X662start_position(a1),((T0*)ms4_662));
  633. }
  634. /*FI*/return R;
  635. }
  636. /*No:CALL_INFIX_LT.is_current*/
  637. void r112make(T112* C,T0* a1,T0* a2,T0* a3){
  638. T0* _eal=NULL;
  639. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  640. r683add_position(a2);
  641. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  642. r683fatal_error(((T683*)(oBC364eh)),b1);
  643. }/*]*/
  644. }
  645. /*FI*/{T454*n=malloc(sizeof(*n));
  646. *n=M454;
  647. r454make(n,r112operator(),a2);
  648. C->_feature_name=(T0*)n;
  649. }
  650. {T431*n=malloc(sizeof(*n));
  651. *n=M431;
  652. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  653. /*]*/
  654. _eal=(T0*)n;
  655. }
  656. r112make_call_1(C,a1,(((T112*)C))->_feature_name/*24*/,_eal);
  657. }
  658. void r112print_as_target(T112* C){
  659. r238put_character(((T238*)(oBC364fmt)),'\50');
  660. r112pretty_print(C);
  661. r238put_character(((T238*)(oBC364fmt)),'\51');
  662. r238put_character(((T238*)(oBC364fmt)),'\56');
  663. }
  664. /*No:CALL_INFIX_LT.nb_errors*/
  665. /*No:CALL_INFIX_LT.feature_name*/
  666. /*No:CALL_INFIX_LT.fz_iinaiv*/
  667. /*No:CALL_INFIX_LT.run_feature*/
  668. /*No:CALL_INFIX_LT.start_position*/
  669. /*No:CALL_INFIX_LT.target*/
  670. /*No:CALL_INFIX_LT.precedence*/
  671. T0* r112to_runnable(T112* C,T0* a1){
  672. T0* R=NULL;
  673. T0* _tla=NULL;
  674. T0* _a=NULL;
  675. /*IF*/if (((((T112*)C))->_current_type/*4*/)==((void*)(NULL))) {
  676. r112to_runnable_0(C,a1);
  677. _a=r431to_runnable(((T431*)((((T112*)C))->_arguments/*20*/)),a1);
  678. /*IF*/if ((_a)==((void*)(NULL))) {
  679. r112error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  680. }
  681. else {
  682. C->_arguments=_a;
  683. }
  684. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  685. r431match_with(((T431*)((((T112*)C))->_arguments/*20*/)),(((T112*)C))->_run_feature/*12*/);
  686. }
  687. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  688. _tla=(((T112*)C))->_result_type/*16*/;
  689. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  690. case 239: 
  691. break;
  692. default:
  693. _tla=NULL;
  694. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  695. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/));
  696. }
  697. /*FI*/}
  698. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  699. R=(T0*)C;
  700. }
  701. /*FI*/}
  702. else {
  703. R=r112twin(C);
  704. /*[IRF3.3set_current_type*/((((T112*)(((T112*)R))))->_current_type)=(NULL);
  705. /*]*/
  706. R=r112to_runnable(((T112*)R),a1);
  707. }
  708. /*FI*/return R;
  709. }
  710. void r112bracketed_pretty_print(T112* C){
  711. r238put_character(((T238*)(oBC364fmt)),'\50');
  712. r112pretty_print(C);
  713. r238put_character(((T238*)(oBC364fmt)),'\51');
  714. }
  715. /*No:CALL_INFIX_LT.result_type*/
  716. T0* r112twin(T112* C){
  717. T0* R=NULL;
  718. R=malloc(sizeof(*C));
  719. *((T112*)R)=*C;
  720. return R;
  721. }
  722. /*No:CALL_INFIX_LT.set_current_type*/
  723. T0* r112operator(void){
  724. T0* R=NULL;
  725. R=((T0*)ms36_473);
  726. return R;
  727. }
  728. /*No:CALL_INFIX_LT.atomic_precedence*/
  729. void r112pretty_print(T112* C){
  730. /*IF*/if ((X662precedence((((T112*)C))->_target/*8*/))==(13)) {
  731. X662pretty_print((((T112*)C))->_target/*8*/);
  732. r112print_op(C);
  733. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  734. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  735. }
  736.  else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/))) {
  737. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  738. }
  739. else {
  740. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  741. }
  742. /*FI*/}
  743.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  744. /*IF*/if ((X662precedence((((T112*)C))->_target/*8*/))>=(6)) {
  745. X662bracketed_pretty_print((((T112*)C))->_target/*8*/);
  746. }
  747. else {
  748. X662pretty_print((((T112*)C))->_target/*8*/);
  749. }
  750. /*FI*/r112print_op(C);
  751. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  752. }
  753.  else if ((6)<=(X662precedence((((T112*)C))->_target/*8*/))) {
  754. X662bracketed_pretty_print((((T112*)C))->_target/*8*/);
  755. r112print_op(C);
  756. /*IF*/if ((6)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/))) {
  757. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  758. }
  759. else {
  760. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  761. }
  762. /*FI*/}
  763. else {
  764. X662pretty_print((((T112*)C))->_target/*8*/);
  765. r112print_op(C);
  766. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T112*)C))->_arguments/*20*/)))/*)*/);
  767. }
  768. /*FI*/}
  769. void r112print_op(T112* C){
  770. r238put_character(((T238*)(oBC364fmt)),'\40');
  771. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T112*)C))->_feature_name/*24*/));
  772. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  773. }/*]*/
  774. r238put_character(((T238*)(oBC364fmt)),'\40');
  775. }
  776. /*No:CALL_INFIX_LT.current_type*/
  777. void r112make_call_1(T112* C,T0* a1,T0* a2,T0* a3){
  778. C->_target=a1;
  779. C->_feature_name=a2;
  780. C->_arguments=a3;
  781. }
  782. /*No:CALL_INFIX_LT.is_manifest_string*/
  783. /*No:CALL_INFIX_LT.is_void*/
  784. void r112to_runnable_0(T112* C,T0* a1){
  785. C->_current_type=a1;
  786. r112cpc_to_runnable(C,a1);
  787. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T112*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  788. /*IF*/if (((((T112*)C))->_result_type/*16*/)==((void*)(NULL))) {
  789. r683add_position(X496start_position((((T112*)C))->_run_feature/*12*/));
  790. r112error((((T454*)((T454*)((((T112*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  791. }
  792.  else if (X291is_like_current((((T112*)C))->_result_type/*16*/)) {
  793. C->_result_type=X662result_type((((T112*)C))->_target/*8*/);
  794. }
  795. /*FI*/}
  796. void r112cpc_to_runnable(T112* C,T0* a1){
  797. T0* _rc=NULL;
  798. T0* _t=NULL;
  799. _t=X662to_runnable((((T112*)C))->_target/*8*/,a1);
  800. /*IF*/if ((_t)==((void*)(NULL))) {
  801. r683add_position(X662start_position((((T112*)C))->_target/*8*/));
  802. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  803. r683fatal_error(((T683*)(oBC364eh)),b1);
  804. }/*]*/
  805. }
  806. /*FI*/C->_target=_t;
  807. _rc=X291run_class(X662result_type((((T112*)C))->_target/*8*/));
  808. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  809. r576update((((T112*)C))->_target/*8*/,(((T112*)C))->_run_feature/*12*/);
  810. }
  811. void r112error(T0* a1,T0* a2){
  812. r683add_position(a1);
  813. r683error(((T683*)(oBC364eh)),a2);
  814. }
  815. /*No:CALL_INFIX_LT.fatal_error*/
  816. /*No:CALL_INFIX_LT.fz_bad_argument*/
  817. /*No:CALL_INFIX_LT.arg1*/
  818. /*No:CALL_INFIX_LT.us_lt*/
  819. int r648has_creation(T648* C,T0* a1){
  820. int R=0;
  821. R=X291has_creation((((T648*)C))->_run_type/*8*/,a1);
  822. return R;
  823. }
  824. /*No:TYPE_LIKE_FEATURE.is_anchored*/
  825. int r648is_array(T648* C){
  826. int R=0;
  827. R=X291is_array((((T648*)C))->_run_type/*8*/);
  828. return R;
  829. }
  830. int r648is_a(T648* C,T0* a1){
  831. int R=0;
  832. R=X291is_a((((T648*)C))->_run_type/*8*/,a1);
  833. return R;
  834. }
  835. int r648is_pointer(T648* C){
  836. int R=0;
  837. R=X291is_pointer((((T648*)C))->_run_type/*8*/);
  838. return R;
  839. }
  840. /*No:TYPE_LIKE_FEATURE.run_type*/
  841. int r648is_string(T648* C){
  842. int R=0;
  843. R=X291is_string((((T648*)C))->_run_type/*8*/);
  844. return R;
  845. }
  846. /*No:TYPE_LIKE_FEATURE.is_like_feature*/
  847. /*No:TYPE_LIKE_FEATURE.is_like_current*/
  848. T0* r648ultimate_run_type(T648* C,T0* a1){
  849. T0* R=NULL;
  850. T0* _t=NULL;
  851. _t=a1;
  852. while (!((_t)==((void*)(X291run_type(_t))))) {
  853. _t=X291run_type(_t);
  854. }
  855. /*IF*/if (((((T648*)C))->_run_type/*8*/)==((void*)(NULL))) {
  856. C->_run_type=_t;
  857. R=(T0*)C;
  858. }
  859. else {
  860. R=r648twin(C);
  861. /*[IRF3.3set_run_type*/((((T648*)(((T648*)R))))->_run_type)=(_t);
  862. /*]*/
  863. }
  864. /*FI*/return R;
  865. }
  866. void r648make(T648* C,T0* a1,T0* a2){
  867. C->_start_position=a1;
  868. C->_like_what=a2;
  869. r7copy(((T7*)(oBC646tmp_written_mark)),((T0*)ms113_470));
  870. r7append(((T7*)(oBC646tmp_written_mark)),X776to_string((((T648*)C))->_like_what/*12*/));
  871. C->_written_mark=r902item(oBC646tmp_written_mark);
  872. }
  873. void r648anchor_cycle_start(T648* C){
  874. int _i=0;
  875. /*IF*/if (((((T907*)((T907*)(oBC646visited))))->_upper/*8*/)<(0)) {
  876. r907add_last(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/);
  877. }
  878.  else if (r907fast_has(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/)) {
  879. _i=0;
  880. while (!((_i)>((((T907*)((T907*)(oBC646visited))))->_upper/*8*/))) {
  881. r683add_position(/*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[_i]/*)*/);
  882. _i=(_i)+(1);
  883. }
  884. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
  885. r683fatal_error(((T683*)(oBC364eh)),b1);
  886. }/*]*/
  887. }
  888. else {
  889. r907add_last(((T907*)(oBC646visited)),(((T648*)C))->_start_position/*4*/);
  890. }
  891. /*FI*/}
  892. /*No:TYPE_LIKE_FEATURE.fz_bad_anchor*/
  893. /*No:TYPE_LIKE_FEATURE.start_position*/
  894. /*No:TYPE_LIKE_FEATURE.like_what*/
  895. int r648is_character(T648* C){
  896. int R=0;
  897. R=X291is_character((((T648*)C))->_run_type/*8*/);
  898. return R;
  899. }
  900. /*No:TYPE_LIKE_FEATURE.written_mark*/
  901. T0* r648to_runnable(T648* C,T0* a1){
  902. T0* R=NULL;
  903. T0* _rc=NULL;
  904. T0* _f=NULL;
  905. T0* _t=NULL;
  906. r648anchor_cycle_start(C);
  907. _rc=X291run_class(a1);
  908. _f=X291look_up_for(a1,_rc,(((T648*)C))->_like_what/*12*/);
  909. /*IF*/if ((_f)==((void*)(NULL))) {
  910. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms1_648));
  911. }
  912. else {
  913. _t=/*X359*/((T0*)(((T398*)((T398*)_f)))->_result_type/*12*/);
  914. /*IF*/if ((_t)==((void*)(NULL))) {
  915. r683add_position(X359start_position(_f));
  916. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms2_648));
  917. }
  918. else {
  919. _t=X291to_runnable(_t,a1);
  920. /*IF*/if ((_t)==((void*)(NULL))) {
  921. r648error((((T648*)C))->_start_position/*4*/,((T0*)ms54_470));
  922. }
  923. else {
  924. R=r648ultimate_run_type(C,X291run_type(_t));
  925. }
  926. /*FI*/}
  927. /*FI*/}
  928. /*FI*/r648anchor_cycle_end(C);
  929. return R;
  930. }
  931. /*No:TYPE_LIKE_FEATURE.is_run_type*/
  932. /*No:TYPE_LIKE_FEATURE.is_formal_generic*/
  933. T0* r648generic_list(T648* C){
  934. T0* R=NULL;
  935. /*IF*/if (r648is_generic(C)) {
  936. R=X291generic_list((((T648*)C))->_run_type/*8*/);
  937. }
  938. else {
  939. r648fatal_error_generic_list(C);
  940. }
  941. /*FI*/return R;
  942. }
  943. int r648is_real(T648* C){
  944. int R=0;
  945. R=X291is_real((((T648*)C))->_run_type/*8*/);
  946. return R;
  947. }
  948. T0* r648twin(T648* C){
  949. T0* R=NULL;
  950. R=malloc(sizeof(*C));
  951. *((T648*)R)=*C;
  952. return R;
  953. }
  954. int r648is_bit(T648* C){
  955. int R=0;
  956. R=X291is_bit((((T648*)C))->_run_type/*8*/);
  957. return R;
  958. }
  959. void r648fatal_error_generic_list(T648* C){
  960. r683add_type((T0*)C,((T0*)ms12_291));
  961. r683print_as_fatal_error(((T683*)(oBC364eh)));
  962. }
  963. /*No:TYPE_LIKE_FEATURE.pretty_print*/
  964. T0* r648smallest_ancestor(T648* C,T0* a1){
  965. T0* R=NULL;
  966. R=X291smallest_ancestor((((T648*)C))->_run_type/*8*/,a1);
  967. return R;
  968. }
  969. int r648is_boolean(T648* C){
  970. int R=0;
  971. R=X291is_boolean((((T648*)C))->_run_type/*8*/);
  972. return R;
  973. }
  974. /*No:TYPE_LIKE_FEATURE.set_run_type*/
  975. int r648is_double(T648* C){
  976. int R=0;
  977. R=X291is_double((((T648*)C))->_run_type/*8*/);
  978. return R;
  979. }
  980. T0* r648run_class(T648* C){
  981. T0* R=NULL;
  982. R=r604run_class((((T648*)C))->_run_type/*8*/);
  983. return R;
  984. }
  985. T0* r648run_time_mark(T648* C){
  986. T0* R=NULL;
  987. /*IF*/if (((((T648*)C))->_run_type/*8*/)!=((void*)(NULL))) {
  988. R=X291run_time_mark((((T648*)C))->_run_type/*8*/);
  989. }
  990. /*FI*/return R;
  991. }
  992. int r648is_a_in(T648* C,T0* a1,T0* a2){
  993. int R=0;
  994. T0* _ct=NULL;
  995. T0* _t2=NULL;
  996. T0* _t1=NULL;
  997. /*IF*/if (((((T648*)C))->_written_mark/*16*/)==((void*)(X291written_mark(a1)))) {
  998. R=1;
  999. }
  1000. else {
  1001. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  1002. _t1=r648to_runnable(C,_ct);
  1003. _t2=X291to_runnable(a1,_ct);
  1004. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  1005. R=1;
  1006. }
  1007. else {
  1008. R=X291is_a(_t1,_t2);
  1009. }
  1010. /*FI*/}
  1011. /*FI*/return R;
  1012. }
  1013. T0* r648look_up_for(T648* C,T0* a1,T0* a2){
  1014. T0* R=NULL;
  1015. R=r605look_up_for(((T605*)(r648base_class(C))),a1,a2);
  1016. return R;
  1017. }
  1018. /*No:TYPE_LIKE_FEATURE.fz_cad*/
  1019. T0* r648expanded_initializer(T648* C){
  1020. T0* R=NULL;
  1021. R=X291expanded_initializer((((T648*)C))->_run_type/*8*/);
  1022. return R;
  1023. }
  1024. /*No:TYPE_LIKE_FEATURE.fz_dot*/
  1025. int r648is_generic(T648* C){
  1026. int R=0;
  1027. R=X291is_generic((((T648*)C))->_run_type/*8*/);
  1028. return R;
  1029. }
  1030. /*No:TYPE_LIKE_FEATURE.used_as_reference*/
  1031. int r648is_reference(T648* C){
  1032. int R=0;
  1033. R=X291is_reference((((T648*)C))->_run_type/*8*/);
  1034. return R;
  1035. }
  1036. void r648error(T0* a1,T0* a2){
  1037. r683add_position(a1);
  1038. r683error(((T683*)(oBC364eh)),a2);
  1039. }
  1040. T0* r648base_class(T648* C){
  1041. T0* R=NULL;
  1042. T0* _bcn=NULL;
  1043. _bcn=r648base_class_name(C);
  1044. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  1045. R=r451base_class(((T451*)_bcn));
  1046. }
  1047. else {
  1048. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  1049. r7append(((T7*)(oBC683explanation)),b1);
  1050. }/*]*/
  1051. r683add_type((T0*)C,((T0*)ms67_470));
  1052. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1053. }
  1054. /*FI*/return R;
  1055. }
  1056. /*No:TYPE_LIKE_FEATURE.fatal_error*/
  1057. int r648is_any(T648* C){
  1058. int R=0;
  1059. R=X291is_any((((T648*)C))->_run_type/*8*/);
  1060. return R;
  1061. }
  1062. T0* r648base_class_name(T648* C){
  1063. T0* R=NULL;
  1064. R=X291base_class_name((((T648*)C))->_run_type/*8*/);
  1065. return R;
  1066. }
  1067. int r648is_expanded(T648* C){
  1068. int R=0;
  1069. R=X291is_expanded((((T648*)C))->_run_type/*8*/);
  1070. return R;
  1071. }
  1072. /*No:TYPE_LIKE_FEATURE.fz_like_foo*/
  1073. int r648is_basic_eiffel_expanded(T648* C){
  1074. int R=0;
  1075. R=X291is_basic_eiffel_expanded((((T648*)C))->_run_type/*8*/);
  1076. return R;
  1077. }
  1078. int r648is_none(T648* C){
  1079. int R=0;
  1080. R=X291is_none((((T648*)C))->_run_type/*8*/);
  1081. return R;
  1082. }
  1083. int r648is_integer(T648* C){
  1084. int R=0;
  1085. R=X291is_integer((((T648*)C))->_run_type/*8*/);
  1086. return R;
  1087. }
  1088. void r648anchor_cycle_end(T648* C){
  1089. /*IF*/if (((((T648*)C))->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[0]/*)*//*)*/))) {
  1090. /*[IRF3.3clear*/((((T907*)(((T907*)(oBC646visited)))))->_upper)=(-(1));
  1091. /*]*/
  1092. }
  1093. /*FI*/}
  1094. /*No:CST_ATT_DOUBLE.arguments*/
  1095. T0* r118try_to_undefine(T118* C,T0* a1,T0* a2){
  1096. T0* R=NULL;
  1097. X776undefine_in(a1,a2);
  1098. R=r118try_to_undefine_aux(C,a1,a2);
  1099. /*IF*/if ((R)!=((void*)(NULL))) {
  1100. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T118*)C))->_clients/*20*/);
  1101. /*]*/
  1102. }
  1103. else {
  1104. r605fatal_undefine(((T605*)a2),a1);
  1105. }
  1106. /*FI*/return R;
  1107. }
  1108. /*No:CST_ATT_DOUBLE.is_deferred*/
  1109. void r118pretty_tail(T118* C){
  1110. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_418));
  1111. /*[IRF3.6pretty_print*/{T936* C1=((T936*)(/*(IRF4.3value*/(((T118*)C))->_value_mem/*24*//*)*/));
  1112. r238put_string(((T238*)(oBC364fmt)),(((T936*)C1))->_to_string/*12*/);
  1113. }/*]*/
  1114. }
  1115. void r118add_into(T118* C,T0* a1){
  1116. T0* _fn=NULL;
  1117. int _i=0;
  1118. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  1119. _i=1;
  1120. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1121. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  1122. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  1123. _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)/*)*//*)*/);
  1124. r683add_position(X776start_position(_fn));
  1125. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  1126. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  1127. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  1128. r7append(((T7*)(oBC683explanation)),b1);
  1129. }/*]*/
  1130. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1131. }
  1132. else {
  1133. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  1134. }
  1135. /*FI*/_i=(_i)+(1);
  1136. }
  1137. }
  1138. T0* r118try_to_undefine_aux(T118* C,T0* a1,T0* a2){
  1139. T0* R=NULL;
  1140. r683add_position(r118start_position(C));
  1141. r118error(X776start_position(a1),((T0*)ms1_308));
  1142. r605fatal_undefine(((T605*)a2),a1);
  1143. return R;
  1144. }
  1145. void r118make(T118* C,T0* a1,T0* a2,T0* a3){
  1146. r118make_e_feature(C,a1,a2);
  1147. C->_value_mem=a3;
  1148. }
  1149. /*No:CST_ATT_DOUBLE.nb_errors*/
  1150. void r118pretty_print_one_name(T0* a1){
  1151. /*IF*/if (X776is_frozen(a1)) {
  1152. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  1153. }
  1154. /*FI*/X776definition_pretty_print(a1);
  1155. }
  1156. /*No:CST_ATT_DOUBLE.set_header_comment*/
  1157. T0* r118start_position(T118* C){
  1158. T0* R=NULL;
  1159. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1160. return R;
  1161. }
  1162. T0* r118to_run_feature(T118* C,T0* a1,T0* a2){
  1163. T0* R=NULL;
  1164. T0* _rc=NULL;
  1165. _rc=X291run_class(a1);
  1166. R=r368at(((T368*)_rc),a2);
  1167. if(NULL!=(R))switch(((T0*)R)->id) {
  1168. case 808: 
  1169. break;
  1170. default:
  1171. R=NULL;
  1172. };/*IF*/if ((R)==((void*)(NULL))) {
  1173. {T808*n=malloc(sizeof(*n));
  1174. *n=M808;
  1175. r808make(n,a1,a2,(T0*)C);
  1176. R=(T0*)n;
  1177. }
  1178. }
  1179. /*FI*/return R;
  1180. }
  1181. /*No:CST_ATT_DOUBLE.ensure_assertion*/
  1182. /*No:CST_ATT_DOUBLE.code_require*/
  1183. /*No:CST_ATT_DOUBLE.result_type*/
  1184. /*No:CST_ATT_DOUBLE.em1*/
  1185. void r118pretty_print(T118* C){
  1186. r118pretty_print_profile(C);
  1187. r118pretty_tail(C);
  1188. r238put_character(((T238*)(oBC364fmt)),'\73');
  1189. /*IF*/if (((((T118*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  1190. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1191. /*]*/
  1192. r238indent(((T238*)(oBC364fmt)));
  1193. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  1194. /*]*/
  1195. r393pretty_print(((T393*)((((T118*)C))->_header_comment/*16*/)));
  1196. }
  1197. /*FI*/}
  1198. /*No:CST_ATT_DOUBLE.set_clients*/
  1199. /*No:CST_ATT_DOUBLE.em2*/
  1200. /*No:CST_ATT_DOUBLE.require_assertion*/
  1201. /*No:CST_ATT_DOUBLE.value*/
  1202. /*No:CST_ATT_DOUBLE.names*/
  1203. /*No:CST_ATT_DOUBLE.value_mem*/
  1204. void r118pretty_print_profile(T118* C){
  1205. r118pretty_print_names(C);
  1206. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1207. /*]*/
  1208. /*[IRF3.1pretty_print_arguments*//*]*/
  1209. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  1210. /*]*/
  1211. /*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1212. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  1213. X291pretty_print((((T118*)C))->_result_type/*12*/);
  1214. }
  1215. /*FI*/}
  1216. void r118pretty_print_names(T118* C){
  1217. int _i=0;
  1218. _i=1;
  1219. r118pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1220. _i=(_i)+(1);
  1221. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1222. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  1223. r118pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T118*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1224. _i=(_i)+(1);
  1225. }
  1226. }
  1227. int r118can_hide(T118* C,T0* a1,T0* a2){
  1228. int R=0;
  1229. /*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1230. /*IF*/if ((((((T118*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1231. r683add_position(X359start_position(a1));
  1232. r118error(r118start_position(C),((T0*)ms5_359));
  1233. }
  1234. /*FI*/}
  1235. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  1236. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  1237. r118error(r118start_position(C),((T0*)ms6_359));
  1238. }
  1239. /*FI*/}
  1240. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1241. /*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1242. /*IF*/if (!(X291is_a_in((((T118*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1243. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1244. r7append(((T7*)(oBC683explanation)),b1);
  1245. }/*]*/
  1246. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  1247. r7append(((T7*)(oBC683explanation)),b1);
  1248. }/*]*/
  1249. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1250. }
  1251. /*FI*/}
  1252. /*FI*/}
  1253. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1254. /*IF*//*AF*//*AE*/
  1255. /*FI*/}
  1256. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1257. return R;
  1258. }
  1259. /*No:CST_ATT_DOUBLE.header_comment*/
  1260. int r118is_merge_with(T118* C,T0* a1,T0* a2){
  1261. int R=0;
  1262. /*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1263. /*IF*/if ((((((T118*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1264. r683add_position(X359start_position(a1));
  1265. r118error(r118start_position(C),((T0*)ms2_359));
  1266. }
  1267. /*FI*/}
  1268. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  1269. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  1270. r118error(r118start_position(C),((T0*)ms3_359));
  1271. }
  1272. /*FI*/}
  1273. /*FI*//*IF*/if (((((T118*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1274. /*IF*/if (!(X291is_a_in((((T118*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1275. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  1276. }
  1277. /*FI*/}
  1278. /*FI*//*IF*//*AF*//*AE*/
  1279. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1280. return R;
  1281. }
  1282. /*No:CST_ATT_DOUBLE.fz_dot*/
  1283. /*No:CST_ATT_DOUBLE.first_name*/
  1284. /*No:CST_ATT_DOUBLE.clients*/
  1285. void r118collect_for(int a1){
  1286. /*IF*/if ((a1)==(1001)) {
  1287. /*IF*//*AF*//*AE*/
  1288. /*FI*/}
  1289. else {
  1290. /*IF*//*AF*//*AE*/
  1291. /*FI*/}
  1292. /*FI*/}
  1293. void r118error(T0* a1,T0* a2){
  1294. r683add_position(a1);
  1295. r683error(((T683*)(oBC364eh)),a2);
  1296. }
  1297. /*No:CST_ATT_DOUBLE.base_class*/
  1298. /*No:CST_ATT_DOUBLE.pretty_print_arguments*/
  1299. void r118make_e_feature(T118* C,T0* a1,T0* a2){
  1300. C->_names=a1;
  1301. C->_result_type=a2;
  1302. }
  1303. /*No:TYPE_BIT_2.nb*/
  1304. /*No:TYPE_BIT_2.n*/
  1305. /*No:TYPE_BIT_2.fz_bit_foo*/
  1306. /*No:TYPE_BIT_2.has_creation*/
  1307. /*No:TYPE_BIT_2.is_anchored*/
  1308. /*No:TYPE_BIT_2.is_array*/
  1309. int r558is_a(T558* C,T0* a1){
  1310. int R=0;
  1311. T0* _other_bit=NULL;
  1312. /*IF*/if (X291is_bit(a1)) {
  1313. _other_bit=a1;
  1314. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  1315. case 549: case 558: 
  1316. break;
  1317. default:
  1318. _other_bit=NULL;
  1319. };/*IF*/if (((((T558*)C))->_nb/*20*/)<=(X609nb(_other_bit))) {
  1320. R=1;
  1321. }
  1322. else {
  1323. r683add_type((T0*)C,((T0*)ms71_470));
  1324. r683add_type(a1,((T0*)ms1_609));
  1325. }
  1326. /*FI*/}
  1327. else {
  1328. R=r605is_subclass_of(((T605*)(r558base_class(C))),X291base_class(a1));
  1329. /*IF*/if (R) {
  1330. r683add_type((T0*)C,((T0*)ms71_470));
  1331. r683add_type(a1,((T0*)ms67_470));
  1332. }
  1333. else {
  1334. r558used_as_reference(C);
  1335. }
  1336. /*FI*/}
  1337. /*FI*/return R;
  1338. }
  1339. void r558set_run_time_mark(T558* C){
  1340. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470));
  1341. r7append(((T7*)(oBC291tmp_string)),r2to_string((((T558*)C))->_nb/*20*/));
  1342. C->_run_time_mark=r902item(oBC291tmp_string);
  1343. }
  1344. /*No:TYPE_BIT_2.fz_not_found*/
  1345. /*No:TYPE_BIT_2.run_type*/
  1346. /*No:TYPE_BIT_2.is_pointer*/
  1347. /*No:TYPE_BIT_2.us_put_0*/
  1348. /*No:TYPE_BIT_2.is_string*/
  1349. /*No:TYPE_BIT_2.is_like_feature*/
  1350. /*No:TYPE_BIT_2.is_like_current*/
  1351. /*No:TYPE_BIT_2.us_put_1*/
  1352. void r558make(T558* C,T0* a1,T0* a2){
  1353. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms78_470));
  1354. r7append(((T7*)(oBC291tmp_string)),(((T446*)((T446*)a2)))->_to_string/*12*/);
  1355. C->_written_mark=r902item(oBC291tmp_string);
  1356. C->_start_position=a1;
  1357. C->_n=a2;
  1358. }
  1359. /*No:TYPE_BIT_2.fz_iinaiv*/
  1360. /*No:TYPE_BIT_2.start_position*/
  1361. /*No:TYPE_BIT_2.fz_inako*/
  1362. /*No:TYPE_BIT_2.is_character*/
  1363. /*No:TYPE_BIT_2.written_mark*/
  1364. T0* r558to_runnable(T558* C,T0* a1){
  1365. T0* R=NULL;
  1366. T0* _ic=NULL;
  1367. T0* _rf8=NULL;
  1368. T0* _rf1=NULL;
  1369. T0* _rf=NULL;
  1370. /*IF*/if (((((T558*)C))->_run_time_mark/*12*/)==((void*)(NULL))) {
  1371. _rf=r446run_feature(((T446*)((((T558*)C))->_n/*16*/)),a1);
  1372. /*IF*/if ((_rf)==((void*)(NULL))) {
  1373. r683add_position((((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  1374. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms74_470);
  1375. r683fatal_error(((T683*)(oBC364eh)),b1);
  1376. }/*]*/
  1377. }
  1378. else {
  1379. _rf1=_rf;
  1380. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  1381. case 808: 
  1382. break;
  1383. default:
  1384. _rf1=NULL;
  1385. };_rf8=_rf;
  1386. if(NULL!=(_rf8))switch(((T0*)_rf8)->id) {
  1387. case 892: 
  1388. break;
  1389. default:
  1390. _rf8=NULL;
  1391. };/*IF*/if ((_rf1)!=((void*)(NULL))) {
  1392. _ic=X418value((((T808*)((T808*)_rf1)))->_base_feature/*32*/,1);
  1393. if(NULL!=(_ic))switch(((T0*)_ic)->id) {
  1394. case 342: 
  1395. break;
  1396. default:
  1397. _ic=NULL;
  1398. };/*IF*/if ((_ic)==((void*)(NULL))) {
  1399. r683add_position((((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  1400. r683add_position(r808start_position(((T808*)_rf1)));
  1401. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_470);
  1402. r683fatal_error(((T683*)(oBC364eh)),b1);
  1403. }/*]*/
  1404. }
  1405. /*FI*/C->_nb=(((T342*)((T342*)_ic)))->_value/*12*/;
  1406. /*IF*/if (((((T558*)C))->_nb/*20*/)<(0)) {
  1407. r683add_position((((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  1408. r683add_position(r808start_position(((T808*)_rf1)));
  1409. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_558);
  1410. r683fatal_error(((T683*)(oBC364eh)),b1);
  1411. }/*]*/
  1412. }
  1413. /*FI*/}
  1414.  else if ((_rf8)!=((void*)(NULL))) {
  1415. C->_nb=r892integer_value(((T892*)_rf8),(((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  1416. }
  1417. else {
  1418. r683add_position((((T446*)((T446*)((((T558*)C))->_n/*16*/))))->_start_position/*16*/);
  1419. r683add_position(X496start_position(_rf));
  1420. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms69_470);
  1421. r683fatal_error(((T683*)(oBC364eh)),b1);
  1422. }/*]*/
  1423. }
  1424. /*FI*/r558set_run_time_mark(C);
  1425. R=(T0*)C;
  1426. r558to_runnable_1_2(C);
  1427. }
  1428. /*FI*/}
  1429. else {
  1430. {T558*n=malloc(sizeof(*n));
  1431. *n=M558;
  1432. r558make(n,(((T558*)C))->_start_position/*4*/,(((T558*)C))->_n/*16*/);
  1433. R=(T0*)n;
  1434. }
  1435. R=r558to_runnable(((T558*)R),a1);
  1436. }
  1437. /*FI*/return R;
  1438. }
  1439. /*No:TYPE_BIT_2.is_run_type*/
  1440. /*No:TYPE_BIT_2.is_formal_generic*/
  1441. T0* r558generic_list(T558* C){
  1442. T0* R=NULL;
  1443. r558fatal_error_generic_list(C);
  1444. return R;
  1445. }
  1446. /*No:TYPE_BIT_2.is_real*/
  1447. /*No:TYPE_BIT_2.is_bit*/
  1448. void r558fatal_error_generic_list(T558* C){
  1449. r683add_type((T0*)C,((T0*)ms12_291));
  1450. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1451. }
  1452. void r558to_runnable_1_2(T558* C){
  1453. T0* _rf=NULL;
  1454. T0* _rc=NULL;
  1455. _rc=r558run_class(C);
  1456. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms105_473));
  1457. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms106_473));
  1458. }
  1459. /*No:TYPE_BIT_2.us_bit_n*/
  1460. /*No:TYPE_BIT_2.pretty_print*/
  1461. T0* r558smallest_ancestor(T558* C,T0* a1){
  1462. T0* R=NULL;
  1463. T0* _other_bit=NULL;
  1464. _other_bit=a1;
  1465. if(NULL!=(_other_bit))switch(((T0*)_other_bit)->id) {
  1466. case 549: case 558: 
  1467. break;
  1468. default:
  1469. _other_bit=NULL;
  1470. };/*IF*/if (((((T558*)C))->_nb/*20*/)<(X609nb(_other_bit))) {
  1471. R=(T0*)C;
  1472. }
  1473. else {
  1474. R=a1;
  1475. }
  1476. /*FI*/return R;
  1477. }
  1478. /*No:TYPE_BIT_2.is_boolean*/
  1479. /*No:TYPE_BIT_2.is_double*/
  1480. T0* r558run_class(T558* C){
  1481. T0* R=NULL;
  1482. R=r604run_class((T0*)C);
  1483. return R;
  1484. }
  1485. /*No:TYPE_BIT_2.run_time_mark*/
  1486. int r558is_a_in(T558* C,T0* a1,T0* a2){
  1487. int R=0;
  1488. T0* _ct=NULL;
  1489. T0* _t2=NULL;
  1490. T0* _t1=NULL;
  1491. /*IF*/if (((((T558*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
  1492. R=1;
  1493. }
  1494. else {
  1495. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  1496. _t1=r558to_runnable(C,_ct);
  1497. _t2=X291to_runnable(a1,_ct);
  1498. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  1499. R=1;
  1500. }
  1501. else {
  1502. R=X291is_a(_t1,_t2);
  1503. }
  1504. /*FI*/}
  1505. /*FI*/return R;
  1506. }
  1507. T0* r558look_up_for(T558* C,T0* a1,T0* a2){
  1508. T0* R=NULL;
  1509. R=r605look_up_for(((T605*)(r558base_class(C))),a1,a2);
  1510. return R;
  1511. }
  1512. /*No:TYPE_BIT_2.expanded_initializer*/
  1513. /*No:TYPE_BIT_2.fz_dot*/
  1514. /*No:TYPE_BIT_2.is_generic*/
  1515. void r558used_as_reference(T558* C){
  1516. T0* _rc=NULL;
  1517. T0* _type_bit_ref=NULL;
  1518. /*IF*/if (r226fast_has(((T226*)(oBC609mem_ref_nb)),(((T558*)C))->_nb/*20*/)) {
  1519. }
  1520. else {
  1521. r226add_last(((T226*)(oBC609mem_ref_nb)),(((T558*)C))->_nb/*20*/);
  1522. {T963*n=malloc(sizeof(*n));
  1523. *n=M963;
  1524. r963make(n,(T0*)C);
  1525. _type_bit_ref=(T0*)n;
  1526. }
  1527. r41add_last(((T41*)(oBC609mem_type_bit_ref)),_type_bit_ref);
  1528. _rc=r963run_class(((T963*)_type_bit_ref));
  1529. r368set_at_run_time(((T368*)_rc));
  1530. }
  1531. /*FI*/}
  1532. /*No:TYPE_BIT_2.is_reference*/
  1533. T0* r558base_class(T558* C){
  1534. T0* R=NULL;
  1535. T0* _bcn=NULL;
  1536. _bcn=r558base_class_name();
  1537. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  1538. R=r451base_class(((T451*)_bcn));
  1539. }
  1540. else {
  1541. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  1542. r7append(((T7*)(oBC683explanation)),b1);
  1543. }/*]*/
  1544. r683add_type((T0*)C,((T0*)ms67_470));
  1545. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1546. }
  1547. /*FI*/return R;
  1548. }
  1549. /*No:TYPE_BIT_2.fatal_error*/
  1550. /*No:TYPE_BIT_2.is_any*/
  1551. T0* r558base_class_name(void){
  1552. if (fBC609base_class_name==0){
  1553. T0* R=NULL;
  1554. fBC609base_class_name=1;
  1555. {T451*n=malloc(sizeof(*n));
  1556. *n=M451;
  1557. r451make(n,((T0*)ms4_473),NULL);
  1558. R=(T0*)n;
  1559. }
  1560. oBC609base_class_name=R;}
  1561. return oBC609base_class_name;}
  1562. /*No:TYPE_BIT_2.is_expanded*/
  1563. /*No:TYPE_BIT_2.is_basic_eiffel_expanded*/
  1564. /*No:TYPE_BIT_2.is_none*/
  1565. /*No:TYPE_BIT_2.is_integer*/
  1566.  
  1567.