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

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9. void r324put_arguments(T324* C){
  10. int _switch=0;
  11. T0* _fal=NULL;
  12. T0* _args=NULL;
  13. T0* _target=NULL;
  14. T0* _static_rf=NULL;
  15. T0* _rf=NULL;
  16. int _code=0;
  17. _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
  18. {int z1=_code;
  19.  
  20. if((1011==z1)){
  21. }
  22.  else 
  23. if((1015==z1)){
  24. r324put_ith_argument(C,1);
  25. }
  26.  else 
  27. if((1007==z1)){
  28. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  29. X431compile_to_c(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,_fal);
  30. }
  31.  else 
  32. if((1008==z1)){
  33. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  34. X431compile_to_c(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,_fal);
  35. }
  36.  else 
  37. if((1009==z1)){
  38. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  39. _static_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_static_rf)),(((T324*)C))->_top/*32*/));
  40. r798put_arguments(_static_rf,_fal);
  41. }
  42.  else 
  43. if((1010==z1)){
  44. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  45. X431compile_to_c(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,_fal);
  46. }
  47.  else 
  48. if((1012==z1)){
  49. _rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/));
  50. _target=/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/));
  51. _args=/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
  52. _static_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_static_rf)),(((T324*)C))->_top/*32*/));
  53. C->_top=((((T324*)C))->_top/*32*/)-(1);
  54. X431dca_inline(_args,/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/));
  55. C->_top=((((T324*)C))->_top/*32*/)+(1);
  56. /*[IRF3.5put*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_code);
  57. /*]*/
  58. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
  59. T0* b1=_rf;
  60. int b2=(((T324*)C))->_top/*32*/;
  61. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  62. }/*]*/
  63. /*X32*//*[IRF3.6put*/{T32* C1=((T32*)(oBC861stack_target));
  64. T0* b1=_target;
  65. int b2=(((T324*)C))->_top/*32*/;
  66. ((((T32*)C1))->_storage/*4*/)[b2]=(b1);
  67. }/*]*/
  68. /*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_args);
  69. /*]*/
  70. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_static_rf));
  71. T0* b1=_static_rf;
  72. int b2=(((T324*)C))->_top/*32*/;
  73. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  74. }/*]*/
  75. }
  76.  else 
  77. if((1013==z1)){
  78. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  79. X431compile_to_c(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,_fal);
  80. }
  81.  else {}}
  82. }
  83. void r324expanded_writable(T324* C,T0* a1,T0* a2){
  84. r324stack_push(C,1011);
  85. /*X32*//*[IRF3.6put*/{T32* C1=((T32*)(oBC861stack_target));
  86. T0* b1=a2;
  87. int b2=(((T324*)C))->_top/*32*/;
  88. ((((T32*)C1))->_storage/*4*/)[b2]=(b1);
  89. }/*]*/
  90. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
  91. T0* b1=NULL;
  92. int b2=(((T324*)C))->_top/*32*/;
  93. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  94. }/*]*/
  95. C->_direct_call_count=((((T324*)C))->_direct_call_count/*40*/)+(1);
  96. r832mapping_c(((T832*)a1));
  97. r324pop(C);
  98. /*IF*/if (r324call_invariant_start((((T832*)((T832*)a1)))->_current_type/*4*/)) {
  99. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  100. char b1='\46';
  101. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  102. }/*]*/
  103. /*]*/
  104. X662compile_to_c(a2);
  105. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  106. char b1='\51';
  107. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  108. }/*]*/
  109. /*]*/
  110. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms134_470));
  111. /*]*/
  112. }
  113. /*FI*/}
  114. /*No:C_PRETTY_PRINTER.fz_void*/
  115. void r324path_o_in(T324* C,T0* a1,int a2){
  116. r7append(((T7*)a1),r324path_h(C));
  117. r7remove_last(((T7*)a1),(((T7*)((T7*)(((T0*)ms27_364)))))->_count/*4*/);
  118. r2append_in(a2,a1);
  119. r7append(((T7*)a1),r324o_suffix(C));
  120. }
  121. void r324current_class_invariant(T324* C,T0* a1){
  122. T0* _rc=NULL;
  123. _rc=r324need_invariant(a1);
  124. /*IF*/if ((_rc)!=((void*)(NULL))) {
  125. /*IF*/if (X291is_reference((((T355*)((T355*)_rc)))->_current_type/*0*/)) {
  126. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms167_324));
  127. /*]*/
  128. }
  129. /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  130. char b1='i';
  131. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  132. }/*]*/
  133. /*]*/
  134. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),(((T355*)((T355*)_rc)))->_id/*4*/);
  135. /*]*/
  136. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  137. char b1='\50';
  138. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  139. }/*]*/
  140. /*]*/
  141. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  142. char b1='C';
  143. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  144. }/*]*/
  145. /*]*/
  146. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  147. char b1='\51';
  148. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  149. }/*]*/
  150. /*]*/
  151. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms134_470));
  152. /*]*/
  153. }
  154. /*FI*/}
  155. /*No:C_PRETTY_PRINTER.stack_first_size*/
  156. int r324target_cannot_be_dropped(T324* C){
  157. int R=0;
  158. {int z1=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
  159.  
  160. if(((1007<=z1)&&(z1<=1008))){
  161. R=!(X662can_be_dropped(/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/))));
  162. }
  163.  else 
  164. if((1012==z1)){
  165. R=1;
  166. }
  167.  else 
  168. if((1013==z1)){
  169. C->_top=((((T324*)C))->_top/*32*/)-(1);
  170. R=r324target_cannot_be_dropped(C);
  171. C->_top=((((T324*)C))->_top/*32*/)+(1);
  172. }
  173. }
  174. /*IF*/if (R) {
  175. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms82_324));
  176. /*]*/
  177. r324put_target_as_target(C);
  178. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms147_470));
  179. /*]*/
  180. }
  181. /*FI*/return R;
  182. }
  183. /*No:C_PRETTY_PRINTER.C_direct_call*/
  184. /*No:C_PRETTY_PRINTER.function_count*/
  185. /*No:C_PRETTY_PRINTER.fz_cast_t0_star*/
  186. /*No:C_PRETTY_PRINTER.C_inline_one_pc*/
  187. void r324echo_rename_file(T0* a1,T0* a2){
  188. /*IF*/if (r324file_exists(a1)) {
  189. r306put_string(((T306*)(oBC364echo)),((T0*)ms41_364));
  190. r306put_string(((T306*)(oBC364echo)),a1);
  191. r306put_string(((T306*)(oBC364echo)),((T0*)ms42_364));
  192. r306put_string(((T306*)(oBC364echo)),a2);
  193. r306put_string(((T306*)(oBC364echo)),((T0*)ms152_470));
  194. /*[IRF3.6rename_file*/{T0* b1=a1;
  195. T0* b2=a2;
  196. /*[IRF3.6rename_to*/{T0* c1=b1;
  197. T0* c2=b2;
  198. rename(((char*)r7to_external(((T7*)c1))),((char*)r7to_external(((T7*)c2))));
  199. }/*]*/
  200. }/*]*/
  201. }
  202. /*FI*/}
  203. /*No:C_PRETTY_PRINTER.split_rc_count*/
  204. void r324put_cpc(T324* C,T0* a1){
  205. T0* _run_feature=NULL;
  206. T0* _target_type=NULL;
  207. T0* _target=NULL;
  208. _target=X135target(a1);
  209. _target_type=X291run_type(X662result_type(_target));
  210. _run_feature=X135run_feature(a1);
  211. /*IF*/if (X291is_expanded(_target_type)) {
  212. r324push_direct(C,_run_feature,_target,X135arguments(a1));
  213. X496mapping_c(_run_feature);
  214. r324pop(C);
  215. }
  216.  else if (X662is_current(_target)) {
  217. r324push_direct(C,_run_feature,_target,X135arguments(a1));
  218. X496mapping_c(_run_feature);
  219. r324pop(C);
  220. }
  221.  else if (X662is_manifest_string(_target)) {
  222. r324push_direct(C,_run_feature,_target,X135arguments(a1));
  223. X496mapping_c(_run_feature);
  224. r324pop(C);
  225. }
  226. else {
  227. r324push_cpc(C,_run_feature,(((T355*)((T355*)(X291run_class(_target_type)))))->_running/*12*/,_target,X135arguments(a1));
  228. }
  229. /*FI*/}
  230. void r324put_position(T324* C,T0* a1){
  231. /*IF*/if ((a1)==((void*)(NULL))) {
  232. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms81_324));
  233. /*]*/
  234. }
  235. else {
  236. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),/*(IRF4.6line*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)/(1000)/*)*/);
  237. /*]*/
  238. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  239. char b1='\54';
  240. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  241. }/*]*/
  242. /*]*/
  243. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),/*(IRF4.6column*/((((T627*)((T627*)a1)))->_mem_line_column/*4*/)%(1000)/*)*/);
  244. /*]*/
  245. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  246. char b1='\54';
  247. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  248. }/*]*/
  249. /*]*/
  250. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),(((T605*)((T605*)(r627base_class(((T627*)a1))))))->_id/*0*/);
  251. /*]*/
  252. }
  253. /*FI*/}
  254. void r324define_to_expanded(T324* C){
  255. T0* _dest_type=NULL;
  256. T0* _src_type=NULL;
  257. T0* _dest_rc=NULL;
  258. T0* _src_rc=NULL;
  259. int _i=0;
  260. _i=1;
  261. while (!((_i)>((((T396*)((T396*)((((T324*)C))->_to_expanded_mem/*64*/))))->_upper/*8*/))) {
  262. _src_rc=r396item(((T396*)((((T324*)C))->_to_expanded_mem/*64*/)),_i);
  263. _i=(_i)+(1);
  264. _dest_rc=r396item(((T396*)((((T324*)C))->_to_expanded_mem/*64*/)),_i);
  265. _i=(_i)+(1);
  266. _src_type=(((T355*)((T355*)_src_rc)))->_current_type/*0*/;
  267. _dest_type=(((T355*)((T355*)_dest_rc)))->_current_type/*0*/;
  268. r306put_string(((T306*)(oBC364echo)),((T0*)ms187_324));
  269. r306put_string(((T306*)(oBC364echo)),X291run_time_mark(_src_type));
  270. r306put_string(((T306*)(oBC364echo)),((T0*)ms93_324));
  271. r306put_string(((T306*)(oBC364echo)),X291run_time_mark(_dest_type));
  272. r306put_string(((T306*)(oBC364echo)),((T0*)ms186_324));
  273. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
  274. /*]*/
  275. X291c_type_for_result_in(_dest_type,oBC324tmp_string);
  276. r7extend(((T7*)(oBC324tmp_string)),'\40');
  277. r324conversion_name((((T355*)((T355*)_dest_rc)))->_id/*4*/);
  278. r7append(((T7*)(oBC324tmp_string)),((T0*)ms94_324));
  279. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),oBC324tmp_string);
  280. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms134_470));
  281. r544put_string(((T544*)(oBC324out_c)),oBC324tmp_string);
  282. r7copy(((T7*)(oBC324tmp_string)),((T0*)ms145_470));
  283. r7append(((T7*)(oBC324tmp_string)),((T0*)ms146_470));
  284. r544put_string(((T544*)(oBC324out_c)),oBC324tmp_string);
  285. }
  286. }
  287. void r324print_current(T324* C){
  288. int _level=0;
  289. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  290. char b1='C';
  291. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  292. }/*]*/
  293. /*]*/
  294. _level=(((T324*)C))->_inline_level/*76*/;
  295. /*IF*/if ((_level)>(0)) {
  296. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),_level);
  297. /*]*/
  298. }
  299. /*FI*/}
  300. /*No:C_PRETTY_PRINTER.fatal_error*/
  301. /*No:C_PRETTY_PRINTER.elt_c_count*/
  302. void r324put_c_heading(T324* C,T0* a1){
  303. r324incr_elt_c_count(C,15);
  304. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),a1);
  305. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms134_470));
  306. r544put_string(((T544*)(oBC324out_c)),a1);
  307. r544put_string(((T544*)(oBC324out_c)),((T0*)ms145_470));
  308. }
  309. void r324push_inline_dca(T324* C,T0* a1,T0* a2){
  310. r324stack_push(C,1012);
  311. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
  312. T0* b1=X135run_feature(a2);
  313. int b2=(((T324*)C))->_top/*32*/;
  314. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  315. }/*]*/
  316. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_static_rf));
  317. T0* b1=a1;
  318. int b2=(((T324*)C))->_top/*32*/;
  319. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  320. }/*]*/
  321. /*X32*//*[IRF3.6put*/{T32* C1=((T32*)(oBC861stack_target));
  322. T0* b1=X135target(a2);
  323. int b2=(((T324*)C))->_top/*32*/;
  324. ((((T32*)C1))->_storage/*4*/)[b2]=(b1);
  325. }/*]*/
  326. /*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(X135arguments(a2));
  327. /*]*/
  328. C->_direct_call_count=((((T324*)C))->_direct_call_count/*40*/)+(1);
  329. }
  330. void r324to_reference(T324* C,T0* a1,T0* a2){
  331. T0* _dest_rc=NULL;
  332. T0* _src_rc=NULL;
  333. _src_rc=X291run_class(a1);
  334. _dest_rc=X291run_class(a2);
  335. /*IF*/if (((((T324*)C))->_to_reference_mem/*60*/)==((void*)(NULL))) {
  336. C->_to_reference_mem=se_ma396(2,_src_rc,_dest_rc);
  337. }
  338.  else if (!(r396fast_has(((T396*)((((T324*)C))->_to_reference_mem/*60*/)),_src_rc))) {
  339. r396add_last(((T396*)((((T324*)C))->_to_reference_mem/*60*/)),_src_rc);
  340. r396add_last(((T396*)((((T324*)C))->_to_reference_mem/*60*/)),_dest_rc);
  341. }
  342. /*FI*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
  343. /*]*/
  344. r324conversion_name((((T355*)((T355*)_dest_rc)))->_id/*4*/);
  345. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),oBC324tmp_string);
  346. /*]*/
  347. }
  348. /*No:C_PRETTY_PRINTER.C_inside_twin*/
  349. void r324conversion_name(int a1){
  350. r7append(((T7*)(oBC324tmp_string)),((T0*)ms130_470));
  351. r2append_in(a1,oBC324tmp_string);
  352. }
  353. void r324print_local(T324* C,T0* a1){
  354. int _level=0;
  355. _level=((((T324*)C))->_inline_level/*76*/)+(1);
  356. while (!((_level)==(0))) {
  357. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  358. char b1='\137';
  359. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  360. }/*]*/
  361. /*]*/
  362. _level=(_level)-(1);
  363. }
  364. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),a1);
  365. /*]*/
  366. }
  367. void r324put_banner(T0* a1){
  368. r544put_string(((T544*)a1),((T0*)ms118_470));
  369. r544put_string(((T544*)a1),((T0*)ms173_324));
  370. r544put_string(((T544*)a1),((T0*)ms1_604));
  371. r544put_string(((T544*)a1),((T0*)ms81_470));
  372. /*[IRF3.6put_character*/{T544* C1=((T544*)a1);
  373. char b1='\n';
  374. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  375. }/*]*/
  376. }
  377. /*No:C_PRETTY_PRINTER.elt_c_count_max*/
  378. void r324put_comment_line(T324* C,T0* a1){
  379. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  380. char b1='\n';
  381. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  382. }/*]*/
  383. /*]*/
  384. r324put_comment(C,a1);
  385. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  386. char b1='\n';
  387. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  388. }/*]*/
  389. /*]*/
  390. }
  391. /*No:C_PRETTY_PRINTER.fz_arrow_id*/
  392. void r324stack_overflow(T324* C){
  393. T0* _rtma=NULL;
  394. T0* _rtm=NULL;
  395. T0* _rf=NULL;
  396. int _i=0;
  397. /*[IRF3.6append*/{T0* b1=((T0*)ms1_861);
  398. r7append(((T7*)(oBC683explanation)),b1);
  399. }/*]*/
  400. _i=((((T324*)C))->_top/*32*/)-(1);
  401. while (!((_i)<(0))) {
  402. _rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),_i));
  403. /*IF*/if ((_rf)!=((void*)(NULL))) {
  404. r683add_position(X496start_position(_rf));
  405. _rtm=X291run_time_mark(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  406. /*IF*/if ((_rtma)==((void*)(NULL))) {
  407. {T927*n=malloc(sizeof(*n));
  408. *n=M927;
  409. r927with_capacity(n,(((T324*)C))->_top/*32*/);
  410. _rtma=(T0*)n;
  411. }
  412. r927add_last(((T927*)_rtma),_rtm);
  413. /*[IRF3.6append*/{T0* b1=_rtm;
  414. r7append(((T7*)(oBC683explanation)),b1);
  415. }/*]*/
  416. }
  417.  else if (r927fast_has(((T927*)_rtma),_rtm)) {
  418. }
  419. else {
  420. r927add_last(((T927*)_rtma),_rtm);
  421. /*[IRF3.6append*/{T0* b1=((T0*)ms2_861);
  422. r7append(((T7*)(oBC683explanation)),b1);
  423. }/*]*/
  424. /*[IRF3.6append*/{T0* b1=_rtm;
  425. r7append(((T7*)(oBC683explanation)),b1);
  426. }/*]*/
  427. }
  428. /*FI*/}
  429. /*FI*/_i=(_i)-(1);
  430. }
  431. r683fatal_error(((T683*)(oBC364eh)),((T0*)ms3_861));
  432. }
  433. /*No:C_PRETTY_PRINTER.real_procedure_count*/
  434. /*No:C_PRETTY_PRINTER.dos_system*/
  435. T0*oBC364cecil_pool=NULL;
  436. /*No:C_PRETTY_PRINTER.fz_system_se*/
  437. T0*oBC324out_make=NULL;
  438. void r324call_c_compiler(T324* C){
  439. r7copy(((T7*)(oBC324tmp_string)),r324c_compiler(C));
  440. r7extend(((T7*)(oBC324tmp_string)),'\40');
  441. /*IF*/if (((((T324*)C))->_c_compiler_options/*116*/)!=((void*)(NULL))) {
  442. r7append(((T7*)(oBC324tmp_string)),(((T324*)C))->_c_compiler_options/*116*/);
  443. }
  444. /*FI*/}
  445. /*No:C_PRETTY_PRINTER.C_switch*/
  446. T0*oBC364run_control=NULL;
  447. void r324print_argument(T324* C,int a1){
  448. int _code=0;
  449. _code=(((unsigned char)'a'))+((((T324*)C))->_inline_level/*76*/);
  450. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  451. char b1=((char)(_code));
  452. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  453. }/*]*/
  454. /*]*/
  455. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),a1);
  456. /*]*/
  457. }
  458. void r324incr_procedure_count(T324* C){
  459. C->_procedure_count=((((T324*)C))->_procedure_count/*8*/)+(1);
  460. }
  461. /*No:C_PRETTY_PRINTER.set_check_assertion_mode*/
  462. void r324put_trace_switch(T324* C){
  463. /*IF*/if ((((T590*)((T590*)(oBC364run_control))))->_trace/*4*/) {
  464. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms86_324));
  465. /*]*/
  466. r324put_ith_argument(C,1);
  467. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms148_470));
  468. /*]*/
  469. }
  470. /*FI*/}
  471. void r324get_started(T324* C){
  472. T0* _body=NULL;
  473. int _no_check=0;
  474. r306file_removing(((T306*)(oBC364echo)),r324path_make(C));
  475. _no_check=r590no_check(((T590*)(oBC364run_control)));
  476. C->_top=-(1);
  477. r324backup_sfw_connect(C,oBC324out_c,r324path_c(C));
  478. C->_current_out=oBC324out_c;
  479. r324add_first_include(C);
  480. {T544*n=malloc(sizeof(*n));
  481. *n=M544;
  482. /*[IRF3.1make*//*]*/
  483. C->_out_h=(T0*)n;
  484. }
  485. r324sfw_connect(C,(((T324*)C))->_out_h/*52*/,r324path_h(C));
  486. C->_current_out=(((T324*)C))->_out_h/*52*/;
  487. r324put_banner((((T324*)C))->_out_h/*52*/);
  488. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms1_324));
  489. r324cdef_id(C,((T0*)ms15_473),2);
  490. r324cdef_id(C,((T0*)ms8_473),3);
  491. r324cdef_id(C,((T0*)ms23_473),4);
  492. r324cdef_id(C,((T0*)ms11_473),5);
  493. r324cdef_id(C,((T0*)ms6_473),6);
  494. r324cdef_id(C,((T0*)ms21_473),8);
  495. r324cdef_id(C,((T0*)ms14_470),10);
  496. r324cdef_id(C,((T0*)ms2_324),11);
  497. r324cdef_id(C,((T0*)ms3_324),12);
  498. r324cdef_id(C,((T0*)ms4_324),13);
  499. r324cdef_id(C,((T0*)ms5_324),14);
  500. r324cdef_id(C,((T0*)ms6_324),15);
  501. r324cdef_id(C,((T0*)ms7_324),16);
  502. r324cdef_id(C,((T0*)ms8_324),17);
  503. r324cdef_id(C,((T0*)ms9_324),18);
  504. r324cdef_id(C,((T0*)ms10_324),19);
  505. r324cdef_id(C,((T0*)ms3_473),20);
  506. /*IF*/if (_no_check) {
  507. r324put_extern3(C,((T0*)ms11_324),((T0*)ms12_324));
  508. r324put_extern3(C,((T0*)ms13_324),((T0*)ms14_324));
  509. r324put_extern3(C,((T0*)ms15_324),((T0*)ms16_324));
  510. r324put_extern3(C,((T0*)ms17_324),((T0*)ms18_324));
  511. r324put_extern3(C,((T0*)ms19_324),((T0*)ms20_324));
  512. r324put_extern3(C,((T0*)ms21_324),((T0*)ms22_324));
  513. r324put_extern3(C,((T0*)ms143_473),((T0*)ms143_473));
  514. r324put_extern3(C,((T0*)ms146_473),((T0*)ms146_473));
  515. r324put_extern1(C,((T0*)ms23_324));
  516. r324put_extern1(C,((T0*)ms24_324));
  517. r324put_extern1(C,((T0*)ms25_324));
  518. r324put_extern1(C,((T0*)ms26_324));
  519. r324put_c_function(C,((T0*)ms27_324),((T0*)ms28_324));
  520. r324put_c_function(C,((T0*)ms29_324),((T0*)ms30_324));
  521. r324put_c_function(C,((T0*)ms31_324),((T0*)ms32_324));
  522. _body=((T0*)ms33_324);
  523. /*IF*/if ((((T590*)((T590*)(oBC364run_control))))->_trace/*4*/) {
  524. r7append(((T7*)_body),((T0*)ms34_324));
  525. }
  526. /*FI*/r324put_c_function(C,((T0*)ms35_324),_body);
  527. r324put_c_function(C,((T0*)ms36_324),((T0*)ms37_324));
  528. r324put_c_function(C,((T0*)ms38_324),((T0*)ms39_324));
  529. r324put_c_function(C,((T0*)ms40_324),((T0*)ms41_324));
  530. r324put_c_function(C,((T0*)ms42_324),((T0*)ms43_324));
  531. r324put_c_function(C,((T0*)ms44_324),((T0*)ms45_324));
  532. r324put_c_function(C,((T0*)ms46_324),((T0*)ms47_324));
  533. r324put_c_function(C,((T0*)ms48_324),((T0*)ms49_324));
  534. r324put_c_function(C,((T0*)ms50_324),((T0*)ms51_324));
  535. r324put_c_function(C,((T0*)ms52_324),((T0*)ms53_324));
  536. r324put_c_function(C,((T0*)ms54_324),((T0*)ms55_324));
  537. r324put_extern2(C,((T0*)ms56_324),'0');
  538. r324put_extern2(C,((T0*)ms57_324),'0');
  539. r324put_extern1(C,((T0*)ms58_324));
  540. r324put_extern1(C,((T0*)ms59_324));
  541. }
  542. /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
  543. r324put_c_function(C,((T0*)ms60_324),((T0*)ms61_324));
  544. }
  545. /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
  546. r324put_c_function(C,((T0*)ms62_324),((T0*)ms63_324));
  547. }
  548. /*FI*//*IF*/if (r590invariant_check(((T590*)(oBC364run_control)))) {
  549. r324put_c_function(C,((T0*)ms64_324),((T0*)ms65_324));
  550. r324put_c_function(C,((T0*)ms66_324),((T0*)ms67_324));
  551. r324put_c_function(C,((T0*)ms68_324),((T0*)ms69_324));
  552. }
  553. /*FI*//*IF*/if (r590loop_check(((T590*)(oBC364run_control)))) {
  554. r324put_c_function(C,((T0*)ms70_324),((T0*)ms71_324));
  555. r324put_c_function(C,((T0*)ms72_324),((T0*)ms73_324));
  556. }
  557. /*FI*//*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
  558. r324put_c_function(C,((T0*)ms74_324),((T0*)ms75_324));
  559. }
  560. /*FI*/C->_current_out=oBC324out_c;
  561. }
  562. /*No:C_PRETTY_PRINTER.unix_system*/
  563. /*No:C_PRETTY_PRINTER.c_library_list*/
  564. T0*oBC324out_c=NULL;
  565. /*No:C_PRETTY_PRINTER.fz_to_t*/
  566. /*No:C_PRETTY_PRINTER.exit_failure_code*/
  567. /*No:C_PRETTY_PRINTER.current_out*/
  568. /*No:C_PRETTY_PRINTER.vms_system*/
  569. T576 oBC364switch_collection=0;
  570. void r324rs_link(T324* C,T0* a1){
  571. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms155_324));
  572. /*]*/
  573. X496put_tag(a1);
  574. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms148_470));
  575. /*]*/
  576. }
  577. void r324put_to_pointer(T324* C){
  578. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms87_324));
  579. /*]*/
  580. r324put_target_as_value(C);
  581. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  582. char b1='\51';
  583. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  584. }/*]*/
  585. /*]*/
  586. }
  587. /*No:C_PRETTY_PRINTER.oflag*/
  588. /*No:C_PRETTY_PRINTER.C_inside_new*/
  589. int fBC364small_eiffel_directory=0;
  590. T0*oBC364small_eiffel_directory=NULL;
  591. T0* r324small_eiffel_directory(T324* C){
  592. if (fBC364small_eiffel_directory==0){
  593. T0* R=NULL;
  594. char _slash=0;
  595. int _i=0;
  596. fBC364small_eiffel_directory=1;
  597. R=r324get_environment_variable(C,((T0*)ms121_470));
  598. /*IF*/if ((R)==((void*)(NULL))) {
  599. R=r7twin(((T7*)(((T0*)ms121_470))));
  600. r7to_upper(((T7*)R));
  601. R=r324get_environment_variable(C,R);
  602. /*IF*/if ((R)!=((void*)(NULL))) {
  603. r7to_upper(((T7*)(((T0*)ms121_470))));
  604. }
  605. /*FI*/}
  606. /*FI*//*IF*/if ((R)==((void*)(NULL))) {
  607. R=((T0*)ms1_364);
  608. }
  609. /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/;
  610. while (!((_i)<(0))) {
  611. _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  612. /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) {
  613. _i=(_i)-(1);
  614. }
  615. else {
  616. _i=-(1);
  617. }
  618. /*FI*/}
  619. /*IF*/if ((_i)==(0)) {
  620. r7extend(((T7*)R),'\57');
  621. }
  622.  else if (!((r7last(((T7*)R)))==(_slash))) {
  623. r7extend(((T7*)R),_slash);
  624. }
  625. /*FI*/oBC364small_eiffel_directory=R;}
  626. return oBC364small_eiffel_directory;}
  627. T0* r324to_bcn(T0* a1){
  628. T0* R=NULL;
  629. char _c=0;
  630. int _i=0;
  631. R=r7twin(((T7*)a1));
  632. /*IF*/if (r7has_suffix(((T7*)R),((T0*)ms25_364))) {
  633. r7remove_last(((T7*)R),2);
  634. }
  635. /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/;
  636. while (!((_i)==(0))) {
  637. _c=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  638. /*IF*/if (r3is_letter(_c)) {
  639. _i=(_i)-(1);
  640. }
  641.  else if ((_c)==('\137')) {
  642. _i=(_i)-(1);
  643. }
  644.  else if (r3is_digit(_c)) {
  645. _i=(_i)-(1);
  646. }
  647. else {
  648. r7remove_first(((T7*)R),_i);
  649. _i=0;
  650. }
  651. /*FI*/}
  652. r7to_upper(((T7*)R));
  653. return R;
  654. }
  655. /*No:C_PRETTY_PRINTER.split_count*/
  656. void r324rs_push_local(T324* C,T0* a1,T0* a2){
  657. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
  658. /*]*/
  659. r7extend(((T7*)(oBC324tmp_string)),'\137');
  660. r7append(((T7*)(oBC324tmp_string)),a1);
  661. r324rs_push(C,a1,oBC324tmp_string,a2);
  662. }
  663. void r324add_c_library(T324* C,T0* a1){
  664. /*IF*/if (((((T324*)C))->_c_library_list/*124*/)==((void*)(NULL))) {
  665. C->_c_library_list=se_ma52(1,a1);
  666. }
  667.  else if (r52has(((T52*)((((T324*)C))->_c_library_list/*124*/)),a1)) {
  668. }
  669. else {
  670. r52add_last(((T52*)((((T324*)C))->_c_library_list/*124*/)),a1);
  671. }
  672. /*FI*/}
  673. T0*oBC861stack_rf=NULL;
  674. /*No:C_PRETTY_PRINTER.disconnect_cecil_out_h*/
  675. /*No:C_PRETTY_PRINTER.to_reference_mem*/
  676. /*No:C_PRETTY_PRINTER.amiga_system*/
  677. /*No:C_PRETTY_PRINTER.inlined_function_count*/
  678. /*No:C_PRETTY_PRINTER.fz_t0_star*/
  679. /*No:C_PRETTY_PRINTER.make*/
  680. void r324push_cpc(T324* C,T0* a1,T0* a2,T0* a3,T0* a4){
  681. T0* _dyn_rf=NULL;
  682. /*IF*/if ((a2)==((void*)(NULL))) {
  683. r324push_void(C,a1,a3,a4);
  684. X496mapping_c(a1);
  685. r324pop(C);
  686. }
  687.  else if ((r396count(((T396*)a2)))==(1)) {
  688. _dyn_rf=r355dynamic(((T355*)(r396first(((T396*)a2)))),a1);
  689. r324push_check(C,_dyn_rf,a3,a4);
  690. X496mapping_c(_dyn_rf);
  691. r324pop(C);
  692. }
  693. else {
  694. r324use_switch(C,a1,a2,a3,a4);
  695. }
  696. /*FI*/}
  697. /*No:C_PRETTY_PRINTER.us_current*/
  698. /*No:C_PRETTY_PRINTER.set_no_split*/
  699. /*No:C_PRETTY_PRINTER.out_h*/
  700. /*No:C_PRETTY_PRINTER.us_pointer*/
  701. void r324inspect_incr(T324* C){
  702. C->_inspect_level=((((T324*)C))->_inspect_level/*72*/)+(1);
  703. }
  704. int r324call_invariant_start(T0* a1){
  705. int R=0;
  706. T0* _rc=NULL;
  707. _rc=r324need_invariant(a1);
  708. /*IF*/if ((_rc)!=((void*)(NULL))) {
  709. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  710. char b1='i';
  711. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  712. }/*]*/
  713. r544put_integer(((T544*)(oBC324out_c)),(((T355*)((T355*)_rc)))->_id/*4*/);
  714. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  715. char b1='\50';
  716. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  717. }/*]*/
  718. R=1;
  719. }
  720. /*FI*/return R;
  721. }
  722. /*No:C_PRETTY_PRINTER.rs_unlink*/
  723. void r324push_void(T324* C,T0* a1,T0* a2,T0* a3){
  724. r324error_void_or_bad_type(C,a2);
  725. r324push_direct(C,a1,a2,a3);
  726. C->_sure_void_count=((((T324*)C))->_sure_void_count/*44*/)+(1);
  727. }
  728. /*No:C_PRETTY_PRINTER.check_assertion_mode*/
  729. void r324common_put_target(T324* C){
  730. T0* _ct=NULL;
  731. T0* _e=NULL;
  732. int _flag=0;
  733. T0* _rf=NULL;
  734. {int z1=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
  735.  
  736. if((1015==z1)){
  737. _rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/));
  738. _ct=/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/);
  739. /*IF*/if (X291is_reference(_ct)) {
  740. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  741. char b1='\50';
  742. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  743. }/*]*/
  744. /*]*/
  745. X291mapping_cast(_ct);
  746. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  747. char b1='R';
  748. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  749. }/*]*/
  750. /*]*/
  751. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  752. char b1='\51';
  753. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  754. }/*]*/
  755. /*]*/
  756. }
  757. else {
  758. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  759. char b1='\46';
  760. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  761. }/*]*/
  762. /*]*/
  763. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  764. char b1='R';
  765. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  766. }/*]*/
  767. /*]*/
  768. }
  769. /*FI*/}
  770.  else 
  771. if((1010==z1)){
  772. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  773. char b1='n';
  774. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  775. }/*]*/
  776. /*]*/
  777. }
  778.  else 
  779. if((1009==z1)){
  780. _rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/));
  781. _flag=r324call_invariant_start(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  782. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  783. char b1='\50';
  784. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  785. }/*]*/
  786. /*]*/
  787. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  788. char b1='\50';
  789. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  790. }/*]*/
  791. /*]*/
  792. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  793. char b1='T';
  794. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  795. }/*]*/
  796. /*]*/
  797. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),X496id(_rf));
  798. /*]*/
  799. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  800. char b1='\52';
  801. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  802. }/*]*/
  803. /*]*/
  804. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  805. char b1='\51';
  806. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  807. }/*]*/
  808. /*]*/
  809. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  810. char b1='C';
  811. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  812. }/*]*/
  813. /*]*/
  814. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  815. char b1='\51';
  816. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  817. }/*]*/
  818. /*]*/
  819. /*IF*/if (_flag) {
  820. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  821. char b1='\51';
  822. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  823. }/*]*/
  824. /*]*/
  825. }
  826. /*FI*/}
  827.  else 
  828. if((1011==z1)){
  829. _e=/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/));
  830. /*IF*/if ((_e)!=((void*)(NULL))) {
  831. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  832. char b1='\46';
  833. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  834. }/*]*/
  835. /*]*/
  836. X662compile_to_c(_e);
  837. }
  838. else {
  839. r544put_string(((T544*)(oBC324out_c)),((T0*)ms185_324));
  840. r544put_string(((T544*)(oBC324out_c)),X776to_string(/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_name/*16*/)));
  841. }
  842. /*FI*/}
  843.  else {r324print_current(C);
  844. }}
  845. }
  846. void r324put_c_inline_c(T324* C){
  847. T0* _c_code=NULL;
  848. _c_code=r324get_inline_ms(C);
  849. r544put_string(((T544*)(oBC324out_c)),(((T805*)((T805*)_c_code)))->_to_string/*16*/);
  850. }
  851. void r324incr_real_function_count(T324* C){
  852. C->_real_function_count=((((T324*)C))->_real_function_count/*20*/)+(1);
  853. }
  854. void r324print_strip(T324* C){
  855. /*IF*/if (((((T0*)ms16_364))==((void*)(r324system_name(C))))||((((T0*)ms17_364))==((void*)(r324system_name(C))))) {
  856. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
  857. /*]*/
  858. /*IF*/if ((((T0*)ms16_364))==((void*)(r324system_name(C)))) {
  859. r7append(((T7*)(oBC324tmp_string)),((T0*)ms179_324));
  860. }
  861. else {
  862. r7append(((T7*)(oBC324tmp_string)),((T0*)ms180_324));
  863. }
  864. /*FI*//*IF*/if (((((T324*)C))->_output_name/*96*/)==((void*)(NULL))) {
  865. r7append(((T7*)(oBC324tmp_string)),((T0*)ms181_324));
  866. }
  867. else {
  868. r7append(((T7*)(oBC324tmp_string)),(((T324*)C))->_output_name/*96*/);
  869. }
  870. /*FI*//*[IRF3.2echo_make*/r544put_string(((T544*)(oBC324out_make)),oBC324tmp_string);
  871. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_make));
  872. char b1='\n';
  873. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  874. }/*]*/
  875. /*]*/
  876. }
  877. /*FI*/}
  878. /*No:C_PRETTY_PRINTER.generator_used*/
  879. T670 oBC1file_tools=0;
  880. /*No:C_PRETTY_PRINTER.set_output_name*/
  881. /*No:C_PRETTY_PRINTER.fz_close_c_comment*/
  882. void r324put_ith_argument(T324* C,int a1){
  883. int _switch=0;
  884. T0* _fal=NULL;
  885. T0* _args=NULL;
  886. T0* _target=NULL;
  887. T0* _static_rf=NULL;
  888. T0* _rf=NULL;
  889. int _code=0;
  890. _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
  891. {int z1=_code;
  892.  
  893. if((1007==z1)){
  894. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  895. X431compile_to_c_ith(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,_fal,a1);
  896. }
  897.  else 
  898. if((1008==z1)){
  899. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  900. X431compile_to_c_ith(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,_fal,a1);
  901. }
  902.  else 
  903. if((1009==z1)){
  904. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  905. _static_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_static_rf)),(((T324*)C))->_top/*32*/));
  906. r798put_ith_argument(_static_rf,_fal,a1);
  907. }
  908.  else 
  909. if((1010==z1)){
  910. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  911. X431compile_to_c_ith(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,_fal,a1);
  912. }
  913.  else 
  914. if((1012==z1)){
  915. _rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/));
  916. _target=/*X32*/((T0*)r32item(((T32*)(oBC861stack_target)),(((T324*)C))->_top/*32*/));
  917. _args=/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
  918. _static_rf=/*X321*/((T0*)r321item(((T321*)(oBC861stack_static_rf)),(((T324*)C))->_top/*32*/));
  919. C->_top=((((T324*)C))->_top/*32*/)-(1);
  920. /*IF*/if ((_rf)!=((void*)(NULL))) {
  921. X431dca_inline_ith(_args,/*X496*/((T0*)(((T832*)((T832*)_rf)))->_arguments/*20*/),a1);
  922. }
  923. else {
  924. X431dca_inline_ith(_args,/*X496*/((T0*)(((T832*)((T832*)_static_rf)))->_arguments/*20*/),a1);
  925. }
  926. /*FI*/C->_top=((((T324*)C))->_top/*32*/)+(1);
  927. /*[IRF3.5put*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_code);
  928. /*]*/
  929. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
  930. T0* b1=_rf;
  931. int b2=(((T324*)C))->_top/*32*/;
  932. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  933. }/*]*/
  934. /*X32*//*[IRF3.6put*/{T32* C1=((T32*)(oBC861stack_target));
  935. T0* b1=_target;
  936. int b2=(((T324*)C))->_top/*32*/;
  937. ((((T32*)C1))->_storage/*4*/)[b2]=(b1);
  938. }/*]*/
  939. /*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(_args);
  940. /*]*/
  941. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_static_rf));
  942. T0* b1=_static_rf;
  943. int b2=(((T324*)C))->_top/*32*/;
  944. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  945. }/*]*/
  946. }
  947.  else 
  948. if((1013==z1)){
  949. _fal=/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_arguments/*20*/);
  950. X431compile_to_c_ith(/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/,_fal,a1);
  951. }
  952.  else 
  953. if((1014==z1)){
  954. r324print_argument(C,a1);
  955. }
  956.  else {/*IF*/if (X291is_reference(/*X496*/((T0*)(((T832*)((T832*)(/*X321*/((T0*)r321item(((T321*)(oBC861stack_rf)),(((T324*)C))->_top/*32*/))))))->_current_type/*4*/))) {
  957. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms84_324));
  958. /*]*/
  959. }
  960. else {
  961. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms85_324));
  962. /*]*/
  963. }
  964. /*FI*/}}
  965. }
  966. T0*oBC324tmp_string2=NULL;
  967. T0*oBC364echo=NULL;
  968. T0*oBC364eiffel_parser=NULL;
  969. T0*oBC861stack_code=NULL;
  970. T0*oBC861stack_static_rf=NULL;
  971. void r324rs_push_argument(T324* C,T0* a1,int a2,T0* a3){
  972. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
  973. /*]*/
  974. r7extend(((T7*)(oBC324tmp_string)),'a');
  975. r2append_in(a2,oBC324tmp_string);
  976. r324rs_push(C,a1,oBC324tmp_string,a3);
  977. }
  978. void r324add_c_compiler_option(T324* C,T0* a1){
  979. /*IF*/if (((((T324*)C))->_c_compiler_options/*116*/)==((void*)(NULL))) {
  980. {T7*n=malloc(sizeof(*n));
  981. *n=M7;
  982. r7make(n,10);
  983. C->_c_compiler_options=(T0*)n;
  984. }
  985. }
  986. /*FI*/r7append(((T7*)((((T324*)C))->_c_compiler_options/*116*/)),a1);
  987. r7extend(((T7*)((((T324*)C))->_c_compiler_options/*116*/)),'\40');
  988. }
  989. void r324put_error1(T324* C,T0* a1,T0* a2){
  990. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms96_324));
  991. /*]*/
  992. r324put_string_c(a1);
  993. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  994. char b1='\54';
  995. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  996. }/*]*/
  997. /*]*/
  998. r324put_position(C,a2);
  999. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms148_470));
  1000. /*]*/
  1001. }
  1002. T0*oBC324c_inline_h_mem=NULL;
  1003. void r324split_c_start_run_class(T324* C){
  1004. /*IF*/if ((((T324*)C))->_no_split/*112*/) {
  1005. }
  1006.  else if (((((T324*)C))->_split_rc_count/*100*/)>=(9)) {
  1007. /*[IRF3.4split_c_now*/r324incr_elt_c_count(C,(1960)+(1));
  1008. /*]*/
  1009. C->_split_rc_count=0;
  1010. }
  1011. else {
  1012. C->_split_rc_count=((((T324*)C))->_split_rc_count/*100*/)+(1);
  1013. }
  1014. /*FI*/}
  1015. T0*oBC324tmp_string3=NULL;
  1016. /*No:C_PRETTY_PRINTER.switch_count*/
  1017. /*No:C_PRETTY_PRINTER.rs_push_current*/
  1018. /*No:C_PRETTY_PRINTER.us_character*/
  1019. void r324stack_push(T324* C,int a1){
  1020. int _new_size=0;
  1021. C->_top=((((T324*)C))->_top/*32*/)+(1);
  1022. /*IF*/if (((((T324*)C))->_top/*32*/)>((((T226*)((T226*)(oBC861stack_code))))->_upper/*8*/)) {
  1023. _new_size=((((T226*)((T226*)(oBC861stack_code))))->_upper/*8*/)*(2);
  1024. r226resize(((T226*)(oBC861stack_code)),_new_size);
  1025. X321resize(oBC861stack_rf,_new_size);
  1026. X32resize(oBC861stack_target,_new_size);
  1027. r374resize(((T374*)(oBC861stack_args)),_new_size);
  1028. X321resize(oBC861stack_static_rf,_new_size);
  1029. r569resize(((T569*)(oBC861stack_cpc)),_new_size);
  1030. /*IF*/if ((_new_size)>(2048)) {
  1031. r324stack_overflow(C);
  1032. }
  1033. /*FI*/}
  1034. /*FI*//*[IRF3.5put*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(a1);
  1035. /*]*/
  1036. }
  1037. T0* r324need_invariant(T0* a1){
  1038. T0* R=NULL;
  1039. /*IF*/if (r590invariant_check(((T590*)(oBC364run_control)))) {
  1040. R=X291run_class(X291run_type(a1));
  1041. /*IF*/if (((((T355*)((T355*)R)))->_at_run_time/*8*/)&&(((((T355*)((T355*)R)))->_invariant_assertion/*16*/)!=((void*)(NULL)))) {
  1042. }
  1043. else {
  1044. R=NULL;
  1045. }
  1046. /*FI*/}
  1047. /*FI*/return R;
  1048. }
  1049. void r324incr_inlined_procedure_count(T324* C){
  1050. C->_inlined_procedure_count=((((T324*)C))->_inlined_procedure_count/*0*/)+(1);
  1051. }
  1052. int fBC324c_linker=0;
  1053. T0*oBC324c_linker=NULL;
  1054. T0* r324c_linker(T324* C){
  1055. if (fBC324c_linker==0){
  1056. T0* R=NULL;
  1057. fBC324c_linker=1;
  1058. {T7*n=malloc(sizeof(*n));
  1059. *n=M7;
  1060. r7make(n,12);
  1061. R=(T0*)n;
  1062. }
  1063. r7copy(((T7*)(oBC324tmp_string)),r324small_eiffel_directory(C));
  1064. r324add_directory(C,oBC324tmp_string,((T0*)ms126_470));
  1065. r7append(((T7*)(oBC324tmp_string)),((T0*)ms175_324));
  1066. r7append(((T7*)(oBC324tmp_string)),r324system_name(C));
  1067. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC324tmp_string);
  1068. r675read_line_in(((T675*)(oBC364tmp_file_read)),R);
  1069. r675disconnect(((T675*)(oBC364tmp_file_read)));
  1070. oBC324c_linker=R;}
  1071. return oBC324c_linker;}
  1072. void r324add_first_include(T324* C){
  1073. r324put_banner(oBC324out_c);
  1074. r544put_string(((T544*)(oBC324out_c)),((T0*)ms172_324));
  1075. r544put_string(((T544*)(oBC324out_c)),r324path_h(C));
  1076. r544put_string(((T544*)(oBC324out_c)),((T0*)ms152_470));
  1077. }
  1078. T0*oBC364tmp_path=NULL;
  1079. /*No:C_PRETTY_PRINTER.fz_b0*/
  1080. void r324rs_push(T324* C,T0* a1,T0* a2,T0* a3){
  1081. T0* _str=NULL;
  1082. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms163_324));
  1083. /*]*/
  1084. /*IF*/if (X291is_reference(a3)) {
  1085. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms164_324));
  1086. /*]*/
  1087. }
  1088. else {
  1089. /*IF*/if (X291is_basic_eiffel_expanded(a3)) {
  1090. _str=X291written_mark(a3);
  1091. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1092. char b1=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(1)-(1)]/*)*/;
  1093. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1094. }/*]*/
  1095. /*]*/
  1096. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1097. char b1=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(2)-(1)]/*)*/;
  1098. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1099. }/*]*/
  1100. /*]*/
  1101. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1102. char b1=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(3)-(1)]/*)*/;
  1103. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1104. }/*]*/
  1105. /*]*/
  1106. }
  1107.  else if (X291is_bit(a3)) {
  1108. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms165_324));
  1109. /*]*/
  1110. }
  1111. else {
  1112. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms166_324));
  1113. /*]*/
  1114. }
  1115. /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1116. char b1='\50';
  1117. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1118. }/*]*/
  1119. /*]*/
  1120. }
  1121. /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1122. char b1='\46';
  1123. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1124. }/*]*/
  1125. /*]*/
  1126. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),a2);
  1127. /*]*/
  1128. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1129. char b1='\54';
  1130. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1131. }/*]*/
  1132. /*]*/
  1133. /*IF*/if ((a1)==((void*)(((T0*)ms143_473)))) {
  1134. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms143_473));
  1135. /*]*/
  1136. }
  1137.  else if ((a1)==((void*)(((T0*)ms146_473)))) {
  1138. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms146_473));
  1139. /*]*/
  1140. }
  1141. else {
  1142. r324put_string_c(a1);
  1143. }
  1144. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms148_470));
  1145. /*]*/
  1146. }
  1147. int r324no_args_to_eval(T324* C){
  1148. int R=0;
  1149. T0* _args=NULL;
  1150. int _code=0;
  1151. _code=/*(IRF4.6item*/((((T226*)((T226*)(oBC861stack_code))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
  1152. {int z1=_code;
  1153.  
  1154. if(((1007<=z1)&&(z1<=1008))||(1010==z1)||(1013==z1)){
  1155. _args=/*(IRF4.6item*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]/*)*/;
  1156. /*IF*/if ((_args)==((void*)(NULL))) {
  1157. R=1;
  1158. }
  1159. else {
  1160. R=X431can_be_dropped(_args);
  1161. }
  1162. /*FI*/}
  1163.  else 
  1164. if((1012==z1)){
  1165. C->_top=((((T324*)C))->_top/*32*/)-(1);
  1166. R=r324no_args_to_eval(C);
  1167. C->_top=((((T324*)C))->_top/*32*/)+(1);
  1168. }
  1169.  else{R=1;
  1170. }}
  1171. return R;
  1172. }
  1173. void r324incr_pre_computed_once_count(T324* C,T0* a1){
  1174. /*IF*/if (((((T324*)C))->_pre_computed_once/*28*/)==((void*)(NULL))) {
  1175. C->_pre_computed_once=se_ma365(1,a1);
  1176. }
  1177. else {
  1178. r365add_last(((T365*)((((T324*)C))->_pre_computed_once/*28*/)),a1);
  1179. }
  1180. /*FI*/}
  1181. /*No:C_PRETTY_PRINTER.set_no_strip*/
  1182. void r324incr_static_expression_count(T324* C){
  1183. C->_static_expression_count=((((T324*)C))->_static_expression_count/*24*/)+(1);
  1184. }
  1185. /*No:C_PRETTY_PRINTER.fz_se*/
  1186. /*No:C_PRETTY_PRINTER.c_object_list*/
  1187. void r324push_check(T324* C,T0* a1,T0* a2,T0* a3){
  1188. r324stack_push(C,1008);
  1189. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
  1190. T0* b1=a1;
  1191. int b2=(((T324*)C))->_top/*32*/;
  1192. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  1193. }/*]*/
  1194. /*X32*//*[IRF3.6put*/{T32* C1=((T32*)(oBC861stack_target));
  1195. T0* b1=a2;
  1196. int b2=(((T324*)C))->_top/*32*/;
  1197. ((((T32*)C1))->_storage/*4*/)[b2]=(b1);
  1198. }/*]*/
  1199. /*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(a3);
  1200. /*]*/
  1201. }
  1202. void r324write_make_file_no_split(T324* C){
  1203. r324call_c_compiler(C);
  1204. r324add_oflag(C);
  1205. r7append(((T7*)(oBC324tmp_string)),r324path_c(C));
  1206. r324tmp_string_object_library(C);
  1207. /*[IRF3.2echo_make*/r544put_string(((T544*)(oBC324out_make)),oBC324tmp_string);
  1208. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_make));
  1209. char b1='\n';
  1210. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1211. }/*]*/
  1212. /*]*/
  1213. }
  1214. int r324cannot_drop_all(T324* C){
  1215. int R=0;
  1216. /*IF*/if (r324target_cannot_be_dropped(C)) {
  1217. R=1;
  1218. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1219. char b1='\54';
  1220. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1221. }/*]*/
  1222. /*]*/
  1223. /*IF*/if (r324arguments_cannot_be_dropped(C)) {
  1224. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1225. char b1='\51';
  1226. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1227. }/*]*/
  1228. /*]*/
  1229. }
  1230. else {
  1231. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1232. char b1='0';
  1233. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1234. }/*]*/
  1235. /*]*/
  1236. }
  1237. /*FI*/}
  1238. else {
  1239. R=r324arguments_cannot_be_dropped(C);
  1240. }
  1241. /*FI*/return R;
  1242. }
  1243. int r324stupid_switch(T0* a1){
  1244. int R=0;
  1245. T0* _rc=NULL;
  1246. T0* _f2=NULL;
  1247. T0* _f1=NULL;
  1248. int _i=0;
  1249. T0* _r=NULL;
  1250. _r=(((T355*)((T355*)(X496run_class(a1)))))->_running/*12*/;
  1251. R=1;
  1252. _i=(((T396*)((T396*)_r)))->_upper/*8*/;
  1253. _f1=X496base_feature(a1);
  1254. while (!((!(R))||((_i)==(0)))) {
  1255. _rc=r396item(((T396*)_r),_i);
  1256. _f2=X496base_feature(r355dynamic(((T355*)_rc),a1));
  1257. R=(_f1)==((void*)(_f2));
  1258. _i=(_i)-(1);
  1259. }
  1260. /*IF*/if (R) {
  1261. R=X359stupid_switch(_f1,a1,_r);
  1262. }
  1263. /*FI*/return R;
  1264. }
  1265. /*No:C_PRETTY_PRINTER.us_bit*/
  1266. void r324sfw_connect(T324* C,T0* a1,T0* a2){
  1267. r544connect_to(((T544*)a1),a2);
  1268. /*IF*/if (/*(IRF4.7is_connected*/((((T544*)((T544*)a1)))->_path/*0*/)!=(NULL)/*)*/) {
  1269. r306put_string(((T306*)(oBC364echo)),((T0*)ms6_364));
  1270. r306put_string(((T306*)(oBC364echo)),a2);
  1271. r306put_string(((T306*)(oBC364echo)),((T0*)ms7_364));
  1272. }
  1273. else {
  1274. r306w_put_string(((T0*)ms8_364));
  1275. r306w_put_string(a2);
  1276. r306w_put_string(((T0*)ms242_470));
  1277. exit(1);
  1278. }
  1279. /*FI*/}
  1280. T0*oBC364manifest_string_pool=NULL;
  1281. /*No:C_PRETTY_PRINTER.fz_extern*/
  1282. /*No:C_PRETTY_PRINTER.put_integer*/
  1283. void r324put_generating_type(T324* C,T0* a1){
  1284. T0* _rc=NULL;
  1285. C->_generator_used=1;
  1286. C->_generating_type_used=1;
  1287. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms85_470));
  1288. /*]*/
  1289. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1290. char b1='\50';
  1291. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1292. }/*]*/
  1293. /*]*/
  1294. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1295. char b1='t';
  1296. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1297. }/*]*/
  1298. /*]*/
  1299. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1300. char b1='\133';
  1301. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1302. }/*]*/
  1303. /*]*/
  1304. /*IF*/if (X291is_reference(a1)) {
  1305. _rc=X291run_class(a1);
  1306. /*IF*/if (r355is_tagged(((T355*)_rc))) {
  1307. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1308. char b1='\50';
  1309. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1310. }/*]*/
  1311. /*]*/
  1312. r324put_target_as_value(C);
  1313. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1314. char b1='\51';
  1315. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1316. }/*]*/
  1317. /*]*/
  1318. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms53_470));
  1319. /*]*/
  1320. }
  1321. else {
  1322. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),(((T355*)((T355*)_rc)))->_id/*4*/);
  1323. /*]*/
  1324. }
  1325. /*FI*/}
  1326. else {
  1327. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),X291id(a1));
  1328. /*]*/
  1329. }
  1330. /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1331. char b1='\135';
  1332. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1333. }/*]*/
  1334. /*]*/
  1335. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1336. char b1='\51';
  1337. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1338. }/*]*/
  1339. /*]*/
  1340. }
  1341. int r324file_exists(T0* a1){
  1342. int R=0;
  1343. R=r670is_readable(a1);
  1344. return R;
  1345. }
  1346. T0*oBC861stack_target=NULL;
  1347. /*No:C_PRETTY_PRINTER.us_boolean*/
  1348. void r324once_pre_computing(T324* C){
  1349. T0* _of=NULL;
  1350. T0* _rf6=NULL;
  1351. T0* _of_array=NULL;
  1352. int _i=0;
  1353. /*IF*/if (((((T324*)C))->_pre_computed_once/*28*/)!=((void*)(NULL))) {
  1354. r306put_string(((T306*)(oBC364echo)),((T0*)ms138_470));
  1355. r306put_string(((T306*)(oBC364echo)),((T0*)ms139_470));
  1356. _i=(((T365*)((T365*)((((T324*)C))->_pre_computed_once/*28*/))))->_upper/*12*/;
  1357. {T495*n=malloc(sizeof(*n));
  1358. *n=M495;
  1359. r495with_capacity(n,(1)+((_i)/(2)),1);
  1360. _of_array=(T0*)n;
  1361. }
  1362. while (!((_i)==(0))) {
  1363. _rf6=r365item(((T365*)((((T324*)C))->_pre_computed_once/*28*/)),_i);
  1364. _of=(((T868*)((T868*)_rf6)))->_base_feature/*44*/;
  1365. /*IF*/if (!(r495fast_has(((T495*)_of_array),_of))) {
  1366. r495add_last(((T495*)_of_array),_of);
  1367. r868c_pre_computing(((T868*)_rf6));
  1368. }
  1369. /*FI*/_i=(_i)-(1);
  1370. }
  1371. r306print_count(((T306*)(oBC364echo)),((T0*)ms138_470),r495count(((T495*)_of_array)));
  1372. }
  1373. /*FI*/}
  1374. /*No:C_PRETTY_PRINTER.fz_int*/
  1375. void r324inline_level_incr(T324* C){
  1376. C->_inline_level=((((T324*)C))->_inline_level/*76*/)+(1);
  1377. }
  1378. /*No:C_PRETTY_PRINTER.fz_b6*/
  1379. void r324push_direct(T324* C,T0* a1,T0* a2,T0* a3){
  1380. r324stack_push(C,1007);
  1381. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
  1382. T0* b1=a1;
  1383. int b2=(((T324*)C))->_top/*32*/;
  1384. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  1385. }/*]*/
  1386. /*X32*//*[IRF3.6put*/{T32* C1=((T32*)(oBC861stack_target));
  1387. T0* b1=a2;
  1388. int b2=(((T324*)C))->_top/*32*/;
  1389. ((((T32*)C1))->_storage/*4*/)[b2]=(b1);
  1390. }/*]*/
  1391. /*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(a3);
  1392. /*]*/
  1393. C->_direct_call_count=((((T324*)C))->_direct_call_count/*40*/)+(1);
  1394. }
  1395. /*No:C_PRETTY_PRINTER.procedure_count*/
  1396. void r324put_generator(T324* C,T0* a1){
  1397. T0* _rc=NULL;
  1398. C->_generator_used=1;
  1399. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms85_470));
  1400. /*]*/
  1401. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1402. char b1='\50';
  1403. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1404. }/*]*/
  1405. /*]*/
  1406. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1407. char b1='g';
  1408. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1409. }/*]*/
  1410. /*]*/
  1411. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1412. char b1='\133';
  1413. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1414. }/*]*/
  1415. /*]*/
  1416. /*IF*/if (X291is_reference(a1)) {
  1417. _rc=X291run_class(a1);
  1418. /*IF*/if (r355is_tagged(((T355*)_rc))) {
  1419. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1420. char b1='\50';
  1421. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1422. }/*]*/
  1423. /*]*/
  1424. r324put_target_as_value(C);
  1425. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1426. char b1='\51';
  1427. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1428. }/*]*/
  1429. /*]*/
  1430. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms53_470));
  1431. /*]*/
  1432. }
  1433. else {
  1434. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),(((T355*)((T355*)_rc)))->_id/*4*/);
  1435. /*]*/
  1436. }
  1437. /*FI*/}
  1438. else {
  1439. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)C))->_current_out/*56*/)),X291id(a1));
  1440. /*]*/
  1441. }
  1442. /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1443. char b1='\135';
  1444. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1445. }/*]*/
  1446. /*]*/
  1447. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1448. char b1='\51';
  1449. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1450. }/*]*/
  1451. /*]*/
  1452. }
  1453. void r324rs_push_position(T324* C,char a1,T0* a2){
  1454. /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
  1455. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms159_324));
  1456. /*]*/
  1457. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1458. char b1=a1;
  1459. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1460. }/*]*/
  1461. /*]*/
  1462. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1463. char b1='\54';
  1464. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1465. }/*]*/
  1466. /*]*/
  1467. r324put_position(C,a2);
  1468. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1469. char b1='\51';
  1470. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1471. }/*]*/
  1472. /*]*/
  1473. /*IF*/if ((a1)!=('2')) {
  1474. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms134_470));
  1475. /*]*/
  1476. }
  1477. /*FI*/}
  1478. /*FI*/}
  1479. void r324put_object_size(T324* C,T0* a1){
  1480. int _tcbd=0;
  1481. _tcbd=r324target_cannot_be_dropped(C);
  1482. /*IF*/if (_tcbd) {
  1483. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1484. char b1='\54';
  1485. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1486. }/*]*/
  1487. }
  1488. /*FI*/r544put_string(((T544*)(oBC324out_c)),((T0*)ms88_324));
  1489. r544put_integer(((T544*)(oBC324out_c)),X291id(a1));
  1490. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1491. char b1='\51';
  1492. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1493. }/*]*/
  1494. /*IF*/if (_tcbd) {
  1495. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1496. char b1='\51';
  1497. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1498. }/*]*/
  1499. }
  1500. /*FI*/}
  1501. void r324put_c_inline_h(T324* C){
  1502. T0* _c_code=NULL;
  1503. _c_code=r324get_inline_ms(C);
  1504. /*IF*/if (r256has(((T256*)(oBC324c_inline_h_mem)),_c_code)) {
  1505. }
  1506. else {
  1507. r256add_last(((T256*)(oBC324c_inline_h_mem)),_c_code);
  1508. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),(((T805*)((T805*)_c_code)))->_to_string/*16*/);
  1509. /*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_out_h/*52*/));
  1510. char b1='\n';
  1511. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1512. }/*]*/
  1513. }
  1514. /*FI*/}
  1515. /*No:C_PRETTY_PRINTER.eiffel_suffix*/
  1516. void r324add_oflag(T324* C){
  1517. /*IF*/if (((((T324*)C))->_output_name/*96*/)!=((void*)(NULL))) {
  1518. /*IF*/if (((((T324*)C))->_oflag/*104*/)==((void*)(NULL))) {
  1519. r7append(((T7*)(oBC324tmp_string)),((T0*)ms178_324));
  1520. }
  1521. else {
  1522. r7append(((T7*)(oBC324tmp_string)),(((T324*)C))->_oflag/*104*/);
  1523. }
  1524. /*FI*/r7append(((T7*)(oBC324tmp_string)),(((T324*)C))->_output_name/*96*/);
  1525. r7extend(((T7*)(oBC324tmp_string)),'\40');
  1526. }
  1527. /*FI*/}
  1528. /*No:C_PRETTY_PRINTER.real_function_count*/
  1529. void r324check_assertion(T324* C,T0* a1){
  1530. int _static=0;
  1531. _static=X662is_static(a1);
  1532. /*IF*/if ((!(_static))||((X662static_value(a1))==(0))) {
  1533. r324rs_push_position(C,'4',X662start_position(a1));
  1534. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms150_324));
  1535. /*]*/
  1536. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),(((T324*)C))->_check_assertion_mode/*68*/);
  1537. /*]*/
  1538. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1539. char b1='\50';
  1540. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1541. }/*]*/
  1542. /*]*/
  1543. /*IF*/if (_static) {
  1544. C->_static_expression_count=((((T324*)C))->_static_expression_count/*24*/)+(1);
  1545. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)C))->_current_out/*56*/));
  1546. char b1='0';
  1547. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1548. }/*]*/
  1549. /*]*/
  1550. }
  1551. else {
  1552. X662compile_to_c(a1);
  1553. }
  1554. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms148_470));
  1555. /*]*/
  1556. }
  1557. /*FI*/}
  1558. /*No:C_PRETTY_PRINTER.direct_call_count*/
  1559. void r324put_extern1(T324* C,T0* a1){
  1560. r324incr_elt_c_count(C,1);
  1561. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms103_470));
  1562. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),a1);
  1563. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms134_470));
  1564. r544put_string(((T544*)(oBC324out_c)),a1);
  1565. r544put_string(((T544*)(oBC324out_c)),((T0*)ms134_470));
  1566. }
  1567. /*No:C_PRETTY_PRINTER.c_suffix*/
  1568. /*No:C_PRETTY_PRINTER.inline_level*/
  1569. void r324push_switch(T324* C,T0* a1,T0* a2){
  1570. r324stack_push(C,1009);
  1571. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_rf));
  1572. T0* b1=a1;
  1573. int b2=(((T324*)C))->_top/*32*/;
  1574. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  1575. }/*]*/
  1576. /*X321*//*[IRF3.6put*/{T321* C1=((T321*)(oBC861stack_static_rf));
  1577. T0* b1=a2;
  1578. int b2=(((T324*)C))->_top/*32*/;
  1579. ((((T321*)C1))->_storage/*4*/)[b2]=(b1);
  1580. }/*]*/
  1581. /*[IRF3.5put*/((((T374*)((T374*)(oBC861stack_args))))->_storage/*0*/)[(((T324*)C))->_top/*32*/]=(NULL);
  1582. /*]*/
  1583. }
  1584. void r324incr_function_count(T324* C){
  1585. C->_function_count=((((T324*)C))->_function_count/*12*/)+(1);
  1586. }
  1587. /*No:C_PRETTY_PRINTER.h_suffix*/
  1588. /*No:C_PRETTY_PRINTER.sure_void_count*/
  1589. /*No:C_PRETTY_PRINTER.fz_expanded*/
  1590. /*No:C_PRETTY_PRINTER.sprintf_double_is_used*/
  1591. /*No:C_PRETTY_PRINTER.no_split*/
  1592. int r324arguments_cannot_be_dropped(T324* C){
  1593. int R=0;
  1594. /*IF*/if (!(r324no_args_to_eval(C))) {
  1595. R=1;
  1596. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms83_324));
  1597. /*]*/
  1598. r324put_arguments(C);
  1599. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),((T0*)ms147_470));
  1600. /*]*/
  1601. }
  1602. /*FI*/return R;
  1603. }
  1604. void r324put_extern2(T324* C,T0* a1,char a2){
  1605. r324incr_elt_c_count(C,1);
  1606. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms103_470));
  1607. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),a1);
  1608. r544put_string(((T544*)((((T324*)C))->_out_h/*52*/)),((T0*)ms134_470));
  1609. r544put_string(((T544*)(oBC324out_c)),a1);
  1610. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1611. char b1='\75';
  1612. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1613. }/*]*/
  1614. /*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1615. char b1=a2;
  1616. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1617. }/*]*/
  1618. r544put_string(((T544*)(oBC324out_c)),((T0*)ms134_470));
  1619. }
  1620. /*No:C_PRETTY_PRINTER.no_strip*/
  1621. /*No:C_PRETTY_PRINTER.pre_computed_once*/
  1622. /*No:C_PRETTY_PRINTER.push_inline_one_pc*/
  1623. void r324to_expanded(T324* C,T0* a1,T0* a2){
  1624. T0* _dest_rc=NULL;
  1625. T0* _src_rc=NULL;
  1626. _src_rc=X291run_class(a1);
  1627. _dest_rc=X291run_class(a2);
  1628. /*IF*/if (((((T324*)C))->_to_expanded_mem/*64*/)==((void*)(NULL))) {
  1629. C->_to_expanded_mem=se_ma396(2,_src_rc,_dest_rc);
  1630. }
  1631.  else if (!(r396fast_has(((T396*)((((T324*)C))->_to_expanded_mem/*64*/)),_src_rc))) {
  1632. r396add_last(((T396*)((((T324*)C))->_to_expanded_mem/*64*/)),_src_rc);
  1633. r396add_last(((T396*)((((T324*)C))->_to_expanded_mem/*64*/)),_dest_rc);
  1634. }
  1635. /*FI*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC324tmp_string)))))->_count)=(0);
  1636. /*]*/
  1637. r324conversion_name((((T355*)((T355*)_dest_rc)))->_id/*4*/);
  1638. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C))->_current_out/*56*/)),oBC324tmp_string);
  1639. /*]*/
  1640. }
  1641. int fBC364o_suffix=0;
  1642. T0*oBC364o_suffix=NULL;
  1643. T0* r324o_suffix(T324* C){
  1644. if (fBC364o_suffix==0){
  1645. T0* R=NULL;
  1646. T0* _sn=NULL;
  1647. fBC364o_suffix=1;
  1648. _sn=r324system_name(C);
  1649. {T7*n=malloc(sizeof(*n));
  1650. *n=M7;
  1651. r7make(n,4);
  1652. R=(T0*)n;
  1653. }
  1654. r7copy(((T7*)(oBC364tmp_path)),r324small_eiffel_directory(C));
  1655. r324add_directory(C,oBC364tmp_path,((T0*)ms126_470));
  1656. r7append(((T7*)(oBC364tmp_path)),((T0*)ms28_364));
  1657. r7append(((T7*)(oBC364tmp_path)),_sn);
  1658. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1659. r675read_line_in(((T675*)(oBC364tmp_file_read)),R);
  1660. r675disconnect(((T675*)(oBC364tmp_file_read)));
  1661. oBC364o_suffix=R;}
  1662. return oBC364o_suffix;}
  1663.  
  1664.