home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / compile_to_c22.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  24.7 KB  |  910 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 r592compile_to_c(T592* C){
  10. int _i=0;
  11. /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
  12. _i=1;
  13. while (!((_i)>((((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/))) {
  14. X465compile_to_c(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
  15. _i=(_i)+(1);
  16. }
  17. }
  18. /*FI*/}
  19. T0* r592to_runnable(T592* C,T0* a1){
  20. T0* R=NULL;
  21. T0* _i2=NULL;
  22. T0* _i1=NULL;
  23. int _i=0;
  24. /*IF*/if (((((T592*)C))->_current_type/*4*/)==((void*)(NULL))) {
  25. C->_current_type=a1;
  26. /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
  27. _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
  28. while (!((_i)==(0))) {
  29. _i1=r419item(((T419*)((((T592*)C))->_list/*8*/)),_i);
  30. _i2=X465to_runnable(_i1,(T0*)C);
  31. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) {
  32. /*[IRF3.6append*/{T0* b1=((T0*)ms1_592);
  33. r7append(((T7*)(oBC683explanation)),b1);
  34. }/*]*/
  35. /*[IRF3.6append*/{T0* b1=X291written_mark((((T592*)C))->_current_type/*4*/);
  36. r7append(((T7*)(oBC683explanation)),b1);
  37. }/*]*/
  38. r683add_position(X465start_position(_i1));
  39. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_592);
  40. r683fatal_error(((T683*)(oBC364eh)),b1);
  41. }/*]*/
  42. }
  43. else {
  44. /*[IRF3.6put*/{T419* C1=((T419*)((((T592*)C))->_list/*8*/));
  45. T0* b1=_i2;
  46. int b2=_i;
  47. ((((T419*)C1))->_storage/*0*/)[(b2)-((((T419*)C1))->_lower/*12*/)]=(b1);
  48. }/*]*/
  49. }
  50. /*FI*/_i=(_i)-(1);
  51. }
  52. }
  53. /*FI*/R=(T0*)C;
  54. }
  55. else {
  56. /*IF*/if (((((T592*)C))->_list/*8*/)==((void*)(NULL))) {
  57. {T592*n=malloc(sizeof(*n));
  58. *n=M592;
  59. r592make(n,(((T592*)C))->_header_comment/*0*/,NULL);
  60. R=(T0*)n;
  61. }
  62. }
  63. else {
  64. {T592*n=malloc(sizeof(*n));
  65. *n=M592;
  66. r592make(n,(((T592*)C))->_header_comment/*0*/,r419twin(((T419*)((((T592*)C))->_list/*8*/))));
  67. R=(T0*)n;
  68. }
  69. }
  70. /*FI*/R=r592to_runnable(((T592*)R),a1);
  71. }
  72. /*FI*/return R;
  73. }
  74. /*No:COMPOUND.list*/
  75. /*No:COMPOUND.current_type*/
  76. T0* r592run_class(T592* C){
  77. T0* R=NULL;
  78. R=X291run_class((((T592*)C))->_current_type/*4*/);
  79. return R;
  80. }
  81. /*No:COMPOUND.header_comment*/
  82. int r592is_pre_computable(T592* C){
  83. int R=0;
  84. int _i=0;
  85. /*IF*/if (((((T592*)C))->_list/*8*/)==((void*)(NULL))) {
  86. R=1;
  87. }
  88. else {
  89. _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
  90. R=1;
  91. while (!((!(R))||((_i)==(0)))) {
  92. R=X465is_pre_computable(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
  93. _i=(_i)-(1);
  94. }
  95. }
  96. /*FI*/return R;
  97. }
  98. int r592use_current(T592* C){
  99. int R=0;
  100. int _i=0;
  101. /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
  102. _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
  103. while (!((R)||((_i)==(0)))) {
  104. R=X465use_current(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
  105. _i=(_i)-(1);
  106. }
  107. }
  108. /*FI*/return R;
  109. }
  110. int r592count(T592* C){
  111. int R=0;
  112. /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
  113. R=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
  114. }
  115. /*FI*/return R;
  116. }
  117. /*No:COMPOUND.fatal_error*/
  118. T0* r592first(T592* C){
  119. T0* R=NULL;
  120. /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
  121. R=r419first(((T419*)((((T592*)C))->_list/*8*/)));
  122. }
  123. /*FI*/return R;
  124. }
  125. void r592afd_check(T592* C){
  126. int _i=0;
  127. /*IF*/if (((((T592*)C))->_list/*8*/)!=((void*)(NULL))) {
  128. _i=(((T419*)((T419*)((((T592*)C))->_list/*8*/))))->_upper/*8*/;
  129. while (!((_i)==(0))) {
  130. X465afd_check(r419item(((T419*)((((T592*)C))->_list/*8*/)),_i));
  131. _i=(_i)-(1);
  132. }
  133. }
  134. /*FI*/}
  135. T0* r529add_comment(T529* C,T0* a1){
  136. T0* R=NULL;
  137. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  138. R=(T0*)C;
  139. }
  140. else {
  141. {T529*n=malloc(sizeof(*n));
  142. *n=M529;
  143. r529make(n,(T0*)C,a1);
  144. R=(T0*)n;
  145. }
  146. }
  147. /*FI*/return R;
  148. }
  149. int r529to_integer(T529* C){
  150. int R=0;
  151. r529error(r529start_position(C),((T0*)ms69_470));
  152. return R;
  153. }
  154. int r529is_a(T529* C,T0* a1){
  155. int R=0;
  156. R=X291is_a(X291run_type(r529result_type(C)),X291run_type(X662result_type(a1)));
  157. /*IF*/if (!(R)) {
  158. r683add_position(r529start_position(C));
  159. r529error(X662start_position(a1),((T0*)ms4_662));
  160. }
  161. /*FI*/return R;
  162. }
  163. /*No:EXPRESSION_WITH_COMMENT.is_current*/
  164. void r529mapping_c_arg(T529* C,T0* a1){
  165. X662mapping_c_arg((((T529*)C))->_expression/*12*/,a1);
  166. }
  167. /*No:EXPRESSION_WITH_COMMENT.static_value*/
  168. void r529make(T529* C,T0* a1,T0* a2){
  169. C->_expression=a1;
  170. C->_comment=a2;
  171. }
  172. void r529mapping_c_target(T529* C,T0* a1){
  173. X662mapping_c_target((((T529*)C))->_expression/*12*/,a1);
  174. }
  175. /*No:EXPRESSION_WITH_COMMENT.fz_iinaiv*/
  176. /*No:EXPRESSION_WITH_COMMENT.expression*/
  177. void r529dca_inline_argument(T529* C,T0* a1){
  178. X662dca_inline_argument((((T529*)C))->_expression/*12*/,a1);
  179. }
  180. T0* r529start_position(T529* C){
  181. T0* R=NULL;
  182. R=X662start_position((((T529*)C))->_expression/*12*/);
  183. return R;
  184. }
  185. void r529compile_to_c(T529* C){
  186. X662compile_to_c((((T529*)C))->_expression/*12*/);
  187. }
  188. int r529c_simple(T529* C){
  189. int R=0;
  190. R=X662c_simple((((T529*)C))->_expression/*12*/);
  191. return R;
  192. }
  193. /*No:EXPRESSION_WITH_COMMENT.comment*/
  194. T0* r529to_runnable(T529* C,T0* a1){
  195. T0* R=NULL;
  196. /*IF*/if (((((T529*)C))->_current_type/*8*/)==((void*)(NULL))) {
  197. C->_current_type=a1;
  198. C->_expression=X662to_runnable((((T529*)C))->_expression/*12*/,a1);
  199. R=(T0*)C;
  200. }
  201. else {
  202. R=r529twin(C);
  203. /*[IRF3.3set_current_type*/((((T529*)(((T529*)R))))->_current_type)=(NULL);
  204. /*]*/
  205. R=r529to_runnable(((T529*)R),a1);
  206. }
  207. /*FI*/return R;
  208. }
  209. T0* r529result_type(T529* C){
  210. T0* R=NULL;
  211. R=X662result_type((((T529*)C))->_expression/*12*/);
  212. return R;
  213. }
  214. /*No:EXPRESSION_WITH_COMMENT.is_result*/
  215. T0* r529twin(T529* C){
  216. T0* R=NULL;
  217. R=malloc(sizeof(*C));
  218. *((T529*)R)=*C;
  219. return R;
  220. }
  221. /*No:EXPRESSION_WITH_COMMENT.set_current_type*/
  222. int r529is_static(T529* C){
  223. int R=0;
  224. R=X662is_static((((T529*)C))->_expression/*12*/);
  225. /*IF*/if (R) {
  226. C->_static_value_mem=X662static_value_mem((((T529*)C))->_expression/*12*/);
  227. }
  228. /*FI*/return R;
  229. }
  230. int r529can_be_dropped(T529* C){
  231. int R=0;
  232. R=X662can_be_dropped((((T529*)C))->_expression/*12*/);
  233. return R;
  234. }
  235. /*No:EXPRESSION_WITH_COMMENT.current_type*/
  236. void r529compile_to_c_old(T529* C){
  237. X662compile_to_c_old((((T529*)C))->_expression/*12*/);
  238. }
  239. /*No:EXPRESSION_WITH_COMMENT.static_value_mem*/
  240. /*No:EXPRESSION_WITH_COMMENT.is_manifest_string*/
  241. /*No:EXPRESSION_WITH_COMMENT.is_void*/
  242. int r529is_pre_computable(T529* C){
  243. int R=0;
  244. R=X662is_pre_computable((((T529*)C))->_expression/*12*/);
  245. return R;
  246. }
  247. int r529use_current(T529* C){
  248. int R=0;
  249. R=X662use_current((((T529*)C))->_expression/*12*/);
  250. return R;
  251. }
  252. void r529error(T0* a1,T0* a2){
  253. r683add_position(a1);
  254. r683error(((T683*)(oBC364eh)),a2);
  255. }
  256. int r529isa_dca_inline_argument(T529* C){
  257. int R=0;
  258. R=X662isa_dca_inline_argument((((T529*)C))->_expression/*12*/);
  259. return R;
  260. }
  261. void r529afd_check(T529* C){
  262. X662afd_check((((T529*)C))->_expression/*12*/);
  263. }
  264. T0* r436add_comment(T436* C,T0* a1){
  265. T0* R=NULL;
  266. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  267. R=(T0*)C;
  268. }
  269. else {
  270. {T529*n=malloc(sizeof(*n));
  271. *n=M529;
  272. r529make(n,(T0*)C,a1);
  273. R=(T0*)n;
  274. }
  275. }
  276. /*FI*/return R;
  277. }
  278. int r436to_integer(T436* C){
  279. int R=0;
  280. r436error((((T436*)C))->_start_position/*12*/,((T0*)ms69_470));
  281. return R;
  282. }
  283. int r436is_a(T436* C,T0* a1){
  284. int R=0;
  285. R=r709is_a(((T709*)((((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_run_type/*16*/)),X291run_type(X662result_type(a1)));
  286. /*IF*/if (!(R)) {
  287. r683add_position((((T436*)C))->_start_position/*12*/);
  288. r436error(X662start_position(a1),((T0*)ms4_662));
  289. }
  290. /*FI*/return R;
  291. }
  292. /*No:MANIFEST_ARRAY.is_current*/
  293. /*No:MANIFEST_ARRAY.mapping_c_arg*/
  294. /*No:MANIFEST_ARRAY.static_value*/
  295. void r436make(T436* C,T0* a1,T0* a2){
  296. C->_start_position=a1;
  297. C->_list=a2;
  298. }
  299. void r436mapping_c_target(T436* C,T0* a1){
  300. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  301. char b1='\50';
  302. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  303. }/*]*/
  304. /*]*/
  305. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  306. char b1='\50';
  307. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  308. }/*]*/
  309. /*]*/
  310. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  311. char b1='T';
  312. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  313. }/*]*/
  314. /*]*/
  315. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  316. /*]*/
  317. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  318. char b1='\52';
  319. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  320. }/*]*/
  321. /*]*/
  322. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  323. char b1='\51';
  324. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  325. }/*]*/
  326. /*]*/
  327. r436compile_to_c(C);
  328. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  329. char b1='\51';
  330. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  331. }/*]*/
  332. /*]*/
  333. }
  334. /*No:MANIFEST_ARRAY.nb_errors*/
  335. /*No:MANIFEST_ARRAY.fz_iinaiv*/
  336. int fBC364type_any=0;
  337. T0*oBC364type_any=NULL;
  338. T0* r436type_any(void){
  339. if (fBC364type_any==0){
  340. T0* R=NULL;
  341. fBC364type_any=1;
  342. {T669*n=malloc(sizeof(*n));
  343. *n=M669;
  344. r669make(n,NULL);
  345. R=(T0*)n;
  346. }
  347. oBC364type_any=R;}
  348. return oBC364type_any;}
  349. /*No:MANIFEST_ARRAY.dca_inline_argument*/
  350. /*No:MANIFEST_ARRAY.start_position*/
  351. void r436compile_to_c(T436* C){
  352. T0* _e=NULL;
  353. int _adr=0;
  354. T0* _actual_type=NULL;
  355. T0* _formal_type=NULL;
  356. int _i=0;
  357. r94c_call((((T436*)C))->_result_type/*20*/);
  358. _formal_type=X291run_type(r701item(((T701*)((((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_generic_list/*8*/)),1));
  359. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  360. char b1='\50';
  361. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  362. }/*]*/
  363. /*]*/
  364. /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
  365. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  366. char b1='0';
  367. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  368. }/*]*/
  369. /*]*/
  370. }
  371. else {
  372. _adr=X291is_user_expanded(_formal_type);
  373. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/));
  374. /*]*/
  375. _i=1;
  376. while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/)))) {
  377. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  378. char b1='\54';
  379. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  380. }/*]*/
  381. /*]*/
  382. /*IF*/if (_adr) {
  383. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  384. char b1='\46';
  385. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  386. }/*]*/
  387. /*]*/
  388. }
  389. /*FI*/_e=/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i));
  390. _actual_type=X291run_type(X662result_type(_e));
  391. /*IF*/if ((X291is_reference(_formal_type))&&(X291is_expanded(_actual_type))) {
  392. X291to_reference(_actual_type);
  393. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  394. char b1='\50';
  395. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  396. }/*]*/
  397. /*]*/
  398. X662compile_to_c(_e);
  399. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  400. char b1='\51';
  401. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  402. }/*]*/
  403. /*]*/
  404. }
  405. else {
  406. X662compile_to_c(_e);
  407. }
  408. /*FI*/_i=(_i)+(1);
  409. }
  410. }
  411. /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  412. char b1='\51';
  413. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  414. }/*]*/
  415. /*]*/
  416. }
  417. /*No:MANIFEST_ARRAY.c_simple*/
  418. T0* r436to_runnable(T436* C,T0* a1){
  419. T0* R=NULL;
  420. T0* _t=NULL;
  421. T0* _e=NULL;
  422. int _i=0;
  423. /*IF*/if (((((T436*)C))->_current_type/*8*/)==((void*)(NULL))) {
  424. C->_current_type=a1;
  425. /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
  426. _t=r436type_any();
  427. }
  428. else {
  429. _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
  430. while (!((_i)==(0))) {
  431. _e=X662to_runnable(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)),a1);
  432. /*IF*/if ((_e)==((void*)(NULL))) {
  433. r683add_position((((T436*)C))->_start_position/*12*/);
  434. r436error(X662start_position(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i))),((T0*)ms1_436));
  435. _i=0;
  436. }
  437. else {
  438. /*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T436*)C))->_list/*16*/));
  439. T0* b1=_e;
  440. int b2=_i;
  441. ((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1);
  442. }/*]*/
  443. /*IF*/if ((_t)==((void*)(NULL))) {
  444. _t=X662result_type(_e);
  445. }
  446. else {
  447. _t=X291smallest_ancestor(_t,X662result_type(_e));
  448. }
  449. /*FI*/_i=(_i)-(1);
  450. }
  451. /*FI*/}
  452. }
  453. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  454. {T709*n=malloc(sizeof(*n));
  455. *n=M709;
  456. r709make(n,(((T436*)C))->_start_position/*12*/,X291run_type(_t));
  457. C->_result_type=(T0*)n;
  458. }
  459. C->_result_type=r709to_runnable(((T709*)((((T436*)C))->_result_type/*20*/)),(((T436*)C))->_current_type/*8*/);
  460. r355set_at_run_time(((T355*)(r709run_class(((T709*)((((T436*)C))->_result_type/*20*/))))));
  461. R=(T0*)C;
  462. /*IF*/if ((X291is_reference(_t))&&(((((T436*)C))->_list/*16*/)!=((void*)(NULL)))) {
  463. _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
  464. while (!((_i)==(0))) {
  465. _t=X662result_type(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
  466. /*IF*/if (X291is_expanded(_t)) {
  467. X291used_as_reference(_t);
  468. }
  469. /*FI*/_i=(_i)-(1);
  470. }
  471. }
  472. /*FI*/}
  473. /*FI*/}
  474. else {
  475. /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
  476. {T436*n=malloc(sizeof(*n));
  477. *n=M436;
  478. r436make(n,(((T436*)C))->_start_position/*12*/,NULL);
  479. R=(T0*)n;
  480. }
  481. }
  482. else {
  483. {T436*n=malloc(sizeof(*n));
  484. *n=M436;
  485. r436make(n,(((T436*)C))->_start_position/*12*/,X96twin((((T436*)C))->_list/*16*/));
  486. R=(T0*)n;
  487. }
  488. }
  489. /*FI*/R=r436to_runnable(((T436*)R),a1);
  490. }
  491. /*FI*/return R;
  492. }
  493. /*No:MANIFEST_ARRAY.result_type*/
  494. /*No:MANIFEST_ARRAY.is_result*/
  495. /*No:MANIFEST_ARRAY.is_static*/
  496. /*No:MANIFEST_ARRAY.list*/
  497. /*No:MANIFEST_ARRAY.can_be_dropped*/
  498. /*No:MANIFEST_ARRAY.current_type*/
  499. void r436compile_to_c_old(T436* C){
  500. int _i=0;
  501. /*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
  502. _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
  503. while (!((_i)==(0))) {
  504. X662compile_to_c_old(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
  505. _i=(_i)-(1);
  506. }
  507. }
  508. /*FI*/}
  509. /*No:MANIFEST_ARRAY.static_value_mem*/
  510. /*No:MANIFEST_ARRAY.is_manifest_string*/
  511. /*No:MANIFEST_ARRAY.is_void*/
  512. int r436is_pre_computable(T436* C){
  513. int R=0;
  514. T0* _e=NULL;
  515. int _i=0;
  516. /*IF*/if (((((T436*)C))->_list/*16*/)==((void*)(NULL))) {
  517. R=1;
  518. }
  519.  else if (X291is_string(r701item(((T701*)((((T709*)((T709*)((((T436*)C))->_result_type/*20*/))))->_generic_list/*8*/)),1))) {
  520. R=1;
  521. _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
  522. while (!((!(R))||((_i)==(0)))) {
  523. _e=/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i));
  524. R=X662is_pre_computable(_e);
  525. _i=(_i)-(1);
  526. }
  527. }
  528. /*FI*/return R;
  529. }
  530. int r436use_current(T436* C){
  531. int R=0;
  532. int _i=0;
  533. /*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
  534. _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
  535. while (!(((_i)==(0))||(R))) {
  536. R=X662use_current(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
  537. _i=(_i)-(1);
  538. }
  539. }
  540. /*FI*/return R;
  541. }
  542. void r436error(T0* a1,T0* a2){
  543. r683add_position(a1);
  544. r683error(((T683*)(oBC364eh)),a2);
  545. }
  546. /*No:MANIFEST_ARRAY.isa_dca_inline_argument*/
  547. void r436afd_check(T436* C){
  548. int _i=0;
  549. /*IF*/if (((((T436*)C))->_list/*16*/)!=((void*)(NULL))) {
  550. _i=/*X96*/((int)(((T96*)((T96*)((((T436*)C))->_list/*16*/))))->_upper/*12*/);
  551. while (!((_i)==(0))) {
  552. X662afd_check(/*X96*/((T0*)r96item(((T96*)((((T436*)C))->_list/*16*/)),_i)));
  553. _i=(_i)-(1);
  554. }
  555. }
  556. /*FI*/}
  557. void r644get_started(T644* C,T0* a1){
  558. T0* _rp2=NULL;
  559. T0* _rp1=NULL;
  560. int _j=0;
  561. int _i=0;
  562. _i=(((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/;
  563. while (!((_i)==(0))) {
  564. _rp1=r552item(((T552*)((((T644*)C))->_list/*0*/)),_i);
  565. /*IF*/if (!(r605has(((T605*)a1),(((T498*)((T498*)_rp1)))->_old_name/*0*/))) {
  566. r683add_position(X776start_position((((T498*)((T498*)_rp1)))->_old_name/*0*/));
  567. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_644);
  568. r683fatal_error(((T683*)(oBC364eh)),b1);
  569. }/*]*/
  570. }
  571. /*FI*/_i=(_i)-(1);
  572. _j=_i;
  573. while (!((_j)==(0))) {
  574. _rp2=r552item(((T552*)((((T644*)C))->_list/*0*/)),_j);
  575. /*IF*/if ((X776to_key((((T498*)((T498*)_rp2)))->_old_name/*0*/))==((void*)(X776to_key((((T498*)((T498*)_rp1)))->_old_name/*0*/)))) {
  576. r683add_position(X776start_position((((T498*)((T498*)_rp1)))->_old_name/*0*/));
  577. r683add_position(X776start_position((((T498*)((T498*)_rp2)))->_old_name/*0*/));
  578. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_644);
  579. r683fatal_error(((T683*)(oBC364eh)),b1);
  580. }/*]*/
  581. }
  582. /*FI*/_j=(_j)-(1);
  583. }
  584. }
  585. }
  586. int r644affect(T644* C,T0* a1){
  587. int R=0;
  588. T0* _fn_to_key=NULL;
  589. T0* _rp=NULL;
  590. int _i=0;
  591. _i=(((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/;
  592. while (!((R)||((_i)==(0)))) {
  593. _rp=r552item(((T552*)((((T644*)C))->_list/*0*/)),_i);
  594. _fn_to_key=X776to_key(a1);
  595. /*IF*/if (((X776to_key((((T498*)((T498*)_rp)))->_new_name/*4*/))==((void*)(_fn_to_key)))||((X776to_key((((T498*)((T498*)_rp)))->_old_name/*0*/))==((void*)(_fn_to_key)))) {
  596. R=1;
  597. }
  598. else {
  599. _i=(_i)-(1);
  600. }
  601. /*FI*/}
  602. return R;
  603. }
  604. /*No:RENAME_LIST.make*/
  605. T0* r644to_new_name(T644* C,T0* a1){
  606. T0* R=NULL;
  607. T0* _fn_to_key=NULL;
  608. int _i=0;
  609. _i=1;
  610. _fn_to_key=X776to_key(a1);
  611. while (!(((R)!=((void*)(NULL)))||((_i)>((((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/)))) {
  612. /*IF*/if ((X776to_key((((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_old_name/*0*/))==((void*)(_fn_to_key))) {
  613. R=(((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_new_name/*4*/;
  614. }
  615. /*FI*/_i=(_i)+(1);
  616. }
  617. /*IF*/if ((R)==((void*)(NULL))) {
  618. R=a1;
  619. }
  620. /*FI*/return R;
  621. }
  622. T0* r644to_old_name(T644* C,T0* a1){
  623. T0* R=NULL;
  624. T0* _fn_to_key=NULL;
  625. int _i=0;
  626. _i=1;
  627. _fn_to_key=X776to_key(a1);
  628. while (!(((R)!=((void*)(NULL)))||((_i)>((((T552*)((T552*)((((T644*)C))->_list/*0*/))))->_upper/*8*/)))) {
  629. /*IF*/if ((X776to_key((((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_new_name/*4*/))==((void*)(_fn_to_key))) {
  630. R=(((T498*)((T498*)(r552item(((T552*)((((T644*)C))->_list/*0*/)),_i)))))->_old_name/*0*/;
  631. }
  632. /*FI*/_i=(_i)+(1);
  633. }
  634. /*IF*/if ((R)==((void*)(NULL))) {
  635. R=a1;
  636. }
  637. /*FI*/return R;
  638. }
  639. /*No:RENAME_LIST.list*/
  640. /*No:RENAME_LIST.add_last*/
  641. /*No:RENAME_LIST.fatal_error*/
  642. /*No:TYPE_DOUBLE.id*/
  643. int r388has_creation(T388* C,T0* a1){
  644. int R=0;
  645. r683add_position(X776start_position(a1));
  646. r388error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T388*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
  647. return R;
  648. }
  649. /*No:TYPE_DOUBLE.is_anchored*/
  650. /*No:TYPE_DOUBLE.is_array*/
  651. /*No:TYPE_DOUBLE.fz_typedef*/
  652. int r388is_a(T388* C,T0* a1){
  653. int R=0;
  654. /*IF*/if (X291is_double(a1)) {
  655. R=1;
  656. }
  657. else {
  658. R=r605is_subclass_of(((T605*)(r388base_class(C))),X291base_class(a1));
  659. /*IF*/if (R) {
  660. r388used_as_reference();
  661. }
  662. /*FI*/}
  663. /*FI*//*IF*/if (!(R)) {
  664. r683add_type((T0*)C,((T0*)ms71_470));
  665. r683add_type(a1,((T0*)ms67_470));
  666. }
  667. /*FI*/return R;
  668. }
  669. /*No:TYPE_DOUBLE.c_initialize_in*/
  670. /*No:TYPE_DOUBLE.c_type_for_argument_in*/
  671. void r388gc_call_new_in(T0* a1){
  672. r7append(((T7*)a1),((T0*)ms115_470));
  673. r2append_in(5,a1);
  674. r7extend(((T7*)a1),'\50');
  675. r7extend(((T7*)a1),'\51');
  676. }
  677. /*No:TYPE_DOUBLE.run_type*/
  678. /*No:TYPE_DOUBLE.is_pointer*/
  679. /*No:TYPE_DOUBLE.us_double_ref*/
  680. /*No:TYPE_DOUBLE.is_dummy_expanded*/
  681. /*No:TYPE_DOUBLE.is_string*/
  682. int r388space_for_variable(void){
  683. int R=0;
  684. R=((/*UT*/(void)(((double)(0.0)))),sizeof(T5));
  685. return R;
  686. }
  687. /*No:TYPE_DOUBLE.is_like_feature*/
  688. /*No:TYPE_DOUBLE.is_like_current*/
  689. void r388make(T388* C,T0* a1){
  690. {T451*n=malloc(sizeof(*n));
  691. *n=M451;
  692. r451make(n,((T0*)ms11_473),a1);
  693. C->_base_class_name=(T0*)n;
  694. }
  695. }
  696. /*No:TYPE_DOUBLE.nb_errors*/
  697. /*No:TYPE_DOUBLE.us_item*/
  698. void r388load_ref(T0* a1){
  699. T0* _rf=NULL;
  700. T0* _rc=NULL;
  701. T0* _cn=NULL;
  702. {T451*n=malloc(sizeof(*n));
  703. *n=M451;
  704. r451make(n,a1,NULL);
  705. _cn=(T0*)n;
  706. }
  707. _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
  708. r355set_at_run_time(((T355*)_rc));
  709. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
  710. }
  711. int fBC388check_type=0;
  712. void r388check_type(T388* C){
  713. if (fBC388check_type==0){
  714. T0* _rc=NULL;
  715. T0* _bc=NULL;
  716. fBC388check_type=1;
  717. _bc=r388base_class(C);
  718. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  719. _rc=r388run_class(C);
  720. }
  721. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  722. /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
  723. r388error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T388*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_388));
  724. }
  725. /*FI*/}
  726. /*FI*/}}
  727. /*No:TYPE_DOUBLE.mapping_cast*/
  728. /*No:TYPE_DOUBLE.start_position*/
  729. /*No:TYPE_DOUBLE.c_type_for_target_in*/
  730. /*No:TYPE_DOUBLE.fz_gc_mark*/
  731. /*No:TYPE_DOUBLE.fz_inako*/
  732. /*No:TYPE_DOUBLE.gc_initialize*/
  733. /*No:TYPE_DOUBLE.fz_00*/
  734. /*No:TYPE_DOUBLE.is_character*/
  735. /*No:TYPE_DOUBLE.is_user_expanded*/
  736. T0* r388written_mark(void){
  737. T0* R=NULL;
  738. R=((T0*)ms11_473);
  739. return R;
  740. }
  741. /*No:TYPE_DOUBLE.is_run_type*/
  742. T0* r388to_runnable(T388* C,T0* a1){
  743. T0* R=NULL;
  744. R=(T0*)C;
  745. r388check_type(C);
  746. return R;
  747. }
  748. void r388c_type_for_external_in(T0* a1){
  749. /*IF*//*AF*//*AE*/
  750. /*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
  751. /*[IRF3.6c_type_for_argument_in*/{T0* c1=b1;
  752. r7append(((T7*)c1),((T0*)ms101_470));
  753. }/*]*/
  754. }/*]*/
  755. /*FI*/}
  756. T0* r388generic_list(T388* C){
  757. T0* R=NULL;
  758. r388fatal_error_generic_list(C);
  759. return R;
  760. }
  761. /*No:TYPE_DOUBLE.is_formal_generic*/
  762. void r388demangling_in(T0* a1){
  763. /*IF*//*AF*//*AE*/
  764. r7extend(((T7*)a1),'E');
  765. /*FI*/r7extend(((T7*)a1),'\40');
  766. r7append(((T7*)a1),r388run_time_mark());
  767. }
  768. /*No:TYPE_DOUBLE.is_real*/
  769. /*No:TYPE_DOUBLE.is_bit*/
  770. void r388fatal_error_generic_list(T388* C){
  771. r683add_type((T0*)C,((T0*)ms12_291));
  772. r683print_as_fatal_error(((T683*)(oBC364eh)));
  773. }
  774. /*No:TYPE_DOUBLE.fz_new*/
  775. T0* r388smallest_ancestor(T388* C,T0* a1){
  776. T0* R=NULL;
  777. T0* _rto=NULL;
  778. _rto=X291run_type(a1);
  779. /*IF*/if (X291is_integer(_rto)) {
  780. R=(T0*)C;
  781. }
  782.  else if (X291is_real(_rto)) {
  783. R=(T0*)C;
  784. }
  785.  else if (X291is_double(_rto)) {
  786. R=(T0*)C;
  787. }
  788. else {
  789. R=r657smallest_ancestor(((T657*)(r388type_double_ref())),_rto);
  790. }
  791. /*FI*/return R;
  792. }
  793. /*No:TYPE_DOUBLE.is_boolean*/
  794. /*No:TYPE_DOUBLE.is_double*/
  795. T0* r388run_class(T388* C){
  796. T0* R=NULL;
  797. R=r604run_class((T0*)C);
  798. return R;
  799. }
  800. /*No:TYPE_DOUBLE.fz_double*/
  801. T0* r388run_time_mark(void){
  802. T0* R=NULL;
  803. R=((T0*)ms11_473);
  804. return R;
  805. }
  806. /*No:TYPE_DOUBLE.c_initialize*/
  807. /*No:TYPE_DOUBLE.cast_to_ref*/
  808. void r388gc_mark_in(T0* a1){
  809. r7append(((T7*)a1),((T0*)ms107_470));
  810. r2append_in(5,a1);
  811. }
  812. int r388is_a_in(T388* C,T0* a1,T0* a2){
  813. int R=0;
  814. T0* _ct=NULL;
  815. T0* _t2=NULL;
  816. T0* _t1=NULL;
  817. /*IF*/if ((r388written_mark())==((void*)(X291written_mark(a1)))) {
  818. R=1;
  819. }
  820. else {
  821. _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
  822. _t1=r388to_runnable(C,_ct);
  823. _t2=X291to_runnable(a1,_ct);
  824. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  825. R=1;
  826. }
  827. else {
  828. R=X291is_a(_t1,_t2);
  829. }
  830. /*FI*/}
  831. /*FI*/return R;
  832. }
  833. T0* r388look_up_for(T388* C,T0* a1,T0* a2){
  834. T0* R=NULL;
  835. R=r605look_up_for(((T605*)(r388base_class(C))),a1,a2);
  836. return R;
  837. }
  838. /*No:TYPE_DOUBLE.c_header_pass1*/
  839. /*No:TYPE_DOUBLE.c_type_for_result_in*/
  840. /*No:TYPE_DOUBLE.expanded_initializer*/
  841. /*No:TYPE_DOUBLE.us_double*/
  842. /*No:TYPE_DOUBLE.fz_void*/
  843. /*No:TYPE_DOUBLE.fz_dot*/
  844. /*No:TYPE_DOUBLE.is_generic*/
  845. int fBC388used_as_reference=0;
  846. void r388used_as_reference(void){
  847. if (fBC388used_as_reference==0){
  848. fBC388used_as_reference=1;
  849. r388load_ref(((T0*)ms12_473));
  850. }}
  851. /*No:TYPE_DOUBLE.c_header_pass2*/
  852. int fBC364type_double_ref=0;
  853. T0*oBC364type_double_ref=NULL;
  854. T0* r388type_double_ref(void){
  855. if (fBC364type_double_ref==0){
  856. T0* R=NULL;
  857. T0* _double_ref=NULL;
  858. fBC364type_double_ref=1;
  859. {T451*n=malloc(sizeof(*n));
  860. *n=M451;
  861. r451make(n,((T0*)ms12_473),NULL);
  862. _double_ref=(T0*)n;
  863. }
  864. {T657*n=malloc(sizeof(*n));
  865. *n=M657;
  866. /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_double_ref);
  867. /*]*/
  868. R=(T0*)n;
  869. }
  870. oBC364type_double_ref=R;}
  871. return oBC364type_double_ref;}
  872. /*No:TYPE_DOUBLE.gc_define1*/
  873. /*No:TYPE_DOUBLE.need_c_struct*/
  874. /*No:TYPE_DOUBLE.is_reference*/
  875. /*No:TYPE_DOUBLE.gc_info_in*/
  876. void r388error(T0* a1,T0* a2){
  877. r683add_position(a1);
  878. r683error(((T683*)(oBC364eh)),a2);
  879. }
  880. T0* r388base_class(T388* C){
  881. T0* R=NULL;
  882. T0* _bcn=NULL;
  883. _bcn=(((T388*)C))->_base_class_name/*4*/;
  884. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  885. R=r451base_class(((T451*)_bcn));
  886. }
  887. else {
  888. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  889. r7append(((T7*)(oBC683explanation)),b1);
  890. }/*]*/
  891. r683add_type((T0*)C,((T0*)ms67_470));
  892. r683print_as_fatal_error(((T683*)(oBC364eh)));
  893. }
  894. /*FI*/return R;
  895. }
  896. /*No:TYPE_DOUBLE.call_gc_sweep_in*/
  897. /*No:TYPE_DOUBLE.gc_define2*/
  898. /*No:TYPE_DOUBLE.need_gc_mark_function*/
  899. /*No:TYPE_DOUBLE.is_any*/
  900. /*No:TYPE_DOUBLE.to_reference*/
  901. /*No:TYPE_DOUBLE.c_header_pass3*/
  902. /*No:TYPE_DOUBLE.base_class_name*/
  903. /*No:TYPE_DOUBLE.is_expanded*/
  904. /*No:TYPE_DOUBLE.is_basic_eiffel_expanded*/
  905. /*No:TYPE_DOUBLE.is_none*/
  906. /*No:TYPE_DOUBLE.to_expanded*/
  907. /*No:TYPE_DOUBLE.is_integer*/
  908. /*No:TYPE_DOUBLE.c_header_pass4*/
  909.  
  910.