home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / compile_to_c33.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  71.6 KB  |  2,324 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. /*No:ADDRESS_OF.rf*/
  10. T0* r708add_comment(T708* C,T0* a1){
  11. T0* R=NULL;
  12. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  13. R=(T0*)C;
  14. }
  15. else {
  16. {T529*n=malloc(sizeof(*n));
  17. *n=M529;
  18. r529make(n,(T0*)C,a1);
  19. R=(T0*)n;
  20. }
  21. }
  22. /*FI*/return R;
  23. }
  24. int r708to_integer(T708* C){
  25. int R=0;
  26. r708error(r708start_position(C),((T0*)ms69_470));
  27. return R;
  28. }
  29. int r708is_a(T708* C,T0* a1){
  30. int R=0;
  31. R=X291is_a(/*(IRF4.4run_type*/((T0*)((T900*)/*(IRF4.8result_type*/r708type_pointer()/*)*/))/*)*/,X291run_type(X662result_type(a1)));
  32. /*IF*/if (!(R)) {
  33. r683add_position(r708start_position(C));
  34. r708error(X662start_position(a1),((T0*)ms4_662));
  35. }
  36. /*FI*/return R;
  37. }
  38. /*No:ADDRESS_OF.is_current*/
  39. /*No:ADDRESS_OF.mapping_c_arg*/
  40. /*No:ADDRESS_OF.static_value*/
  41. /*No:ADDRESS_OF.make*/
  42. /*No:ADDRESS_OF.mapping_c_target*/
  43. /*No:ADDRESS_OF.feature_name*/
  44. /*No:ADDRESS_OF.fz_iinaiv*/
  45. /*No:ADDRESS_OF.dca_inline_argument*/
  46. T0* r708start_position(T708* C){
  47. T0* R=NULL;
  48. R=X776start_position((((T708*)C))->_feature_name/*12*/);
  49. return R;
  50. }
  51. void r708compile_to_c(T708* C){
  52. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_708));
  53. /*]*/
  54. X496address_of((((T708*)C))->_rf/*16*/);
  55. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  56. char b1='\51';
  57. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  58. }/*]*/
  59. /*]*/
  60. }
  61. /*No:ADDRESS_OF.c_simple*/
  62. T0* r708to_runnable(T708* C,T0* a1){
  63. T0* R=NULL;
  64. /*IF*/if (((((T708*)C))->_current_type/*8*/)==((void*)(NULL))) {
  65. C->_current_type=a1;
  66. C->_rf=r355get_rf_with(((T355*)(X291run_class(a1))),(((T708*)C))->_feature_name/*12*/);
  67. /*IF*/if (((((T708*)C))->_rf/*16*/)==((void*)(NULL))) {
  68. r708error(r708start_position(C),((T0*)ms2_708));
  69. }
  70. /*FI*/R=(T0*)C;
  71. }
  72. else {
  73. {T708*n=malloc(sizeof(*n));
  74. *n=M708;
  75. /*[IRF3.3make*/((((T708*)(n)))->_feature_name)=((((T708*)C))->_feature_name/*12*/);
  76. /*]*/
  77. R=(T0*)n;
  78. }
  79. R=r708to_runnable(((T708*)R),a1);
  80. }
  81. /*FI*/return R;
  82. }
  83. /*No:ADDRESS_OF.result_type*/
  84. /*No:ADDRESS_OF.is_result*/
  85. /*No:ADDRESS_OF.is_static*/
  86. /*No:ADDRESS_OF.can_be_dropped*/
  87. /*No:ADDRESS_OF.current_type*/
  88. /*No:ADDRESS_OF.compile_to_c_old*/
  89. /*No:ADDRESS_OF.static_value_mem*/
  90. /*No:ADDRESS_OF.is_manifest_string*/
  91. /*No:ADDRESS_OF.is_void*/
  92. int fBC364type_pointer=0;
  93. T0*oBC364type_pointer=NULL;
  94. T0* r708type_pointer(void){
  95. if (fBC364type_pointer==0){
  96. T0* R=NULL;
  97. fBC364type_pointer=1;
  98. {T900*n=malloc(sizeof(*n));
  99. *n=M900;
  100. r900make(n,NULL);
  101. R=(T0*)n;
  102. }
  103. oBC364type_pointer=R;}
  104. return oBC364type_pointer;}
  105. /*No:ADDRESS_OF.is_pre_computable*/
  106. /*No:ADDRESS_OF.use_current*/
  107. void r708error(T0* a1,T0* a2){
  108. r683add_position(a1);
  109. r683error(((T683*)(oBC364eh)),a2);
  110. }
  111. /*No:ADDRESS_OF.isa_dca_inline_argument*/
  112. /*No:ADDRESS_OF.afd_check*/
  113. /*No:MANIFEST_STRING_POOL.fz_se_msi*/
  114. /*No:MANIFEST_STRING_POOL.c_define*/
  115. void r340character_to_c_code(char a1,T0* a2){
  116. /*IF*/if ((a1)==('\n')) {
  117. r7extend(((T7*)a2),'\134');
  118. r7extend(((T7*)a2),'n');
  119. }
  120.  else if ((a1)==('\134')) {
  121. r7extend(((T7*)a2),'\134');
  122. r7extend(((T7*)a2),'\134');
  123. }
  124.  else if ((a1)==('\42')) {
  125. r7extend(((T7*)a2),'\134');
  126. r7extend(((T7*)a2),'\42');
  127. }
  128.  else if ((a1)==('\47')) {
  129. r7extend(((T7*)a2),'\134');
  130. r7extend(((T7*)a2),'\47');
  131. }
  132.  else if (((((unsigned char)a1))<(32))||((122)<(((unsigned char)a1)))) {
  133. r7extend(((T7*)a2),'\134');
  134. r2append_in(r2to_octal(((unsigned char)a1)),a2);
  135. r7extend(((T7*)a2),'\42');
  136. r7extend(((T7*)a2),'\42');
  137. }
  138. else {
  139. r7extend(((T7*)a2),a1);
  140. }
  141. /*FI*/}
  142. /*No:MANIFEST_STRING_POOL.fz_t7_star*/
  143. T0*oBC340header=NULL;
  144. /*No:MANIFEST_STRING_POOL.c_call_initialize*/
  145. /*No:MANIFEST_STRING_POOL.used_for_inline*/
  146. T0* r340type_string(void){
  147. if (fBC364type_string==0){
  148. T0* R=NULL;
  149. fBC364type_string=1;
  150. {T491*n=malloc(sizeof(*n));
  151. *n=M491;
  152. r491make(n,NULL);
  153. R=(T0*)n;
  154. }
  155. oBC364type_string=R;}
  156. return oBC364type_string;}
  157. /*No:MANIFEST_STRING_POOL.fz_gc_mark*/
  158. /*No:MANIFEST_STRING_POOL.fz_00*/
  159. void r340string_to_c_code(T0* a1,T0* a2){
  160. int _i=0;
  161. r7extend(((T7*)a2),'\42');
  162. _i=1;
  163. while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
  164. r340character_to_c_code(/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/,a2);
  165. _i=(_i)+(1);
  166. }
  167. r7extend(((T7*)a2),'\42');
  168. }
  169. /*No:MANIFEST_STRING_POOL.fz_c_no_args_procedure*/
  170. /*No:MANIFEST_STRING_POOL.fz_14*/
  171. /*No:MANIFEST_STRING_POOL.fz_new*/
  172. /*No:MANIFEST_STRING_POOL.fz_c_void_args*/
  173. int r340not_dummy(T0* a1){
  174. int R=0;
  175. R=!(r256fast_has(((T256*)(oBC340dummy_ms_list)),a1));
  176. return R;
  177. }
  178. T0*oBC340body=NULL;
  179. void r340gc_mark_in(T0* a1){
  180. T0* _ms=NULL;
  181. int _i=0;
  182. _i=(((T256*)((T256*)(oBC340ms_list))))->_upper/*12*/;
  183. while (!((_i)<(0))) {
  184. _ms=/*(IRF4.6item*/((((T256*)((T256*)(oBC340ms_list))))->_storage/*4*/)[_i]/*)*/;
  185. /*IF*/if (r340not_dummy(_ms)) {
  186. r7append(((T7*)a1),((T0*)ms107_470));
  187. r7extend(((T7*)a1),'7');
  188. r7extend(((T7*)a1),'\50');
  189. r7append(((T7*)a1),(((T805*)((T805*)_ms)))->_mapping_c/*32*/);
  190. r7extend(((T7*)a1),'\51');
  191. r7append(((T7*)a1),((T0*)ms134_470));
  192. }
  193. /*FI*/_i=(_i)-(1);
  194. }
  195. }
  196. /*No:MANIFEST_STRING_POOL.nb_ms_per_function*/
  197. T0*oBC340ms_list=NULL;
  198. /*No:MANIFEST_STRING_POOL.define_se_ms*/
  199. /*No:MANIFEST_STRING_POOL.fz_void*/
  200. void r340add_last(T0* a1){
  201. r256add_last(((T256*)(oBC340ms_list)),a1);
  202. }
  203. /*No:MANIFEST_STRING_POOL.count*/
  204. T0*oBC340dummy_ms_list=NULL;
  205. /*No:MANIFEST_STRING_POOL.us_malloc*/
  206. int r709id(T709* C){
  207. int R=0;
  208. R=(((T355*)((T355*)(r709run_class(C)))))->_id/*4*/;
  209. return R;
  210. }
  211. /*No:TYPE_ARRAY.gc_set_unmarked_in*/
  212. /*No:TYPE_ARRAY.array_of*/
  213. T0*oBC709tmp_written_mark=NULL;
  214. int r709has_creation(T709* C,T0* a1){
  215. int R=0;
  216. /*IF*/if ((C)==((void*)((((T709*)C))->_run_type/*16*/))) {
  217. R=r605has_creation(((T605*)(r709base_class(C))),a1);
  218. }
  219. else {
  220. R=r709has_creation(((T709*)((((T709*)C))->_run_type/*16*/)),a1);
  221. }
  222. /*FI*/return R;
  223. }
  224. /*No:TYPE_ARRAY.is_anchored*/
  225. /*No:TYPE_ARRAY.is_array*/
  226. /*No:TYPE_ARRAY.fz_typedef*/
  227. /*No:TYPE_ARRAY.fz_else*/
  228. int r709is_a(T709* C,T0* a1){
  229. int R=0;
  230. /*IF*/if ((r709run_class(C))==((void*)(X291run_class(a1)))) {
  231. R=1;
  232. }
  233.  else if (X291is_array(a1)) {
  234. R=X291is_a(/*(IRF4.6array_of*/r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1)/*)*/,r701item(((T701*)(X291generic_list(a1))),1));
  235. /*IF*/if (!(R)) {
  236. /*[IRF3.6extend*/{char b1='\40';
  237. r7extend(((T7*)(oBC683explanation)),b1);
  238. }/*]*/
  239. r683add_type((T0*)C,((T0*)ms71_470));
  240. r683add_type(a1,((T0*)ms67_470));
  241. }
  242. /*FI*/}
  243.  else if (r605is_subclass_of(((T605*)(r709base_class(C))),X291base_class(a1))) {
  244. /*IF*/if (X291is_generic(a1)) {
  245. R=r605is_a_vncg(((T605*)(r709base_class(C))),(T0*)C,a1);
  246. }
  247. else {
  248. R=1;
  249. }
  250. /*FI*/}
  251. /*FI*//*IF*/if (!(R)) {
  252. r683add_type((T0*)C,((T0*)ms71_470));
  253. r683add_type(a1,((T0*)ms67_470));
  254. }
  255. /*FI*/return R;
  256. }
  257. void r709gcmt_max_in(T709* C,T0* a1){
  258. r7append(((T7*)a1),((T0*)ms55_291));
  259. r2append_in(r709id(C),a1);
  260. }
  261. /*No:TYPE_ARRAY.c_initialize_in*/
  262. /*No:TYPE_ARRAY.fz_gc_sweep*/
  263. /*No:TYPE_ARRAY.c_type_for_argument_in*/
  264. void r709standard_c_object_model(T709* C){
  265. T0* _rc=NULL;
  266. int _mem_id=0;
  267. T0* _wa=NULL;
  268. _rc=r709run_class(C);
  269. _mem_id=(((T355*)((T355*)_rc)))->_id/*4*/;
  270. _wa=r355writable_attributes(((T355*)_rc));
  271. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms103_470));
  272. r7extend(((T7*)(oBC291tmp_string)),'T');
  273. r2append_in(_mem_id,oBC291tmp_string);
  274. r7extend(((T7*)(oBC291tmp_string)),'\40');
  275. r7extend(((T7*)(oBC291tmp_string)),'M');
  276. r2append_in(_mem_id,oBC291tmp_string);
  277. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  278. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  279. /*]*/
  280. /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
  281. /*]*/
  282. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  283. /*]*/
  284. r7extend(((T7*)(oBC291tmp_string)),'T');
  285. r2append_in(_mem_id,oBC291tmp_string);
  286. r7extend(((T7*)(oBC291tmp_string)),'\40');
  287. r7extend(((T7*)(oBC291tmp_string)),'M');
  288. r2append_in(_mem_id,oBC291tmp_string);
  289. r7extend(((T7*)(oBC291tmp_string)),'\75');
  290. r355c_object_model_in(((T355*)_rc),oBC291tmp_string);
  291. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  292. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  293. /*]*/
  294. r324swap_on_h(((T324*)(oBC364cpp)));
  295. }
  296. void r709gc_call_new_in(T709* C,T0* a1){
  297. r7append(((T7*)a1),((T0*)ms115_470));
  298. r2append_in(r709id(C),a1);
  299. r7extend(((T7*)a1),'\50');
  300. r7extend(((T7*)a1),'\51');
  301. }
  302. /*No:TYPE_ARRAY.fz_se_cmpt*/
  303. int r709space_for_pointer(void){
  304. int R=0;
  305. void* _p=0;
  306. R=sizeof(T8);
  307. return R;
  308. }
  309. /*No:TYPE_ARRAY.is_pointer*/
  310. /*No:TYPE_ARRAY.run_type*/
  311. void r709gc_align_mark_in(T709* C,T0* a1){
  312. r7append(((T7*)a1),((T0*)ms58_291));
  313. r2append_in(r709id(C),a1);
  314. }
  315. /*No:TYPE_ARRAY.us_lower*/
  316. /*No:TYPE_ARRAY.is_dummy_expanded*/
  317. /*No:TYPE_ARRAY.us_array*/
  318. void r709gcmt_used_in(T709* C,T0* a1){
  319. r7append(((T7*)a1),((T0*)ms56_291));
  320. r2append_in(r709id(C),a1);
  321. }
  322. /*No:TYPE_ARRAY.is_string*/
  323. /*No:TYPE_ARRAY.space_for_variable*/
  324. void r709standard_c_struct(T709* C){
  325. T0* _t=NULL;
  326. T0* _a=NULL;
  327. int _mem_id=0;
  328. int _i=0;
  329. T0* _wa=NULL;
  330. _mem_id=r709id(C);
  331. _wa=r355writable_attributes(((T355*)(r709run_class(C))));
  332. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
  333. r7extend(((T7*)(oBC291tmp_string)),'S');
  334. r2append_in(_mem_id,oBC291tmp_string);
  335. r7extend(((T7*)(oBC291tmp_string)),'\173');
  336. /*IF*/{/*AT*//*IF*/if (r355is_tagged(((T355*)(r709run_class(C))))) {
  337. r7append(((T7*)(oBC291tmp_string)),((T0*)ms4_291));
  338. }
  339. /*FI*/}
  340. /*FI*//*IF*/if ((_wa)!=((void*)(NULL))) {
  341. _i=(((T280*)((T280*)_wa)))->_upper/*12*/;
  342. while (!((_i)==(0))) {
  343. _a=r280item(((T280*)_wa),_i);
  344. _t=X291run_type((((T820*)((T820*)_a)))->_result_type/*24*/);
  345. X291c_type_for_result_in(_t,oBC291tmp_string);
  346. r7extend(((T7*)(oBC291tmp_string)),'\40');
  347. r7extend(((T7*)(oBC291tmp_string)),'\137');
  348. r7append(((T7*)(oBC291tmp_string)),X776to_string((((T820*)((T820*)_a)))->_name/*16*/));
  349. r7extend(((T7*)(oBC291tmp_string)),'\73');
  350. _i=(_i)-(1);
  351. }
  352. }
  353. /*FI*/r7extend(((T7*)(oBC291tmp_string)),'\175');
  354. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  355. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  356. /*]*/
  357. /*IF*//*AF*//*AE*/
  358. /*FI*/}
  359. /*No:TYPE_ARRAY.is_like_feature*/
  360. /*No:TYPE_ARRAY.fz_t0_star*/
  361. /*No:TYPE_ARRAY.is_like_current*/
  362. /*No:TYPE_ARRAY.us_capacity*/
  363. void r709make(T709* C,T0* a1,T0* a2){
  364. T0* _owwm=NULL;
  365. {T451*n=malloc(sizeof(*n));
  366. *n=M451;
  367. r451make(n,((T0*)ms2_473),a1);
  368. C->_base_class_name=(T0*)n;
  369. }
  370. C->_generic_list=se_ma701(1,a2);
  371. _owwm=X291written_mark(a2);
  372. r7copy(((T7*)(oBC709tmp_written_mark)),((T0*)ms2_473));
  373. r7extend(((T7*)(oBC709tmp_written_mark)),'\133');
  374. r7append(((T7*)(oBC709tmp_written_mark)),_owwm);
  375. r7extend(((T7*)(oBC709tmp_written_mark)),'\135');
  376. C->_written_mark=r902item(oBC709tmp_written_mark);
  377. }
  378. /*No:TYPE_ARRAY.nb_errors*/
  379. /*No:TYPE_ARRAY.fz_gc*/
  380. /*No:TYPE_ARRAY.gc_if_marked_in*/
  381. /*No:TYPE_ARRAY.fz_gc_sweep_pool*/
  382. void r709mapping_cast(T709* C){
  383. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  384. /*]*/
  385. r7extend(((T7*)(oBC291tmp_string)),'\50');
  386. r709c_type_for_target_in(C,oBC291tmp_string);
  387. r7extend(((T7*)(oBC291tmp_string)),'\51');
  388. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  389. /*]*/
  390. }
  391. /*No:TYPE_ARRAY.start_position*/
  392. void r709c_type_for_target_in(T709* C,T0* a1){
  393. r7extend(((T7*)a1),'T');
  394. r2append_in(r709id(C),a1);
  395. r7extend(((T7*)a1),'\52');
  396. }
  397. /*No:TYPE_ARRAY.fz_printf*/
  398. void r709gc_free_in(T709* C,T0* a1){
  399. r7append(((T7*)a1),((T0*)ms57_291));
  400. r2append_in(r709id(C),a1);
  401. }
  402. /*No:TYPE_ARRAY.gc_set_marked_in*/
  403. /*No:TYPE_ARRAY.fz_gc_mark*/
  404. /*No:TYPE_ARRAY.fz_inako*/
  405. void r709standard_gc_initialize(T709* C){
  406. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  407. /*]*/
  408. r709gcmt_in(C,oBC291tmp_string);
  409. r7append(((T7*)(oBC291tmp_string)),((T0*)ms53_291));
  410. r709gcmt_max_in(C,oBC291tmp_string);
  411. r7append(((T7*)(oBC291tmp_string)),((T0*)ms150_470));
  412. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  413. /*]*/
  414. }
  415. /*No:TYPE_ARRAY.gc_initialize*/
  416. /*No:TYPE_ARRAY.fz_00*/
  417. /*No:TYPE_ARRAY.is_character*/
  418. /*No:TYPE_ARRAY.is_user_expanded*/
  419. /*No:TYPE_ARRAY.written_mark*/
  420. T0* r709to_runnable(T709* C,T0* a1){
  421. T0* R=NULL;
  422. T0* _rc=NULL;
  423. T0* _rt=NULL;
  424. T0* _elt2=NULL;
  425. T0* _elt1=NULL;
  426. /*IF*/if (((((T709*)C))->_run_type/*16*/)==((void*)(C))) {
  427. R=(T0*)C;
  428. }
  429. else {
  430. _elt1=r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1);
  431. _elt2=X291to_runnable(_elt1,a1);
  432. /*IF*/if (((_elt2)==((void*)(NULL)))||(!(X291is_run_type(_elt2)))) {
  433. /*IF*/if ((_elt2)!=((void*)(NULL))) {
  434. r683add_position(X291start_position(_elt2));
  435. }
  436. /*FI*/r709error(X291start_position(_elt1),((T0*)ms59_470));
  437. }
  438. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  439. _elt2=X291run_type(_elt2);
  440. /*IF*/if (((((T709*)C))->_run_type/*16*/)==((void*)(NULL))) {
  441. R=(T0*)C;
  442. /*IF*/if ((_elt2)==((void*)(_elt1))) {
  443. C->_run_type=(T0*)C;
  444. r709load_basic_features(C);
  445. }
  446. else {
  447. {T709*n=malloc(sizeof(*n));
  448. *n=M709;
  449. r709make_runnable(n,/*(IRF4.6start_position*/(((T451*)((T451*)((((T709*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,_elt2);
  450. C->_run_type=(T0*)n;
  451. }
  452. r709load_basic_features(((T709*)((((T709*)C))->_run_type/*16*/)));
  453. }
  454. /*FI*/}
  455. else {
  456. R=r709twin(C);
  457. {T709*n=malloc(sizeof(*n));
  458. *n=M709;
  459. r709make_runnable(n,/*(IRF4.6start_position*/(((T451*)((T451*)((((T709*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,_elt2);
  460. _rt=(T0*)n;
  461. }
  462. /*[IRF3.3set_run_type*/((((T709*)(((T709*)R))))->_run_type)=(_rt);
  463. /*]*/
  464. r709load_basic_features(((T709*)_rt));
  465. }
  466. /*FI*/}
  467. /*FI*/}
  468. /*FI*/_rc=X291run_class(r701item(((T701*)((((T709*)((T709*)R)))->_generic_list/*8*/)),1));
  469. _rc=r709run_class(((T709*)R));
  470. return R;
  471. }
  472. int r709is_run_type(T709* C){
  473. int R=0;
  474. T0* _t=NULL;
  475. /*IF*/if (((((T709*)C))->_run_type/*16*/)!=((void*)(NULL))) {
  476. R=1;
  477. }
  478. else {
  479. _t=r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1);
  480. /*IF*/if ((X291is_run_type(_t))&&((X291run_type(_t))==((void*)(_t)))) {
  481. C->_run_type=(T0*)C;
  482. R=1;
  483. }
  484. /*FI*/}
  485. /*FI*/return R;
  486. }
  487. /*No:TYPE_ARRAY.fz_c_if_eq_null*/
  488. /*No:TYPE_ARRAY.fz_10*/
  489. void r709c_type_for_external_in(T0* a1){
  490. /*IF*/{/*AT*/r7append(((T7*)a1),((T0*)ms133_470));
  491. r7extend(((T7*)a1),'\52');
  492. }
  493. /*FI*/}
  494. /*No:TYPE_ARRAY.is_formal_generic*/
  495. /*No:TYPE_ARRAY.generic_list*/
  496. /*No:TYPE_ARRAY.fz_null*/
  497. void r709demangling_in(T709* C,T0* a1){
  498. /*IF*/{/*AT*/r7extend(((T7*)a1),'R');
  499. }
  500. /*FI*/r7extend(((T7*)a1),'\40');
  501. r7append(((T7*)a1),r709run_time_mark(C));
  502. }
  503. /*No:TYPE_ARRAY.is_real*/
  504. T0* r709twin(T709* C){
  505. T0* R=NULL;
  506. R=malloc(sizeof(*C));
  507. *((T709*)R)=*C;
  508. return R;
  509. }
  510. void r709gc_info_nb_in(T709* C,T0* a1){
  511. r7append(((T7*)a1),((T0*)ms59_291));
  512. r2append_in(r709id(C),a1);
  513. }
  514. /*No:TYPE_ARRAY.fz_14*/
  515. /*No:TYPE_ARRAY.is_bit*/
  516. /*No:TYPE_ARRAY.fz_new*/
  517. /*No:TYPE_ARRAY.fz_c_void_args*/
  518. T0* r709smallest_ancestor(T709* C,T0* a1){
  519. T0* R=NULL;
  520. T0* _array_of3=NULL;
  521. T0* _array_of2=NULL;
  522. T0* _array_of1=NULL;
  523. T0* _rto=NULL;
  524. _rto=X291run_type(a1);
  525. /*IF*/if (X291is_array(_rto)) {
  526. _array_of1=X291run_type(/*(IRF4.6array_of*/r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1)/*)*/);
  527. _array_of2=r701item(((T701*)(X291generic_list(_rto))),1);
  528. _array_of3=X291smallest_ancestor(_array_of1,_array_of2);
  529. /*IF*/if ((_array_of3)==((void*)(_array_of1))) {
  530. R=(T0*)C;
  531. }
  532.  else if ((_array_of3)==((void*)(_array_of2))) {
  533. R=a1;
  534. }
  535. else {
  536. {T709*n=malloc(sizeof(*n));
  537. *n=M709;
  538. r709make(n,NULL,_array_of3);
  539. R=(T0*)n;
  540. }
  541. }
  542. /*FI*/}
  543. else {
  544. R=X291smallest_ancestor(_rto,(T0*)C);
  545. }
  546. /*FI*/return R;
  547. }
  548. /*No:TYPE_ARRAY.fz_16*/
  549. void r709standard_gc_info_in(T709* C,T0* a1){
  550. r7append(((T7*)a1),((T0*)ms119_470));
  551. r7extend(((T7*)a1),'\50');
  552. r7extend(((T7*)a1),'\42');
  553. r7append(((T7*)a1),r709run_time_mark(C));
  554. r7append(((T7*)a1),((T0*)ms144_470));
  555. r709gc_info_nb_in(C,a1);
  556. r7append(((T7*)a1),((T0*)ms148_470));
  557. r7append(((T7*)a1),((T0*)ms119_470));
  558. r7extend(((T7*)a1),'\50');
  559. r7extend(((T7*)a1),'\42');
  560. r709gcmt_used_in(C,a1);
  561. r7append(((T7*)a1),((T0*)ms144_470));
  562. r709gcmt_used_in(C,a1);
  563. r7append(((T7*)a1),((T0*)ms148_470));
  564. r7append(((T7*)a1),((T0*)ms119_470));
  565. r7extend(((T7*)a1),'\50');
  566. r7extend(((T7*)a1),'\42');
  567. r709gcmt_max_in(C,a1);
  568. r7append(((T7*)a1),((T0*)ms144_470));
  569. r709gcmt_max_in(C,a1);
  570. r7append(((T7*)a1),((T0*)ms148_470));
  571. }
  572. /*No:TYPE_ARRAY.set_run_type*/
  573. /*No:TYPE_ARRAY.is_boolean*/
  574. void r709standard_c_typedef(T709* C){
  575. int _mem_id=0;
  576. _mem_id=r709id(C);
  577. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  578. /*]*/
  579. /*IF*/{/*AT*/r7append(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
  580. r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
  581. r7extend(((T7*)(oBC291tmp_string)),'S');
  582. r2append_in(_mem_id,oBC291tmp_string);
  583. r7extend(((T7*)(oBC291tmp_string)),'\40');
  584. r7extend(((T7*)(oBC291tmp_string)),'T');
  585. r2append_in(_mem_id,oBC291tmp_string);
  586. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  587. }
  588. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  589. /*]*/
  590. }
  591. /*No:TYPE_ARRAY.is_double*/
  592. /*No:TYPE_ARRAY.us_storage*/
  593. T0* r709run_class(T709* C){
  594. T0* R=NULL;
  595. /*IF*/if (r709is_run_type(C)) {
  596. R=r604run_class((((T709*)C))->_run_type/*16*/);
  597. }
  598. /*FI*/return R;
  599. }
  600. /*No:TYPE_ARRAY.fz_extern*/
  601. void r709gcmt_in(T709* C,T0* a1){
  602. r7append(((T7*)a1),((T0*)ms54_291));
  603. r2append_in(r709id(C),a1);
  604. }
  605. T0* r709run_time_mark(T709* C){
  606. T0* R=NULL;
  607. /*IF*/if (r709is_run_type(C)) {
  608. R=(((T709*)((T709*)((((T709*)C))->_run_type/*16*/))))->_written_mark/*12*/;
  609. }
  610. /*FI*/return R;
  611. }
  612. /*No:TYPE_ARRAY.c_initialize*/
  613. void r709cast_to_ref(T709* C){
  614. r709cast_to_ref(((T709*)((((T709*)C))->_run_type/*16*/)));
  615. }
  616. void r709gc_mark_in(T709* C,T0* a1){
  617. r7append(((T7*)a1),((T0*)ms107_470));
  618. r2append_in(r709id(C),a1);
  619. }
  620. int r709is_a_in(T709* C,T0* a1,T0* a2){
  621. int R=0;
  622. T0* _ct=NULL;
  623. T0* _t2=NULL;
  624. T0* _t1=NULL;
  625. /*IF*/if (((((T709*)C))->_written_mark/*12*/)==((void*)(X291written_mark(a1)))) {
  626. R=1;
  627. }
  628. else {
  629. _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
  630. _t1=r709to_runnable(C,_ct);
  631. _t2=X291to_runnable(a1,_ct);
  632. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  633. R=1;
  634. }
  635. else {
  636. R=X291is_a(_t1,_t2);
  637. }
  638. /*FI*/}
  639. /*FI*/return R;
  640. }
  641. T0* r709look_up_for(T709* C,T0* a1,T0* a2){
  642. T0* R=NULL;
  643. R=r605look_up_for(((T605*)(r709base_class(C))),a1,a2);
  644. return R;
  645. }
  646. /*No:TYPE_ARRAY.c_header_pass1*/
  647. /*No:TYPE_ARRAY.c_type_for_result_in*/
  648. /*No:TYPE_ARRAY.expanded_initializer*/
  649. /*No:TYPE_ARRAY.fz_int*/
  650. void r709gc_declare_h_in(T709* C,T0* a1){
  651. r7append(((T7*)a1),((T0*)ms105_470));
  652. r2append_in(r709id(C),a1);
  653. r7append(((T7*)a1),((T0*)ms60_291));
  654. r2append_in(r709id(C),a1);
  655. r7append(((T7*)a1),((T0*)ms61_291));
  656. }
  657. void r709standard_gc_define1(T709* C){
  658. int _rcid=0;
  659. T0* _rc=NULL;
  660. _rc=r709run_class(C);
  661. _rcid=(((T355*)((T355*)_rc)))->_id/*4*/;
  662. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
  663. r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
  664. r7extend(((T7*)(oBC291tmp_string)),'B');
  665. r2append_in(_rcid,oBC291tmp_string);
  666. r7extend(((T7*)(oBC291tmp_string)),'\40');
  667. r7append(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
  668. r2append_in(_rcid,oBC291tmp_string);
  669. r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
  670. r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
  671. r7extend(((T7*)(oBC291tmp_string)),'B');
  672. r2append_in(_rcid,oBC291tmp_string);
  673. r7append(((T7*)(oBC291tmp_string)),((T0*)ms13_291));
  674. r2append_in(_rcid,oBC291tmp_string);
  675. r7append(((T7*)(oBC291tmp_string)),((T0*)ms14_291));
  676. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  677. /*]*/
  678. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
  679. r2append_in(_rcid,oBC291tmp_string);
  680. r7extend(((T7*)(oBC291tmp_string)),'\52');
  681. r7extend(((T7*)(oBC291tmp_string)),'\52');
  682. r709gcmt_in(C,oBC291tmp_string);
  683. r324put_extern1(((T324*)(oBC364cpp)),oBC291tmp_string);
  684. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
  685. r7extend(((T7*)(oBC291tmp_string)),'\40');
  686. r709gcmt_used_in(C,oBC291tmp_string);
  687. r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
  688. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
  689. r7extend(((T7*)(oBC291tmp_string)),'\40');
  690. r709gcmt_max_in(C,oBC291tmp_string);
  691. r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'8');
  692. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
  693. r2append_in(_rcid,oBC291tmp_string);
  694. r7extend(((T7*)(oBC291tmp_string)),'\52');
  695. r709gc_free_in(C,oBC291tmp_string);
  696. r324put_extern5(((T324*)(oBC364cpp)),oBC291tmp_string,((T0*)ms117_470));
  697. /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
  698. r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
  699. r7extend(((T7*)(oBC291tmp_string)),'\40');
  700. r709gc_info_nb_in(C,oBC291tmp_string);
  701. r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
  702. }
  703. /*FI*/}
  704. /*No:TYPE_ARRAY.fz_void*/
  705. /*No:TYPE_ARRAY.fz_dot*/
  706. /*No:TYPE_ARRAY.is_generic*/
  707. /*No:TYPE_ARRAY.fz_bga*/
  708. /*No:TYPE_ARRAY.used_as_reference*/
  709. /*No:TYPE_ARRAY.c_header_pass2*/
  710. /*No:TYPE_ARRAY.gc_define1*/
  711. /*No:TYPE_ARRAY.need_c_struct*/
  712. /*No:TYPE_ARRAY.gc_info_in*/
  713. /*No:TYPE_ARRAY.is_reference*/
  714. void r709error(T0* a1,T0* a2){
  715. r683add_position(a1);
  716. r683error(((T683*)(oBC364eh)),a2);
  717. }
  718. void r709load_basic_features(T709* C){
  719. T0* _rc=NULL;
  720. T0* _rf=NULL;
  721. T0* _elt_type=NULL;
  722. _elt_type=r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1);
  723. /*IF*/if (X291is_expanded(_elt_type)) {
  724. r355set_at_run_time(((T355*)(X291run_class(_elt_type))));
  725. }
  726. /*FI*/_rc=r709run_class(C);
  727. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms55_473));
  728. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms87_473));
  729. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms140_473));
  730. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms130_473));
  731. }
  732. T0* r709base_class(T709* C){
  733. T0* R=NULL;
  734. T0* _bcn=NULL;
  735. _bcn=(((T709*)C))->_base_class_name/*4*/;
  736. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  737. R=r451base_class(((T451*)_bcn));
  738. }
  739. else {
  740. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  741. r7append(((T7*)(oBC683explanation)),b1);
  742. }/*]*/
  743. r683add_type((T0*)C,((T0*)ms67_470));
  744. r683print_as_fatal_error(((T683*)(oBC364eh)));
  745. }
  746. /*FI*/return R;
  747. }
  748. /*No:TYPE_ARRAY.call_gc_sweep_in*/
  749. /*No:TYPE_ARRAY.gc_define2*/
  750. /*No:TYPE_ARRAY.need_gc_mark_function*/
  751. void r709standard_gc_define2(T709* C){
  752. int _rcid=0;
  753. T0* _rc=NULL;
  754. _rc=r709run_class(C);
  755. _rcid=(((T355*)((T355*)_rc)))->_id/*4*/;
  756. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  757. r7extend(((T7*)(oBC291header)),'\40');
  758. r7append(((T7*)(oBC291header)),((T0*)ms109_470));
  759. r2append_in(_rcid,oBC291header);
  760. r7extend(((T7*)(oBC291header)),'\50');
  761. r7append(((T7*)(oBC291header)),((T0*)ms105_470));
  762. r2append_in(_rcid,oBC291header);
  763. r7extend(((T7*)(oBC291header)),'\52');
  764. r7extend(((T7*)(oBC291header)),'b');
  765. r7extend(((T7*)(oBC291header)),'\54');
  766. r7append(((T7*)(oBC291header)),((T0*)ms105_470));
  767. r2append_in(_rcid,oBC291header);
  768. r7extend(((T7*)(oBC291header)),'\52');
  769. r7extend(((T7*)(oBC291header)),'h');
  770. r7extend(((T7*)(oBC291header)),'\51');
  771. r7copy(((T7*)(oBC291body)),((T0*)ms15_291));
  772. /*[IRF3.6gc_if_marked_in*/{T0* b1=oBC291body;
  773. r7append(((T7*)b1),((T0*)ms64_291));
  774. }/*]*/
  775. /*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body;
  776. r7append(((T7*)b1),((T0*)ms63_291));
  777. }/*]*/
  778. r7extend(((T7*)(oBC291body)),'\175');
  779. r7append(((T7*)(oBC291body)),((T0*)ms10_470));
  780. r7extend(((T7*)(oBC291body)),'\n');
  781. /*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body;
  782. r7append(((T7*)b1),((T0*)ms65_291));
  783. }/*]*/
  784. r7append(((T7*)(oBC291body)),((T0*)ms16_291));
  785. r709gc_free_in(C,oBC291body);
  786. r7append(((T7*)(oBC291body)),((T0*)ms17_291));
  787. r709gc_free_in(C,oBC291body);
  788. r7append(((T7*)(oBC291body)),((T0*)ms18_291));
  789. /*IF*/{/*AT*/r7append(((T7*)(oBC291body)),((T0*)ms19_291));
  790. r2append_in(_rcid,oBC291body);
  791. r7append(((T7*)(oBC291body)),((T0*)ms134_470));
  792. }
  793. /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms20_291));
  794. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  795. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  796. r7extend(((T7*)(oBC291header)),'\40');
  797. r7append(((T7*)(oBC291header)),((T0*)ms108_470));
  798. r2append_in(_rcid,oBC291header);
  799. r7append(((T7*)(oBC291header)),((T0*)ms97_470));
  800. r7copy(((T7*)(oBC291body)),((T0*)ms21_291));
  801. r2append_in(_rcid,oBC291body);
  802. r7append(((T7*)(oBC291body)),((T0*)ms22_291));
  803. r709gcmt_in(C,oBC291body);
  804. r7extend(((T7*)(oBC291body)),'\53');
  805. r709gcmt_used_in(C,oBC291body);
  806. r7append(((T7*)(oBC291body)),((T0*)ms23_291));
  807. r709gcmt_used_in(C,oBC291body);
  808. r7append(((T7*)(oBC291body)),((T0*)ms24_291));
  809. r7append(((T7*)(oBC291body)),((T0*)ms25_291));
  810. r2append_in(_rcid,oBC291body);
  811. r7append(((T7*)(oBC291body)),((T0*)ms26_291));
  812. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  813. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  814. r7extend(((T7*)(oBC291header)),'\40');
  815. r709gc_mark_in(C,oBC291header);
  816. r7extend(((T7*)(oBC291header)),'\50');
  817. r7extend(((T7*)(oBC291header)),'T');
  818. r2append_in(_rcid,oBC291header);
  819. r7extend(((T7*)(oBC291header)),'\52');
  820. r7extend(((T7*)(oBC291header)),'o');
  821. r7extend(((T7*)(oBC291header)),'\51');
  822. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0);
  823. /*]*/
  824. r709gc_declare_h_in(C,oBC291body);
  825. /*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body;
  826. r7append(((T7*)b1),((T0*)ms65_291));
  827. }/*]*/
  828. /*[IRF3.6gc_set_marked_in*/{T0* b1=oBC291body;
  829. r7append(((T7*)b1),((T0*)ms62_291));
  830. }/*]*/
  831. /*IF*/if (r355gc_mark_to_follow(((T355*)_rc))) {
  832. r355gc_mark_in(((T355*)_rc),oBC291body);
  833. }
  834. /*FI*/r7extend(((T7*)(oBC291body)),'\175');
  835. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  836. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  837. r7extend(((T7*)(oBC291header)),'\40');
  838. r709gc_align_mark_in(C,oBC291header);
  839. r7extend(((T7*)(oBC291header)),'\50');
  840. r7extend(((T7*)(oBC291header)),'T');
  841. r2append_in(_rcid,oBC291header);
  842. r7extend(((T7*)(oBC291header)),'\52');
  843. r7extend(((T7*)(oBC291header)),'o');
  844. r7extend(((T7*)(oBC291header)),'\54');
  845. r7append(((T7*)(oBC291header)),((T0*)ms105_470));
  846. r2append_in(_rcid,oBC291header);
  847. r7extend(((T7*)(oBC291header)),'\52');
  848. r7extend(((T7*)(oBC291header)),'B');
  849. r7extend(((T7*)(oBC291header)),'\51');
  850. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0);
  851. /*]*/
  852. r709gc_declare_h_in(C,oBC291body);
  853. r7append(((T7*)(oBC291body)),((T0*)ms27_291));
  854. r709gc_mark_in(C,oBC291body);
  855. r7append(((T7*)(oBC291body)),((T0*)ms28_291));
  856. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  857. r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
  858. r7extend(((T7*)(oBC291header)),'\40');
  859. r7append(((T7*)(oBC291header)),((T0*)ms116_470));
  860. r2append_in(_rcid,oBC291header);
  861. r7append(((T7*)(oBC291header)),((T0*)ms97_470));
  862. r7copy(((T7*)(oBC291body)),((T0*)ms29_291));
  863. r2append_in(_rcid,oBC291body);
  864. r7append(((T7*)(oBC291body)),((T0*)ms30_291));
  865. r709gcmt_used_in(C,oBC291body);
  866. r7append(((T7*)(oBC291body)),((T0*)ms31_291));
  867. /*IF*/if (r355is_tagged(((T355*)_rc))) {
  868. r7append(((T7*)(oBC291body)),((T0*)ms32_291));
  869. r2append_in(_rcid,oBC291body);
  870. r7append(((T7*)(oBC291body)),((T0*)ms134_470));
  871. }
  872. /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms33_291));
  873. r709gcmt_max_in(C,oBC291body);
  874. r7append(((T7*)(oBC291body)),((T0*)ms34_291));
  875. r709gcmt_max_in(C,oBC291body);
  876. r7append(((T7*)(oBC291body)),((T0*)ms35_291));
  877. r709gcmt_in(C,oBC291body);
  878. r7append(((T7*)(oBC291body)),((T0*)ms36_291));
  879. r709gcmt_in(C,oBC291body);
  880. r7append(((T7*)(oBC291body)),((T0*)ms37_291));
  881. r709gcmt_max_in(C,oBC291body);
  882. r7append(((T7*)(oBC291body)),((T0*)ms38_291));
  883. r709gcmt_in(C,oBC291body);
  884. r7append(((T7*)(oBC291body)),((T0*)ms39_291));
  885. r709gc_free_in(C,oBC291body);
  886. r7append(((T7*)(oBC291body)),((T0*)ms40_291));
  887. r7append(((T7*)(oBC291body)),((T0*)ms41_291));
  888. r709gc_align_mark_in(C,oBC291body);
  889. r7append(((T7*)(oBC291body)),((T0*)ms42_291));
  890. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  891. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291header)))))->_count)=(0);
  892. /*]*/
  893. r7extend(((T7*)(oBC291header)),'T');
  894. r2append_in(_rcid,oBC291header);
  895. r7extend(((T7*)(oBC291header)),'\52');
  896. r7append(((T7*)(oBC291header)),((T0*)ms115_470));
  897. r2append_in(_rcid,oBC291header);
  898. r7append(((T7*)(oBC291header)),((T0*)ms97_470));
  899. r7copy(((T7*)(oBC291body)),((T0*)ms105_470));
  900. r2append_in(_rcid,oBC291body);
  901. r7append(((T7*)(oBC291body)),((T0*)ms43_291));
  902. /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
  903. r709gc_info_nb_in(C,oBC291body);
  904. r7append(((T7*)(oBC291body)),((T0*)ms44_291));
  905. }
  906. /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms45_291));
  907. r709gc_free_in(C,oBC291body);
  908. r7append(((T7*)(oBC291body)),((T0*)ms46_291));
  909. r2append_in(r548threshold_start(_rcid),oBC291body);
  910. r7extend(((T7*)(oBC291body)),'\74');
  911. r709gcmt_used_in(C,oBC291body);
  912. r7append(((T7*)(oBC291body)),((T0*)ms47_291));
  913. r7append(((T7*)(oBC291body)),((T0*)ms89_470));
  914. r709gc_free_in(C,oBC291body);
  915. r7append(((T7*)(oBC291body)),((T0*)ms48_291));
  916. r2append_in(_rcid,oBC291body);
  917. r7append(((T7*)(oBC291body)),((T0*)ms49_291));
  918. r709gc_free_in(C,oBC291body);
  919. r7append(((T7*)(oBC291body)),((T0*)ms50_291));
  920. r709gc_free_in(C,oBC291body);
  921. r7append(((T7*)(oBC291body)),((T0*)ms51_291));
  922. /*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body;
  923. r7append(((T7*)b1),((T0*)ms63_291));
  924. }/*]*/
  925. r7append(((T7*)(oBC291body)),((T0*)ms52_291));
  926. r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
  927. }
  928. /*No:TYPE_ARRAY.is_any*/
  929. /*No:TYPE_ARRAY.to_reference*/
  930. /*No:TYPE_ARRAY.c_header_pass3*/
  931. /*No:TYPE_ARRAY.fz_new_pool*/
  932. /*No:TYPE_ARRAY.us_upper*/
  933. /*No:TYPE_ARRAY.base_class_name*/
  934. /*No:TYPE_ARRAY.is_expanded*/
  935. void r709standard_call_gc_sweep_in(T709* C,T0* a1){
  936. r7append(((T7*)a1),((T0*)ms108_470));
  937. r2append_in(r709id(C),a1);
  938. r7extend(((T7*)a1),'\50');
  939. r7extend(((T7*)a1),'\51');
  940. r7append(((T7*)a1),((T0*)ms134_470));
  941. }
  942. /*No:TYPE_ARRAY.gc_if_unmarked_in*/
  943. /*No:TYPE_ARRAY.is_basic_eiffel_expanded*/
  944. /*No:TYPE_ARRAY.is_none*/
  945. /*No:TYPE_ARRAY.to_expanded*/
  946. /*No:TYPE_ARRAY.is_integer*/
  947. void r709make_runnable(T709* C,T0* a1,T0* a2){
  948. r709make(C,a1,a2);
  949. C->_run_type=(T0*)C;
  950. }
  951. void r709c_header_pass4(T709* C){
  952. r709standard_c_struct(C);
  953. r709standard_c_object_model(C);
  954. }
  955. /*No:TYPE_ARRAY.fz_struct*/
  956. /*No:E_OLD.id*/
  957. T0* r664add_comment(T664* C,T0* a1){
  958. T0* R=NULL;
  959. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  960. R=(T0*)C;
  961. }
  962. else {
  963. {T529*n=malloc(sizeof(*n));
  964. *n=M529;
  965. r529make(n,(T0*)C,a1);
  966. R=(T0*)n;
  967. }
  968. }
  969. /*FI*/return R;
  970. }
  971. int r664to_integer(T664* C){
  972. int R=0;
  973. r664error(r664start_position(C),((T0*)ms69_470));
  974. return R;
  975. }
  976. int r664is_a(T664* C,T0* a1){
  977. int R=0;
  978. R=X291is_a(X291run_type(r664result_type(C)),X291run_type(X662result_type(a1)));
  979. /*IF*/if (!(R)) {
  980. r683add_position(r664start_position(C));
  981. r664error(X662start_position(a1),((T0*)ms4_662));
  982. }
  983. /*FI*/return R;
  984. }
  985. /*No:E_OLD.is_current*/
  986. /*No:E_OLD.mapping_c_arg*/
  987. /*No:E_OLD.static_value*/
  988. /*No:E_OLD.make*/
  989. /*No:E_OLD.mapping_c_target*/
  990. /*No:E_OLD.fz_iinaiv*/
  991. /*No:E_OLD.expression*/
  992. /*No:E_OLD.dca_inline_argument*/
  993. T0* r664start_position(T664* C){
  994. T0* R=NULL;
  995. R=X662start_position((((T664*)C))->_expression/*12*/);
  996. return R;
  997. }
  998. void r664compile_to_c(T664* C){
  999. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1000. char b1='o';
  1001. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1002. }/*]*/
  1003. /*]*/
  1004. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T664*)C))->_id/*16*/);
  1005. /*]*/
  1006. }
  1007. /*No:E_OLD.c_simple*/
  1008. /*No:E_OLD.fz_00*/
  1009. T0* r664to_runnable(T664* C,T0* a1){
  1010. T0* R=NULL;
  1011. T0* _exp=NULL;
  1012. /*IF*/if (((((T664*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1013. C->_current_type=a1;
  1014. _exp=X662to_runnable((((T664*)C))->_expression/*12*/,a1);
  1015. /*IF*/if ((_exp)==((void*)(NULL))) {
  1016. r664error(r664start_position(C),((T0*)ms1_664));
  1017. }
  1018. else {
  1019. C->_expression=_exp;
  1020. }
  1021. /*FI*/r417increment(((T417*)(oBC664id_counter)));
  1022. C->_id=(((T417*)((T417*)(oBC664id_counter))))->_value/*0*/;
  1023. R=(T0*)C;
  1024. }
  1025. else {
  1026. {T664*n=malloc(sizeof(*n));
  1027. *n=M664;
  1028. /*[IRF3.3make*/((((T664*)(n)))->_expression)=((((T664*)C))->_expression/*12*/);
  1029. /*]*/
  1030. R=(T0*)n;
  1031. }
  1032. R=r664to_runnable(((T664*)R),a1);
  1033. }
  1034. /*FI*/return R;
  1035. }
  1036. T0* r664result_type(T664* C){
  1037. T0* R=NULL;
  1038. R=X662result_type((((T664*)C))->_expression/*12*/);
  1039. return R;
  1040. }
  1041. /*No:E_OLD.is_result*/
  1042. /*No:E_OLD.is_static*/
  1043. T0*oBC664tmp_string=NULL;
  1044. /*No:E_OLD.can_be_dropped*/
  1045. /*No:E_OLD.current_type*/
  1046. void r664compile_to_c_old(T664* C){
  1047. T0* _t=NULL;
  1048. _t=X291run_type(r664result_type(C));
  1049. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC664tmp_string)))))->_count)=(0);
  1050. /*]*/
  1051. X291c_type_for_argument_in(_t,oBC664tmp_string);
  1052. r7extend(((T7*)(oBC664tmp_string)),'\40');
  1053. r7extend(((T7*)(oBC664tmp_string)),'o');
  1054. r2append_in((((T664*)C))->_id/*16*/,oBC664tmp_string);
  1055. r7extend(((T7*)(oBC664tmp_string)),'\75');
  1056. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC664tmp_string);
  1057. /*]*/
  1058. X662mapping_c_arg((((T664*)C))->_expression/*12*/,_t);
  1059. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
  1060. /*]*/
  1061. }
  1062. /*No:E_OLD.static_value_mem*/
  1063. /*No:E_OLD.is_manifest_string*/
  1064. /*No:E_OLD.is_void*/
  1065. /*No:E_OLD.is_pre_computable*/
  1066. int r664use_current(T664* C){
  1067. int R=0;
  1068. R=X662use_current((((T664*)C))->_expression/*12*/);
  1069. return R;
  1070. }
  1071. void r664error(T0* a1,T0* a2){
  1072. r683add_position(a1);
  1073. r683error(((T683*)(oBC364eh)),a2);
  1074. }
  1075. /*No:E_OLD.isa_dca_inline_argument*/
  1076. T0*oBC664id_counter=NULL;
  1077. void r664afd_check(T664* C){
  1078. X662afd_check((((T664*)C))->_expression/*12*/);
  1079. }
  1080. /*No:CST_ATT_CHARACTER.arguments*/
  1081. T0* r554try_to_undefine(T554* C,T0* a1,T0* a2){
  1082. T0* R=NULL;
  1083. X776undefine_in(a1,a2);
  1084. R=r554try_to_undefine_aux(C,a1,a2);
  1085. /*IF*/if ((R)!=((void*)(NULL))) {
  1086. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T554*)C))->_clients/*20*/);
  1087. /*]*/
  1088. }
  1089. else {
  1090. r605fatal_undefine(((T605*)a2),a1);
  1091. }
  1092. /*FI*/return R;
  1093. }
  1094. /*No:CST_ATT_CHARACTER.is_deferred*/
  1095. void r554add_into(T554* C,T0* a1){
  1096. T0* _fn=NULL;
  1097. int _i=0;
  1098. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  1099. _i=1;
  1100. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1101. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  1102. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  1103. _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1104. r683add_position(X776start_position(_fn));
  1105. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  1106. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  1107. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  1108. r7append(((T7*)(oBC683explanation)),b1);
  1109. }/*]*/
  1110. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1111. }
  1112. else {
  1113. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  1114. }
  1115. /*FI*/_i=(_i)+(1);
  1116. }
  1117. }
  1118. T0* r554try_to_undefine_aux(T554* C,T0* a1,T0* a2){
  1119. T0* R=NULL;
  1120. r683add_position(r554start_position(C));
  1121. r554error(X776start_position(a1),((T0*)ms1_308));
  1122. r605fatal_undefine(((T605*)a2),a1);
  1123. return R;
  1124. }
  1125. void r554make(T554* C,T0* a1,T0* a2,T0* a3){
  1126. r554make_e_feature(C,a1,a2);
  1127. C->_value_mem=a3;
  1128. }
  1129. /*No:CST_ATT_CHARACTER.nb_errors*/
  1130. /*No:CST_ATT_CHARACTER.set_header_comment*/
  1131. T0* r554start_position(T554* C){
  1132. T0* R=NULL;
  1133. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1134. return R;
  1135. }
  1136. T0* r554to_run_feature(T554* C,T0* a1,T0* a2){
  1137. T0* R=NULL;
  1138. T0* _rc=NULL;
  1139. _rc=X291run_class(a1);
  1140. R=r355at(((T355*)_rc),a2);
  1141. if(NULL!=(R))switch(((T0*)R)->id) {
  1142. case 808: 
  1143. break;
  1144. default:
  1145. R=NULL;
  1146. };/*IF*/if ((R)==((void*)(NULL))) {
  1147. {T808*n=malloc(sizeof(*n));
  1148. *n=M808;
  1149. r808make(n,a1,a2,(T0*)C);
  1150. R=(T0*)n;
  1151. }
  1152. }
  1153. /*FI*/return R;
  1154. }
  1155. /*No:CST_ATT_CHARACTER.ensure_assertion*/
  1156. /*No:CST_ATT_CHARACTER.code_require*/
  1157. /*No:CST_ATT_CHARACTER.result_type*/
  1158. /*No:CST_ATT_CHARACTER.em1*/
  1159. /*No:CST_ATT_CHARACTER.set_clients*/
  1160. /*No:CST_ATT_CHARACTER.em2*/
  1161. /*No:CST_ATT_CHARACTER.value*/
  1162. /*No:CST_ATT_CHARACTER.require_assertion*/
  1163. /*No:CST_ATT_CHARACTER.names*/
  1164. /*No:CST_ATT_CHARACTER.value_mem*/
  1165. /*No:CST_ATT_CHARACTER.stupid_switch*/
  1166. int r554can_hide(T554* C,T0* a1,T0* a2){
  1167. int R=0;
  1168. /*IF*/if (((((T554*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1169. /*IF*/if ((((((T554*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1170. r683add_position(X359start_position(a1));
  1171. r554error(r554start_position(C),((T0*)ms5_359));
  1172. }
  1173. /*FI*/}
  1174. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  1175. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  1176. r554error(r554start_position(C),((T0*)ms6_359));
  1177. }
  1178. /*FI*/}
  1179. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1180. /*IF*/if (((((T554*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1181. /*IF*/if (!(X291is_a_in((((T554*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1182. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1183. r7append(((T7*)(oBC683explanation)),b1);
  1184. }/*]*/
  1185. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
  1186. r7append(((T7*)(oBC683explanation)),b1);
  1187. }/*]*/
  1188. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1189. }
  1190. /*FI*/}
  1191. /*FI*/}
  1192. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1193. /*IF*//*AF*//*AE*/
  1194. /*FI*/}
  1195. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1196. return R;
  1197. }
  1198. /*No:CST_ATT_CHARACTER.header_comment*/
  1199. int r554is_merge_with(T554* C,T0* a1,T0* a2){
  1200. int R=0;
  1201. /*IF*/if (((((T554*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1202. /*IF*/if ((((((T554*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1203. r683add_position(X359start_position(a1));
  1204. r554error(r554start_position(C),((T0*)ms2_359));
  1205. }
  1206. /*FI*/}
  1207. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  1208. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  1209. r554error(r554start_position(C),((T0*)ms3_359));
  1210. }
  1211. /*FI*/}
  1212. /*FI*//*IF*/if (((((T554*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1213. /*IF*/if (!(X291is_a_in((((T554*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1214. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  1215. }
  1216. /*FI*/}
  1217. /*FI*//*IF*//*AF*//*AE*/
  1218. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1219. return R;
  1220. }
  1221. /*No:CST_ATT_CHARACTER.fz_dot*/
  1222. /*No:CST_ATT_CHARACTER.first_name*/
  1223. /*No:CST_ATT_CHARACTER.clients*/
  1224. void r554collect_for(int a1){
  1225. /*IF*/if ((a1)==(1001)) {
  1226. /*IF*//*AF*//*AE*/
  1227. /*FI*/}
  1228. else {
  1229. /*IF*//*AF*//*AE*/
  1230. /*FI*/}
  1231. /*FI*/}
  1232. void r554error(T0* a1,T0* a2){
  1233. r683add_position(a1);
  1234. r683error(((T683*)(oBC364eh)),a2);
  1235. }
  1236. /*No:CST_ATT_CHARACTER.base_class*/
  1237. /*No:CST_ATT_CHARACTER.base_class_name*/
  1238. void r554make_e_feature(T554* C,T0* a1,T0* a2){
  1239. C->_names=a1;
  1240. C->_result_type=a2;
  1241. }
  1242. /*No:CALL_INFIX_POWER.arguments*/
  1243. T0* r557add_comment(T557* C,T0* a1){
  1244. T0* R=NULL;
  1245. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1246. R=(T0*)C;
  1247. }
  1248. else {
  1249. {T529*n=malloc(sizeof(*n));
  1250. *n=M529;
  1251. r529make(n,(T0*)C,a1);
  1252. R=(T0*)n;
  1253. }
  1254. }
  1255. /*FI*/return R;
  1256. }
  1257. int r557to_integer(T557* C){
  1258. int R=0;
  1259. r557error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T557*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1260. return R;
  1261. }
  1262. int r557is_a(T557* C,T0* a1){
  1263. int R=0;
  1264. R=X291is_a(X291run_type((((T557*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  1265. /*IF*/if (!(R)) {
  1266. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T557*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
  1267. r557error(X662start_position(a1),((T0*)ms4_662));
  1268. }
  1269. /*FI*/return R;
  1270. }
  1271. /*No:CALL_INFIX_POWER.is_current*/
  1272. void r557mapping_c_arg(T557* C,T0* a1){
  1273. T0* _actual_type=NULL;
  1274. _actual_type=X291run_type((((T557*)C))->_result_type/*20*/);
  1275. /*IF*/if (X291is_reference(_actual_type)) {
  1276. /*IF*/if (X291is_reference(a1)) {
  1277. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1278. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1279. }/*]*/
  1280. /*]*/
  1281. }
  1282. else {
  1283. X291to_expanded(_actual_type);
  1284. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1285. char b1='\50';
  1286. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1287. }/*]*/
  1288. /*]*/
  1289. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1290. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1291. }/*]*/
  1292. /*]*/
  1293. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1294. char b1='\51';
  1295. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1296. }/*]*/
  1297. /*]*/
  1298. }
  1299. /*FI*/}
  1300. else {
  1301. /*IF*/if (X291is_reference(a1)) {
  1302. X291to_reference(_actual_type);
  1303. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1304. char b1='\50';
  1305. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1306. }/*]*/
  1307. /*]*/
  1308. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1309. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1310. }/*]*/
  1311. /*]*/
  1312. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1313. char b1='\51';
  1314. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1315. }/*]*/
  1316. /*]*/
  1317. }
  1318. else {
  1319. /*IF*/if (X291need_c_struct(a1)) {
  1320. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1321. char b1='\46';
  1322. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1323. }/*]*/
  1324. /*]*/
  1325. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1326. char b1='\50';
  1327. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1328. }/*]*/
  1329. /*]*/
  1330. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1331. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1332. }/*]*/
  1333. /*]*/
  1334. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1335. char b1='\51';
  1336. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1337. }/*]*/
  1338. /*]*/
  1339. }
  1340. else {
  1341. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1342. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1343. }/*]*/
  1344. /*]*/
  1345. }
  1346. /*FI*/}
  1347. /*FI*/}
  1348. /*FI*/}
  1349. /*No:CALL_INFIX_POWER.static_value*/
  1350. void r557make(T557* C,T0* a1,T0* a2,T0* a3){
  1351. T0* _eal=NULL;
  1352. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  1353. r683add_position(a2);
  1354. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  1355. r683fatal_error(((T683*)(oBC364eh)),b1);
  1356. }/*]*/
  1357. }
  1358. /*FI*/{T454*n=malloc(sizeof(*n));
  1359. *n=M454;
  1360. r454make(n,r557operator(),a2);
  1361. C->_feature_name=(T0*)n;
  1362. }
  1363. {T431*n=malloc(sizeof(*n));
  1364. *n=M431;
  1365. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  1366. /*]*/
  1367. _eal=(T0*)n;
  1368. }
  1369. r557make_call_1(C,a1,(((T557*)C))->_feature_name/*28*/,_eal);
  1370. }
  1371. void r557mapping_c_target(T557* C,T0* a1){
  1372. T0* _actual_type=NULL;
  1373. int _flag=0;
  1374. _flag=r324call_invariant_start(a1);
  1375. _actual_type=X291run_type((((T557*)C))->_result_type/*20*/);
  1376. /*IF*/if (X291is_reference(_actual_type)) {
  1377. /*IF*/if (X291is_reference(a1)) {
  1378. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1379. char b1='\50';
  1380. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1381. }/*]*/
  1382. /*]*/
  1383. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1384. char b1='\50';
  1385. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1386. }/*]*/
  1387. /*]*/
  1388. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1389. char b1='T';
  1390. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1391. }/*]*/
  1392. /*]*/
  1393. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  1394. /*]*/
  1395. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1396. char b1='\52';
  1397. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1398. }/*]*/
  1399. /*]*/
  1400. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1401. char b1='\51';
  1402. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1403. }/*]*/
  1404. /*]*/
  1405. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1406. char b1='\50';
  1407. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1408. }/*]*/
  1409. /*]*/
  1410. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1411. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1412. }/*]*/
  1413. /*]*/
  1414. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1415. char b1='\51';
  1416. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1417. }/*]*/
  1418. /*]*/
  1419. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1420. char b1='\51';
  1421. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1422. }/*]*/
  1423. /*]*/
  1424. }
  1425. else {
  1426. X291to_expanded(_actual_type);
  1427. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1428. char b1='\50';
  1429. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1430. }/*]*/
  1431. /*]*/
  1432. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1433. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1434. }/*]*/
  1435. /*]*/
  1436. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1437. char b1='\51';
  1438. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1439. }/*]*/
  1440. /*]*/
  1441. }
  1442. /*FI*/}
  1443. else {
  1444. /*IF*/if (X291is_reference(a1)) {
  1445. X291to_reference(_actual_type);
  1446. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1447. char b1='\50';
  1448. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1449. }/*]*/
  1450. /*]*/
  1451. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1452. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1453. }/*]*/
  1454. /*]*/
  1455. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1456. char b1='\51';
  1457. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1458. }/*]*/
  1459. /*]*/
  1460. }
  1461. else {
  1462. /*IF*/if (X291need_c_struct(a1)) {
  1463. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1464. char b1='\46';
  1465. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1466. }/*]*/
  1467. /*]*/
  1468. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1469. char b1='\50';
  1470. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1471. }/*]*/
  1472. /*]*/
  1473. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1474. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1475. }/*]*/
  1476. /*]*/
  1477. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1478. char b1='\51';
  1479. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1480. }/*]*/
  1481. /*]*/
  1482. }
  1483. else {
  1484. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* C1=C;
  1485. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1486. }/*]*/
  1487. /*]*/
  1488. }
  1489. /*FI*/}
  1490. /*FI*/}
  1491. /*FI*//*IF*/if (_flag) {
  1492. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1493. char b1='\51';
  1494. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1495. }/*]*/
  1496. /*]*/
  1497. }
  1498. /*FI*/}
  1499. /*No:CALL_INFIX_POWER.nb_errors*/
  1500. /*No:CALL_INFIX_POWER.feature_name*/
  1501. /*No:CALL_INFIX_POWER.fz_iinaiv*/
  1502. /*No:CALL_INFIX_POWER.arg_count*/
  1503. /*No:CALL_INFIX_POWER.dca_inline_argument*/
  1504. /*No:CALL_INFIX_POWER.run_feature*/
  1505. /*No:CALL_INFIX_POWER.call_proc_call_c2c*/
  1506. /*No:CALL_INFIX_POWER.start_position*/
  1507. /*No:CALL_INFIX_POWER.target*/
  1508. /*No:CALL_INFIX_POWER.compile_to_c*/
  1509. /*No:CALL_INFIX_POWER.c_simple*/
  1510. T0* r557to_runnable(T557* C,T0* a1){
  1511. T0* R=NULL;
  1512. T0* _tla=NULL;
  1513. T0* _a=NULL;
  1514. /*IF*/if (((((T557*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1515. r557to_runnable_0(C,a1);
  1516. _a=X431to_runnable((((T557*)C))->_arguments/*24*/,a1);
  1517. /*IF*/if ((_a)==((void*)(NULL))) {
  1518. r557error(X662start_position(r557arg1(C)),((T0*)ms55_470));
  1519. }
  1520. else {
  1521. C->_arguments=_a;
  1522. }
  1523. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1524. X431match_with((((T557*)C))->_arguments/*24*/,(((T557*)C))->_run_feature/*16*/);
  1525. }
  1526. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1527. _tla=(((T557*)C))->_result_type/*20*/;
  1528. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1529. case 239: 
  1530. break;
  1531. default:
  1532. _tla=NULL;
  1533. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  1534. C->_result_type=X291run_type(X662result_type(r557arg1(C)));
  1535. }
  1536. /*FI*/}
  1537. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1538. R=(T0*)C;
  1539. }
  1540. /*FI*/}
  1541. else {
  1542. R=r557twin(C);
  1543. /*[IRF3.3set_current_type*/((((T557*)(((T557*)R))))->_current_type)=(NULL);
  1544. /*]*/
  1545. R=r557to_runnable(((T557*)R),a1);
  1546. }
  1547. /*FI*/return R;
  1548. }
  1549. /*No:CALL_INFIX_POWER.result_type*/
  1550. /*No:CALL_INFIX_POWER.is_result*/
  1551. T0* r557twin(T557* C){
  1552. T0* R=NULL;
  1553. R=malloc(sizeof(*C));
  1554. *((T557*)R)=*C;
  1555. return R;
  1556. }
  1557. /*No:CALL_INFIX_POWER.set_current_type*/
  1558. T0* r557operator(void){
  1559. T0* R=NULL;
  1560. R=((T0*)ms44_473);
  1561. return R;
  1562. }
  1563. int r557is_static(T557* C){
  1564. int R=0;
  1565. /*IF*/if (X291is_integer((((T557*)C))->_result_type/*20*/)) {
  1566. /*IF*/if ((X662is_static((((T557*)C))->_target/*12*/))&&(X662is_static(r557arg1(C)))) {
  1567. R=1;
  1568. C->_static_value_mem=r2_px_94(X662static_value((((T557*)C))->_target/*12*/),X662static_value(r557arg1(C)));
  1569. }
  1570. /*FI*/}
  1571. /*FI*/return R;
  1572. }
  1573. /*No:CALL_INFIX_POWER.fz_07*/
  1574. /*No:CALL_INFIX_POWER.can_be_dropped*/
  1575. /*No:CALL_INFIX_POWER.current_type*/
  1576. void r557compile_to_c_old(T557* C){
  1577. X662compile_to_c_old((((T557*)C))->_target/*12*/);
  1578. /*IF*/{/*AT*/X431compile_to_c_old((((T557*)C))->_arguments/*24*/);
  1579. }
  1580. /*FI*/}
  1581. /*No:CALL_INFIX_POWER.static_value_mem*/
  1582. void r557make_call_1(T557* C,T0* a1,T0* a2,T0* a3){
  1583. C->_target=a1;
  1584. C->_feature_name=a2;
  1585. C->_arguments=a3;
  1586. }
  1587. /*No:CALL_INFIX_POWER.is_manifest_string*/
  1588. /*No:CALL_INFIX_POWER.is_void*/
  1589. void r557to_runnable_0(T557* C,T0* a1){
  1590. C->_current_type=a1;
  1591. r557cpc_to_runnable(C,a1);
  1592. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T557*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  1593. /*IF*/if (((((T557*)C))->_result_type/*20*/)==((void*)(NULL))) {
  1594. r683add_position(X496start_position((((T557*)C))->_run_feature/*16*/));
  1595. r557error((((T454*)((T454*)((((T557*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
  1596. }
  1597.  else if (X291is_like_current((((T557*)C))->_result_type/*20*/)) {
  1598. C->_result_type=X662result_type((((T557*)C))->_target/*12*/);
  1599. }
  1600. /*FI*/}
  1601. /*No:CALL_INFIX_POWER.is_pre_computable*/
  1602. void r557cpc_to_runnable(T557* C,T0* a1){
  1603. T0* _rc=NULL;
  1604. T0* _t=NULL;
  1605. _t=X662to_runnable((((T557*)C))->_target/*12*/,a1);
  1606. /*IF*/if ((_t)==((void*)(NULL))) {
  1607. r683add_position(X662start_position((((T557*)C))->_target/*12*/));
  1608. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1609. r683fatal_error(((T683*)(oBC364eh)),b1);
  1610. }/*]*/
  1611. }
  1612. /*FI*/C->_target=_t;
  1613. _rc=X291run_class(X662result_type((((T557*)C))->_target/*12*/));
  1614. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  1615. r576update((((T557*)C))->_target/*12*/,(((T557*)C))->_run_feature/*16*/);
  1616. }
  1617. int r557use_current(T557* C){
  1618. int R=0;
  1619. /*IF*/{/*AT*/R=X431use_current((((T557*)C))->_arguments/*24*/);
  1620. }
  1621. /*FI*//*IF*/if (R) {
  1622. }
  1623.  else if (X662is_current((((T557*)C))->_target/*12*/)) {
  1624. R=X496use_current((((T557*)C))->_run_feature/*16*/);
  1625. }
  1626. else {
  1627. R=X662use_current((((T557*)C))->_target/*12*/);
  1628. }
  1629. /*FI*/return R;
  1630. }
  1631. void r557finalize(T557* C){
  1632. T0* _rf=NULL;
  1633. T0* _rc=NULL;
  1634. _rf=(((T557*)C))->_run_feature/*16*/;
  1635. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  1636. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  1637. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  1638. C->_run_feature=_rf;
  1639. }
  1640. /*FI*/}
  1641. void r557error(T0* a1,T0* a2){
  1642. r683add_position(a1);
  1643. r683error(((T683*)(oBC364eh)),a2);
  1644. }
  1645. /*No:CALL_INFIX_POWER.isa_dca_inline_argument*/
  1646. /*No:CALL_INFIX_POWER.fatal_error*/
  1647. /*No:CALL_INFIX_POWER.fz_bad_argument*/
  1648. T0* r557arg1(T557* C){
  1649. T0* R=NULL;
  1650. R=X431first((((T557*)C))->_arguments/*24*/);
  1651. return R;
  1652. }
  1653. /*No:CALL_INFIX_POWER.us_pow*/
  1654. void r557afd_check(T557* C){
  1655. T0* _running=NULL;
  1656. T0* _rc=NULL;
  1657. _rc=X291run_class(X662result_type((((T557*)C))->_target/*12*/));
  1658. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  1659. /*IF*/if ((_running)==((void*)(NULL))) {
  1660. r683add_position(X662start_position((((T557*)C))->_target/*12*/));
  1661. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  1662. r7append(((T7*)(oBC683explanation)),b1);
  1663. }/*]*/
  1664. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  1665. r7append(((T7*)(oBC683explanation)),b1);
  1666. }/*]*/
  1667. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  1668. r7append(((T7*)(oBC683explanation)),b1);
  1669. }/*]*/
  1670. r683print_as_warning(((T683*)(oBC364eh)));
  1671. r355set_at_run_time(((T355*)_rc));
  1672. }
  1673.  else if ((r396count(((T396*)_running)))>(0)) {
  1674. r576update((((T557*)C))->_target/*12*/,(((T557*)C))->_run_feature/*16*/);
  1675. }
  1676. /*FI*/X662afd_check((((T557*)C))->_target/*12*/);
  1677. /*IF*/{/*AT*/X431afd_check((((T557*)C))->_arguments/*24*/);
  1678. }
  1679. /*FI*/}
  1680. /*No:MANIFEST_ARRAY_POOL.c_define*/
  1681. void r94c_call(T0* a1){
  1682. int _id=0;
  1683. _id=X291id(a1);
  1684. /*IF*/if (!(r79has(((T79*)(oBC94manifest_array_types)),_id))) {
  1685. r79put(((T79*)(oBC94manifest_array_types)),a1,_id);
  1686. }
  1687. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_94));
  1688. /*]*/
  1689. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),_id);
  1690. /*]*/
  1691. }
  1692. T0*oBC94manifest_array_types=NULL;
  1693. /*No:MANIFEST_ARRAY_POOL.fz_t0_star*/
  1694. T0*oBC94header=NULL;
  1695. /*No:MANIFEST_ARRAY_POOL.fz_sizeof*/
  1696. /*No:MANIFEST_ARRAY_POOL.fz_00*/
  1697. /*No:MANIFEST_ARRAY_POOL.fz_new*/
  1698. T0*oBC94body=NULL;
  1699. /*No:MANIFEST_ARRAY_POOL.us_se_ma*/
  1700. /*No:MANIFEST_ARRAY_POOL.fz_void*/
  1701. /*No:MANIFEST_ARRAY_POOL.us_malloc*/
  1702. void r94c_define_for(T0* a1){
  1703. T0* _elt_type=NULL;
  1704. int _elt_id=0;
  1705. int _ma_id=0;
  1706. _ma_id=X291id(a1);
  1707. _elt_type=X291run_type(r701item(((T701*)(X291generic_list(a1))),1));
  1708. _elt_id=X291id(_elt_type);
  1709. r7copy(((T7*)(oBC94header)),((T0*)ms133_470));
  1710. r7extend(((T7*)(oBC94header)),'\52');
  1711. r7append(((T7*)(oBC94header)),((T0*)ms1_94));
  1712. r2append_in(_ma_id,oBC94header);
  1713. r7append(((T7*)(oBC94header)),((T0*)ms2_94));
  1714. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC94body)))))->_count)=(0);
  1715. /*]*/
  1716. r7extend(((T7*)(oBC94body)),'T');
  1717. r2append_in(_ma_id,oBC94body);
  1718. r7append(((T7*)(oBC94body)),((T0*)ms3_94));
  1719. /*IF*/if (X291is_reference(_elt_type)) {
  1720. r7append(((T7*)(oBC94body)),((T0*)ms128_470));
  1721. }
  1722. else {
  1723. r7extend(((T7*)(oBC94body)),'T');
  1724. r2append_in(_elt_id,oBC94body);
  1725. }
  1726. /*FI*/r7append(((T7*)(oBC94body)),((T0*)ms4_94));
  1727. /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) {
  1728. r7append(((T7*)(oBC94body)),((T0*)ms115_470));
  1729. r2append_in(_ma_id,oBC94body);
  1730. r7extend(((T7*)(oBC94body)),'\50');
  1731. r7extend(((T7*)(oBC94body)),'\51');
  1732. r7append(((T7*)(oBC94body)),((T0*)ms134_470));
  1733. }
  1734. else {
  1735. r7append(((T7*)(oBC94body)),((T0*)ms88_473));
  1736. r7extend(((T7*)(oBC94body)),'\50');
  1737. r7append(((T7*)(oBC94body)),((T0*)ms123_470));
  1738. r7extend(((T7*)(oBC94body)),'\50');
  1739. r7extend(((T7*)(oBC94body)),'\52');
  1740. r7extend(((T7*)(oBC94body)),'m');
  1741. r7extend(((T7*)(oBC94body)),'\51');
  1742. r7extend(((T7*)(oBC94body)),'\51');
  1743. r7append(((T7*)(oBC94body)),((T0*)ms134_470));
  1744. r7extend(((T7*)(oBC94body)),'\52');
  1745. r7extend(((T7*)(oBC94body)),'m');
  1746. r7extend(((T7*)(oBC94body)),'\75');
  1747. r7extend(((T7*)(oBC94body)),'M');
  1748. r2append_in(_ma_id,oBC94body);
  1749. r7append(((T7*)(oBC94body)),((T0*)ms134_470));
  1750. }
  1751. /*FI*/r7append(((T7*)(oBC94body)),((T0*)ms5_94));
  1752. /*IF*/if (((X291is_integer(_elt_type))||(X291is_boolean(_elt_type)))||(X291is_character(_elt_type))) {
  1753. r7append(((T7*)(oBC94body)),((T0*)ms6_94));
  1754. }
  1755.  else if ((X291is_real(_elt_type))||(X291is_double(_elt_type))) {
  1756. r7append(((T7*)(oBC94body)),((T0*)ms7_94));
  1757. }
  1758.  else if (X291is_user_expanded(_elt_type)) {
  1759. r7append(((T7*)(oBC94body)),((T0*)ms8_94));
  1760. }
  1761. else {
  1762. r7append(((T7*)(oBC94body)),((T0*)ms9_94));
  1763. }
  1764. /*FI*/r7append(((T7*)(oBC94body)),((T0*)ms10_94));
  1765. r324put_c_function(((T324*)(oBC364cpp)),oBC94header,oBC94body);
  1766. }
  1767. /*No:CALL_PREFIX_MINUS.arguments*/
  1768. T0* r72add_comment(T72* C,T0* a1){
  1769. T0* R=NULL;
  1770. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1771. R=(T0*)C;
  1772. }
  1773. else {
  1774. {T529*n=malloc(sizeof(*n));
  1775. *n=M529;
  1776. r529make(n,(T0*)C,a1);
  1777. R=(T0*)n;
  1778. }
  1779. }
  1780. /*FI*/return R;
  1781. }
  1782. int r72to_integer(T72* C){
  1783. int R=0;
  1784. T0* _rf1=NULL;
  1785. _rf1=(((T72*)C))->_run_feature/*16*/;
  1786. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  1787. case 808: 
  1788. break;
  1789. default:
  1790. _rf1=NULL;
  1791. };/*IF*/if ((_rf1)==((void*)(NULL))) {
  1792. r72error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T72*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1793. }
  1794. else {
  1795. R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/);
  1796. }
  1797. /*FI*/return R;
  1798. }
  1799. int r72is_a(T72* C,T0* a1){
  1800. int R=0;
  1801. R=X291is_a(X291run_type((((T72*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  1802. /*IF*/if (!(R)) {
  1803. r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T72*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  1804. r72error(X662start_position(a1),((T0*)ms4_662));
  1805. }
  1806. /*FI*/return R;
  1807. }
  1808. /*No:CALL_PREFIX_MINUS.is_current*/
  1809. void r72mapping_c_arg(T72* C,T0* a1){
  1810. T0* _actual_type=NULL;
  1811. _actual_type=X291run_type((((T72*)C))->_result_type/*20*/);
  1812. /*IF*/if (X291is_reference(_actual_type)) {
  1813. /*IF*/if (X291is_reference(a1)) {
  1814. r72compile_to_c(C);
  1815. }
  1816. else {
  1817. X291to_expanded(_actual_type);
  1818. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1819. char b1='\50';
  1820. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1821. }/*]*/
  1822. /*]*/
  1823. r72compile_to_c(C);
  1824. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1825. char b1='\51';
  1826. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1827. }/*]*/
  1828. /*]*/
  1829. }
  1830. /*FI*/}
  1831. else {
  1832. /*IF*/if (X291is_reference(a1)) {
  1833. X291to_reference(_actual_type);
  1834. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1835. char b1='\50';
  1836. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1837. }/*]*/
  1838. /*]*/
  1839. r72compile_to_c(C);
  1840. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1841. char b1='\51';
  1842. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1843. }/*]*/
  1844. /*]*/
  1845. }
  1846. else {
  1847. /*IF*/if (X291need_c_struct(a1)) {
  1848. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1849. char b1='\46';
  1850. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1851. }/*]*/
  1852. /*]*/
  1853. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1854. char b1='\50';
  1855. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1856. }/*]*/
  1857. /*]*/
  1858. r72compile_to_c(C);
  1859. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1860. char b1='\51';
  1861. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1862. }/*]*/
  1863. /*]*/
  1864. }
  1865. else {
  1866. r72compile_to_c(C);
  1867. }
  1868. /*FI*/}
  1869. /*FI*/}
  1870. /*FI*/}
  1871. /*No:CALL_PREFIX_MINUS.static_value*/
  1872. void r72make(T72* C,T0* a1,T0* a2){
  1873. {T406*n=malloc(sizeof(*n));
  1874. *n=M406;
  1875. r406make(n,r72operator(),a1);
  1876. C->_feature_name=(T0*)n;
  1877. }
  1878. r72make_call0(C,a2,(((T72*)C))->_feature_name/*24*/);
  1879. }
  1880. void r72mapping_c_target(T72* C,T0* a1){
  1881. T0* _actual_type=NULL;
  1882. int _flag=0;
  1883. _flag=r324call_invariant_start(a1);
  1884. _actual_type=X291run_type((((T72*)C))->_result_type/*20*/);
  1885. /*IF*/if (X291is_reference(_actual_type)) {
  1886. /*IF*/if (X291is_reference(a1)) {
  1887. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1888. char b1='\50';
  1889. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1890. }/*]*/
  1891. /*]*/
  1892. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1893. char b1='\50';
  1894. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1895. }/*]*/
  1896. /*]*/
  1897. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1898. char b1='T';
  1899. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1900. }/*]*/
  1901. /*]*/
  1902. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  1903. /*]*/
  1904. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1905. char b1='\52';
  1906. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1907. }/*]*/
  1908. /*]*/
  1909. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1910. char b1='\51';
  1911. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1912. }/*]*/
  1913. /*]*/
  1914. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1915. char b1='\50';
  1916. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1917. }/*]*/
  1918. /*]*/
  1919. r72compile_to_c(C);
  1920. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1921. char b1='\51';
  1922. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1923. }/*]*/
  1924. /*]*/
  1925. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1926. char b1='\51';
  1927. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1928. }/*]*/
  1929. /*]*/
  1930. }
  1931. else {
  1932. X291to_expanded(_actual_type);
  1933. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1934. char b1='\50';
  1935. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1936. }/*]*/
  1937. /*]*/
  1938. r72compile_to_c(C);
  1939. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1940. char b1='\51';
  1941. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1942. }/*]*/
  1943. /*]*/
  1944. }
  1945. /*FI*/}
  1946. else {
  1947. /*IF*/if (X291is_reference(a1)) {
  1948. X291to_reference(_actual_type);
  1949. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1950. char b1='\50';
  1951. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1952. }/*]*/
  1953. /*]*/
  1954. r72compile_to_c(C);
  1955. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1956. char b1='\51';
  1957. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1958. }/*]*/
  1959. /*]*/
  1960. }
  1961. else {
  1962. /*IF*/if (X291need_c_struct(a1)) {
  1963. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1964. char b1='\46';
  1965. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1966. }/*]*/
  1967. /*]*/
  1968. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1969. char b1='\50';
  1970. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1971. }/*]*/
  1972. /*]*/
  1973. r72compile_to_c(C);
  1974. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1975. char b1='\51';
  1976. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1977. }/*]*/
  1978. /*]*/
  1979. }
  1980. else {
  1981. r72compile_to_c(C);
  1982. }
  1983. /*FI*/}
  1984. /*FI*/}
  1985. /*FI*//*IF*/if (_flag) {
  1986. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1987. char b1='\51';
  1988. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1989. }/*]*/
  1990. /*]*/
  1991. }
  1992. /*FI*/}
  1993. /*No:CALL_PREFIX_MINUS.nb_errors*/
  1994. /*No:CALL_PREFIX_MINUS.feature_name*/
  1995. /*No:CALL_PREFIX_MINUS.fz_iinaiv*/
  1996. /*No:CALL_PREFIX_MINUS.arg_count*/
  1997. void r72dca_inline_argument(T72* C,T0* a1){
  1998. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1999. char b1='\55';
  2000. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  2001. }/*]*/
  2002. /*]*/
  2003. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  2004. char b1='\50';
  2005. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  2006. }/*]*/
  2007. /*]*/
  2008. X662dca_inline_argument((((T72*)C))->_target/*12*/,a1);
  2009. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  2010. char b1='\51';
  2011. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  2012. }/*]*/
  2013. /*]*/
  2014. }
  2015. /*No:CALL_PREFIX_MINUS.run_feature*/
  2016. /*No:CALL_PREFIX_MINUS.call_proc_call_c2c*/
  2017. /*No:CALL_PREFIX_MINUS.start_position*/
  2018. /*No:CALL_PREFIX_MINUS.target*/
  2019. void r72compile_to_c(T72* C){
  2020. /*IF*/if ((r590boost(((T590*)(oBC364run_control))))&&(X291is_basic_eiffel_expanded(/*X496*/((T0*)(((T832*)((T832*)((((T72*)C))->_run_feature/*16*/))))->_current_type/*4*/)))) {
  2021. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  2022. char b1='\55';
  2023. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  2024. }/*]*/
  2025. /*]*/
  2026. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  2027. char b1='\50';
  2028. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  2029. }/*]*/
  2030. /*]*/
  2031. X662compile_to_c((((T72*)C))->_target/*12*/);
  2032. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  2033. char b1='\51';
  2034. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  2035. }/*]*/
  2036. /*]*/
  2037. }
  2038. else {
  2039. /*[IRF3.6call_proc_call_c2c*/{T72* C1=C;
  2040. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  2041. }/*]*/
  2042. }
  2043. /*FI*/}
  2044. /*No:CALL_PREFIX_MINUS.c_simple*/
  2045. T0* r72to_runnable(T72* C,T0* a1){
  2046. T0* R=NULL;
  2047. /*IF*/if (((((T72*)C))->_current_type/*8*/)==((void*)(NULL))) {
  2048. r72to_runnable_0(C,a1);
  2049. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T72*)C))->_run_feature/*16*/))>(0))) {
  2050. r683add_position((((T406*)((T406*)((((T72*)C))->_feature_name/*24*/))))->_start_position/*8*/);
  2051. r72error(X496start_position((((T72*)C))->_run_feature/*16*/),((T0*)ms1_752));
  2052. }
  2053. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  2054. R=(T0*)C;
  2055. }
  2056. /*FI*/}
  2057. else {
  2058. R=r72twin(C);
  2059. /*[IRF3.3set_current_type*/((((T72*)(((T72*)R))))->_current_type)=(NULL);
  2060. /*]*/
  2061. R=r72to_runnable(((T72*)R),a1);
  2062. }
  2063. /*FI*/return R;
  2064. }
  2065. /*No:CALL_PREFIX_MINUS.result_type*/
  2066. /*No:CALL_PREFIX_MINUS.is_result*/
  2067. T0* r72twin(T72* C){
  2068. T0* R=NULL;
  2069. R=malloc(sizeof(*C));
  2070. *((T72*)R)=*C;
  2071. return R;
  2072. }
  2073. /*No:CALL_PREFIX_MINUS.set_current_type*/
  2074. T0* r72operator(void){
  2075. T0* R=NULL;
  2076. R=((T0*)ms37_473);
  2077. return R;
  2078. }
  2079. int r72is_static(T72* C){
  2080. int R=0;
  2081. /*IF*/if (X291is_integer(X662result_type((((T72*)C))->_target/*12*/))) {
  2082. /*IF*/if (X662is_static((((T72*)C))->_target/*12*/)) {
  2083. R=1;
  2084. C->_static_value_mem=-(X662static_value((((T72*)C))->_target/*12*/));
  2085. }
  2086. /*FI*/}
  2087. /*FI*/return R;
  2088. }
  2089. /*No:CALL_PREFIX_MINUS.fz_07*/
  2090. int r72can_be_dropped(T72* C){
  2091. int R=0;
  2092. /*IF*/if (X662can_be_dropped((((T72*)C))->_target/*12*/)) {
  2093. R=X496can_be_dropped((((T72*)C))->_run_feature/*16*/);
  2094. }
  2095. /*FI*/return R;
  2096. }
  2097. /*No:CALL_PREFIX_MINUS.us_minus*/
  2098. /*No:CALL_PREFIX_MINUS.current_type*/
  2099. void r72compile_to_c_old(T72* C){
  2100. X662compile_to_c_old((((T72*)C))->_target/*12*/);
  2101. /*IF*//*AF*//*AE*/
  2102. /*FI*/}
  2103. /*No:CALL_PREFIX_MINUS.static_value_mem*/
  2104. /*No:CALL_PREFIX_MINUS.is_manifest_string*/
  2105. /*No:CALL_PREFIX_MINUS.is_void*/
  2106. void r72to_runnable_0(T72* C,T0* a1){
  2107. C->_current_type=a1;
  2108. r72cpc_to_runnable(C,a1);
  2109. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T72*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  2110. /*IF*/if (((((T72*)C))->_result_type/*20*/)==((void*)(NULL))) {
  2111. r683add_position(X496start_position((((T72*)C))->_run_feature/*16*/));
  2112. r72error((((T406*)((T406*)((((T72*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  2113. }
  2114.  else if (X291is_like_current((((T72*)C))->_result_type/*20*/)) {
  2115. C->_result_type=X662result_type((((T72*)C))->_target/*12*/);
  2116. }
  2117. /*FI*/}
  2118. /*No:CALL_PREFIX_MINUS.is_pre_computable*/
  2119. void r72cpc_to_runnable(T72* C,T0* a1){
  2120. T0* _rc=NULL;
  2121. T0* _t=NULL;
  2122. _t=X662to_runnable((((T72*)C))->_target/*12*/,a1);
  2123. /*IF*/if ((_t)==((void*)(NULL))) {
  2124. r683add_position(X662start_position((((T72*)C))->_target/*12*/));
  2125. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  2126. r683fatal_error(((T683*)(oBC364eh)),b1);
  2127. }/*]*/
  2128. }
  2129. /*FI*/C->_target=_t;
  2130. _rc=X291run_class(X662result_type((((T72*)C))->_target/*12*/));
  2131. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  2132. r576update((((T72*)C))->_target/*12*/,(((T72*)C))->_run_feature/*16*/);
  2133. }
  2134. int r72use_current(T72* C){
  2135. int R=0;
  2136. /*IF*//*AF*//*AE*/
  2137. /*FI*//*IF*/if (R) {
  2138. }
  2139.  else if (X662is_current((((T72*)C))->_target/*12*/)) {
  2140. R=X496use_current((((T72*)C))->_run_feature/*16*/);
  2141. }
  2142. else {
  2143. R=X662use_current((((T72*)C))->_target/*12*/);
  2144. }
  2145. /*FI*/return R;
  2146. }
  2147. void r72make_call0(T72* C,T0* a1,T0* a2){
  2148. C->_target=a1;
  2149. C->_feature_name=a2;
  2150. }
  2151. void r72finalize(T72* C){
  2152. T0* _rf=NULL;
  2153. T0* _rc=NULL;
  2154. _rf=(((T72*)C))->_run_feature/*16*/;
  2155. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  2156. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  2157. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  2158. C->_run_feature=_rf;
  2159. }
  2160. /*FI*/}
  2161. void r72error(T0* a1,T0* a2){
  2162. r683add_position(a1);
  2163. r683error(((T683*)(oBC364eh)),a2);
  2164. }
  2165. int r72isa_dca_inline_argument(T72* C){
  2166. int R=0;
  2167. /*IF*/if (X291is_integer((((T72*)C))->_result_type/*20*/)) {
  2168. R=X662isa_dca_inline_argument((((T72*)C))->_target/*12*/);
  2169. }
  2170. /*FI*/return R;
  2171. }
  2172. /*No:CALL_PREFIX_MINUS.fatal_error*/
  2173. void r72afd_check(T72* C){
  2174. T0* _running=NULL;
  2175. T0* _rc=NULL;
  2176. _rc=X291run_class(X662result_type((((T72*)C))->_target/*12*/));
  2177. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  2178. /*IF*/if ((_running)==((void*)(NULL))) {
  2179. r683add_position(X662start_position((((T72*)C))->_target/*12*/));
  2180. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  2181. r7append(((T7*)(oBC683explanation)),b1);
  2182. }/*]*/
  2183. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  2184. r7append(((T7*)(oBC683explanation)),b1);
  2185. }/*]*/
  2186. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  2187. r7append(((T7*)(oBC683explanation)),b1);
  2188. }/*]*/
  2189. r683print_as_warning(((T683*)(oBC364eh)));
  2190. r355set_at_run_time(((T355*)_rc));
  2191. }
  2192.  else if ((r396count(((T396*)_running)))>(0)) {
  2193. r576update((((T72*)C))->_target/*12*/,(((T72*)C))->_run_feature/*16*/);
  2194. }
  2195. /*FI*/X662afd_check((((T72*)C))->_target/*12*/);
  2196. /*IF*//*AF*//*AE*/
  2197. /*FI*/}
  2198. /*No:TYPE_REAL.id*/
  2199. int fBC364type_real_ref=0;
  2200. T0*oBC364type_real_ref=NULL;
  2201. T0* r209type_real_ref(void){
  2202. if (fBC364type_real_ref==0){
  2203. T0* R=NULL;
  2204. T0* _real_ref=NULL;
  2205. fBC364type_real_ref=1;
  2206. {T451*n=malloc(sizeof(*n));
  2207. *n=M451;
  2208. r451make(n,((T0*)ms24_473),NULL);
  2209. _real_ref=(T0*)n;
  2210. }
  2211. {T657*n=malloc(sizeof(*n));
  2212. *n=M657;
  2213. /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_real_ref);
  2214. /*]*/
  2215. R=(T0*)n;
  2216. }
  2217. oBC364type_real_ref=R;}
  2218. return oBC364type_real_ref;}
  2219. int r209has_creation(T209* C,T0* a1){
  2220. int R=0;
  2221. r683add_position(X776start_position(a1));
  2222. r209error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T209*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
  2223. return R;
  2224. }
  2225. /*No:TYPE_REAL.is_anchored*/
  2226. /*No:TYPE_REAL.is_array*/
  2227. /*No:TYPE_REAL.fz_typedef*/
  2228. int r209is_a(T209* C,T0* a1){
  2229. int R=0;
  2230. /*IF*/if ((X291is_real(a1))||(X291is_double(a1))) {
  2231. R=1;
  2232. }
  2233. else {
  2234. R=r605is_subclass_of(((T605*)(r209base_class(C))),X291base_class(a1));
  2235. /*IF*/if (R) {
  2236. r209used_as_reference();
  2237. }
  2238. /*FI*/}
  2239. /*FI*//*IF*/if (!(R)) {
  2240. r683add_type((T0*)C,((T0*)ms71_470));
  2241. r683add_type(a1,((T0*)ms67_470));
  2242. }
  2243. /*FI*/return R;
  2244. }
  2245. /*No:TYPE_REAL.c_initialize_in*/
  2246. /*No:TYPE_REAL.c_type_for_argument_in*/
  2247. void r209gc_call_new_in(T0* a1){
  2248. r7append(((T7*)a1),((T0*)ms115_470));
  2249. r2append_in(4,a1);
  2250. r7extend(((T7*)a1),'\50');
  2251. r7extend(((T7*)a1),'\51');
  2252. }
  2253. /*No:TYPE_REAL.run_type*/
  2254. /*No:TYPE_REAL.is_pointer*/
  2255. /*No:TYPE_REAL.is_dummy_expanded*/
  2256. /*No:TYPE_REAL.is_string*/
  2257. int r209space_for_variable(void){
  2258. int R=0;
  2259. R=sizeof(T4);
  2260. return R;
  2261. }
  2262. /*No:TYPE_REAL.is_like_feature*/
  2263. /*No:TYPE_REAL.is_like_current*/
  2264. void r209make(T209* C,T0* a1){
  2265. {T451*n=malloc(sizeof(*n));
  2266. *n=M451;
  2267. r451make(n,((T0*)ms23_473),a1);
  2268. C->_base_class_name=(T0*)n;
  2269. }
  2270. }
  2271. /*No:TYPE_REAL.nb_errors*/
  2272. /*No:TYPE_REAL.us_item*/
  2273. void r209load_ref(T0* a1){
  2274. T0* _rf=NULL;
  2275. T0* _rc=NULL;
  2276. T0* _cn=NULL;
  2277. {T451*n=malloc(sizeof(*n));
  2278. *n=M451;
  2279. r451make(n,a1,NULL);
  2280. _cn=(T0*)n;
  2281. }
  2282. _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
  2283. r355set_at_run_time(((T355*)_rc));
  2284. _rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
  2285. }
  2286. int fBC209check_type=0;
  2287. void r209check_type(T209* C){
  2288. if (fBC209check_type==0){
  2289. T0* _rc=NULL;
  2290. T0* _bc=NULL;
  2291. fBC209check_type=1;
  2292. _bc=r209base_class(C);
  2293. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  2294. _rc=r209run_class(C);
  2295. }
  2296. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  2297. /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
  2298. r209error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T209*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_209));
  2299. }
  2300. /*FI*/}
  2301. /*FI*/}}
  2302. /*No:TYPE_REAL.mapping_cast*/
  2303. /*No:TYPE_REAL.start_position*/
  2304. /*No:TYPE_REAL.c_type_for_target_in*/
  2305. /*No:TYPE_REAL.fz_gc_mark*/
  2306. /*No:TYPE_REAL.fz_inako*/
  2307. /*No:TYPE_REAL.gc_initialize*/
  2308. /*No:TYPE_REAL.fz_00*/
  2309. /*No:TYPE_REAL.is_character*/
  2310. /*No:TYPE_REAL.is_user_expanded*/
  2311. T0* r209written_mark(void){
  2312. T0* R=NULL;
  2313. R=((T0*)ms23_473);
  2314. return R;
  2315. }
  2316. /*No:TYPE_REAL.is_run_type*/
  2317. T0* r209to_runnable(T209* C,T0* a1){
  2318. T0* R=NULL;
  2319. R=(T0*)C;
  2320. r209check_type(C);
  2321. return R;
  2322. }
  2323.  
  2324.