home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / compile_to_c28.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  67.5 KB  |  2,142 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 r59make(T59* C,T0* a1,T0* a2){
  10. C->_name=a1;
  11. C->_constraint=a2;
  12. }
  13. /*No:FORMAL_GENERIC_ARG.name*/
  14. /*No:FORMAL_GENERIC_ARG.start_position*/
  15. /*No:FORMAL_GENERIC_ARG.constraint*/
  16. /*No:CALL_INFIX_PLUS.arguments*/
  17. T0* r253add_comment(T253* C,T0* a1){
  18. T0* R=NULL;
  19. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  20. R=(T0*)C;
  21. }
  22. else {
  23. {T529*n=malloc(sizeof(*n));
  24. *n=M529;
  25. r529make(n,(T0*)C,a1);
  26. R=(T0*)n;
  27. }
  28. }
  29. /*FI*/return R;
  30. }
  31. int r253to_integer(T253* C){
  32. int R=0;
  33. r253error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T253*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  34. return R;
  35. }
  36. int r253is_a(T253* C,T0* a1){
  37. int R=0;
  38. R=X291is_a(X291run_type((((T253*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  39. /*IF*/if (!(R)) {
  40. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T253*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
  41. r253error(X662start_position(a1),((T0*)ms4_662));
  42. }
  43. /*FI*/return R;
  44. }
  45. /*No:CALL_INFIX_PLUS.is_current*/
  46. void r253mapping_c_arg(T253* C,T0* a1){
  47. T0* _actual_type=NULL;
  48. _actual_type=X291run_type((((T253*)C))->_result_type/*20*/);
  49. /*IF*/if (X291is_reference(_actual_type)) {
  50. /*IF*/if (X291is_reference(a1)) {
  51. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  52. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  53. }/*]*/
  54. /*]*/
  55. }
  56. else {
  57. X291to_expanded(_actual_type);
  58. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  59. char b1='\50';
  60. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  61. }/*]*/
  62. /*]*/
  63. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  64. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  65. }/*]*/
  66. /*]*/
  67. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  68. char b1='\51';
  69. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  70. }/*]*/
  71. /*]*/
  72. }
  73. /*FI*/}
  74. else {
  75. /*IF*/if (X291is_reference(a1)) {
  76. X291to_reference(_actual_type);
  77. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  78. char b1='\50';
  79. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  80. }/*]*/
  81. /*]*/
  82. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  83. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  84. }/*]*/
  85. /*]*/
  86. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  87. char b1='\51';
  88. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  89. }/*]*/
  90. /*]*/
  91. }
  92. else {
  93. /*IF*/if (X291need_c_struct(a1)) {
  94. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  95. char b1='\46';
  96. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  97. }/*]*/
  98. /*]*/
  99. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  100. char b1='\50';
  101. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  102. }/*]*/
  103. /*]*/
  104. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  105. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  106. }/*]*/
  107. /*]*/
  108. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  109. char b1='\51';
  110. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  111. }/*]*/
  112. /*]*/
  113. }
  114. else {
  115. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  116. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  117. }/*]*/
  118. /*]*/
  119. }
  120. /*FI*/}
  121. /*FI*/}
  122. /*FI*/}
  123. /*No:CALL_INFIX_PLUS.static_value*/
  124. void r253make(T253* C,T0* a1,T0* a2,T0* a3){
  125. T0* _eal=NULL;
  126. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  127. r683add_position(a2);
  128. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  129. r683fatal_error(((T683*)(oBC364eh)),b1);
  130. }/*]*/
  131. }
  132. /*FI*/{T454*n=malloc(sizeof(*n));
  133. *n=M454;
  134. r454make(n,r253operator(),a2);
  135. C->_feature_name=(T0*)n;
  136. }
  137. {T431*n=malloc(sizeof(*n));
  138. *n=M431;
  139. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  140. /*]*/
  141. _eal=(T0*)n;
  142. }
  143. r253make_call_1(C,a1,(((T253*)C))->_feature_name/*28*/,_eal);
  144. }
  145. void r253mapping_c_target(T253* C,T0* a1){
  146. T0* _actual_type=NULL;
  147. int _flag=0;
  148. _flag=r324call_invariant_start(a1);
  149. _actual_type=X291run_type((((T253*)C))->_result_type/*20*/);
  150. /*IF*/if (X291is_reference(_actual_type)) {
  151. /*IF*/if (X291is_reference(a1)) {
  152. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  153. char b1='\50';
  154. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  155. }/*]*/
  156. /*]*/
  157. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  158. char b1='\50';
  159. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  160. }/*]*/
  161. /*]*/
  162. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  163. char b1='T';
  164. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  165. }/*]*/
  166. /*]*/
  167. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  168. /*]*/
  169. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  170. char b1='\52';
  171. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  172. }/*]*/
  173. /*]*/
  174. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  175. char b1='\51';
  176. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  177. }/*]*/
  178. /*]*/
  179. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  180. char b1='\50';
  181. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  182. }/*]*/
  183. /*]*/
  184. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  185. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  186. }/*]*/
  187. /*]*/
  188. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  189. char b1='\51';
  190. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  191. }/*]*/
  192. /*]*/
  193. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  194. char b1='\51';
  195. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  196. }/*]*/
  197. /*]*/
  198. }
  199. else {
  200. X291to_expanded(_actual_type);
  201. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  202. char b1='\50';
  203. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  204. }/*]*/
  205. /*]*/
  206. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  207. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  208. }/*]*/
  209. /*]*/
  210. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  211. char b1='\51';
  212. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  213. }/*]*/
  214. /*]*/
  215. }
  216. /*FI*/}
  217. else {
  218. /*IF*/if (X291is_reference(a1)) {
  219. X291to_reference(_actual_type);
  220. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  221. char b1='\50';
  222. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  223. }/*]*/
  224. /*]*/
  225. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  226. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  227. }/*]*/
  228. /*]*/
  229. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  230. char b1='\51';
  231. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  232. }/*]*/
  233. /*]*/
  234. }
  235. else {
  236. /*IF*/if (X291need_c_struct(a1)) {
  237. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  238. char b1='\46';
  239. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  240. }/*]*/
  241. /*]*/
  242. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  243. char b1='\50';
  244. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  245. }/*]*/
  246. /*]*/
  247. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  248. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  249. }/*]*/
  250. /*]*/
  251. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  252. char b1='\51';
  253. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  254. }/*]*/
  255. /*]*/
  256. }
  257. else {
  258. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* C1=C;
  259. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  260. }/*]*/
  261. /*]*/
  262. }
  263. /*FI*/}
  264. /*FI*/}
  265. /*FI*//*IF*/if (_flag) {
  266. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  267. char b1='\51';
  268. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  269. }/*]*/
  270. /*]*/
  271. }
  272. /*FI*/}
  273. /*No:CALL_INFIX_PLUS.nb_errors*/
  274. /*No:CALL_INFIX_PLUS.feature_name*/
  275. /*No:CALL_INFIX_PLUS.fz_iinaiv*/
  276. /*No:CALL_INFIX_PLUS.arg_count*/
  277. void r253dca_inline_argument(T253* C,T0* a1){
  278. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  279. char b1='\50';
  280. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  281. }/*]*/
  282. /*]*/
  283. X662dca_inline_argument((((T253*)C))->_target/*12*/,a1);
  284. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  285. char b1='\51';
  286. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  287. }/*]*/
  288. /*]*/
  289. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  290. char b1='\53';
  291. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  292. }/*]*/
  293. /*]*/
  294. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  295. char b1='\50';
  296. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  297. }/*]*/
  298. /*]*/
  299. X662dca_inline_argument(r253arg1(C),a1);
  300. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  301. char b1='\51';
  302. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  303. }/*]*/
  304. /*]*/
  305. }
  306. /*No:CALL_INFIX_PLUS.run_feature*/
  307. /*No:CALL_INFIX_PLUS.call_proc_call_c2c*/
  308. /*No:CALL_INFIX_PLUS.start_position*/
  309. /*No:CALL_INFIX_PLUS.target*/
  310. /*No:CALL_INFIX_PLUS.compile_to_c*/
  311. /*No:CALL_INFIX_PLUS.c_simple*/
  312. T0* r253to_runnable(T253* C,T0* a1){
  313. T0* R=NULL;
  314. T0* _tla=NULL;
  315. T0* _a=NULL;
  316. /*IF*/if (((((T253*)C))->_current_type/*8*/)==((void*)(NULL))) {
  317. r253to_runnable_0(C,a1);
  318. _a=X431to_runnable((((T253*)C))->_arguments/*24*/,a1);
  319. /*IF*/if ((_a)==((void*)(NULL))) {
  320. r253error(X662start_position(r253arg1(C)),((T0*)ms55_470));
  321. }
  322. else {
  323. C->_arguments=_a;
  324. }
  325. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  326. X431match_with((((T253*)C))->_arguments/*24*/,(((T253*)C))->_run_feature/*16*/);
  327. }
  328. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  329. _tla=(((T253*)C))->_result_type/*20*/;
  330. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  331. case 239: 
  332. break;
  333. default:
  334. _tla=NULL;
  335. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  336. C->_result_type=X291run_type(X662result_type(r253arg1(C)));
  337. }
  338. /*FI*/}
  339. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  340. R=(T0*)C;
  341. }
  342. /*FI*/}
  343. else {
  344. R=r253twin(C);
  345. /*[IRF3.3set_current_type*/((((T253*)(((T253*)R))))->_current_type)=(NULL);
  346. /*]*/
  347. R=r253to_runnable(((T253*)R),a1);
  348. }
  349. /*FI*/return R;
  350. }
  351. /*No:CALL_INFIX_PLUS.result_type*/
  352. /*No:CALL_INFIX_PLUS.is_result*/
  353. T0* r253twin(T253* C){
  354. T0* R=NULL;
  355. R=malloc(sizeof(*C));
  356. *((T253*)R)=*C;
  357. return R;
  358. }
  359. /*No:CALL_INFIX_PLUS.set_current_type*/
  360. T0* r253operator(void){
  361. T0* R=NULL;
  362. R=((T0*)ms43_473);
  363. return R;
  364. }
  365. int r253is_static(T253* C){
  366. int R=0;
  367. /*IF*/if (X291is_integer((((T253*)C))->_result_type/*20*/)) {
  368. /*IF*/if ((X662is_static((((T253*)C))->_target/*12*/))&&(X662is_static(r253arg1(C)))) {
  369. R=1;
  370. C->_static_value_mem=(X662static_value((((T253*)C))->_target/*12*/))+(X662static_value(r253arg1(C)));
  371. }
  372. /*FI*/}
  373. /*FI*/return R;
  374. }
  375. /*No:CALL_INFIX_PLUS.fz_07*/
  376. /*No:CALL_INFIX_PLUS.can_be_dropped*/
  377. /*No:CALL_INFIX_PLUS.current_type*/
  378. void r253compile_to_c_old(T253* C){
  379. X662compile_to_c_old((((T253*)C))->_target/*12*/);
  380. /*IF*/{/*AT*/X431compile_to_c_old((((T253*)C))->_arguments/*24*/);
  381. }
  382. /*FI*/}
  383. /*No:CALL_INFIX_PLUS.static_value_mem*/
  384. void r253make_call_1(T253* C,T0* a1,T0* a2,T0* a3){
  385. C->_target=a1;
  386. C->_feature_name=a2;
  387. C->_arguments=a3;
  388. }
  389. /*No:CALL_INFIX_PLUS.is_manifest_string*/
  390. /*No:CALL_INFIX_PLUS.is_void*/
  391. void r253to_runnable_0(T253* C,T0* a1){
  392. C->_current_type=a1;
  393. r253cpc_to_runnable(C,a1);
  394. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T253*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  395. /*IF*/if (((((T253*)C))->_result_type/*20*/)==((void*)(NULL))) {
  396. r683add_position(X496start_position((((T253*)C))->_run_feature/*16*/));
  397. r253error((((T454*)((T454*)((((T253*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
  398. }
  399.  else if (X291is_like_current((((T253*)C))->_result_type/*20*/)) {
  400. C->_result_type=X662result_type((((T253*)C))->_target/*12*/);
  401. }
  402. /*FI*/}
  403. /*No:CALL_INFIX_PLUS.is_pre_computable*/
  404. void r253cpc_to_runnable(T253* C,T0* a1){
  405. T0* _rc=NULL;
  406. T0* _t=NULL;
  407. _t=X662to_runnable((((T253*)C))->_target/*12*/,a1);
  408. /*IF*/if ((_t)==((void*)(NULL))) {
  409. r683add_position(X662start_position((((T253*)C))->_target/*12*/));
  410. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  411. r683fatal_error(((T683*)(oBC364eh)),b1);
  412. }/*]*/
  413. }
  414. /*FI*/C->_target=_t;
  415. _rc=X291run_class(X662result_type((((T253*)C))->_target/*12*/));
  416. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  417. r576update((((T253*)C))->_target/*12*/,(((T253*)C))->_run_feature/*16*/);
  418. }
  419. int r253use_current(T253* C){
  420. int R=0;
  421. /*IF*/{/*AT*/R=X431use_current((((T253*)C))->_arguments/*24*/);
  422. }
  423. /*FI*//*IF*/if (R) {
  424. }
  425.  else if (X662is_current((((T253*)C))->_target/*12*/)) {
  426. R=X496use_current((((T253*)C))->_run_feature/*16*/);
  427. }
  428. else {
  429. R=X662use_current((((T253*)C))->_target/*12*/);
  430. }
  431. /*FI*/return R;
  432. }
  433. void r253finalize(T253* C){
  434. T0* _rf=NULL;
  435. T0* _rc=NULL;
  436. _rf=(((T253*)C))->_run_feature/*16*/;
  437. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  438. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  439. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  440. C->_run_feature=_rf;
  441. }
  442. /*FI*/}
  443. void r253error(T0* a1,T0* a2){
  444. r683add_position(a1);
  445. r683error(((T683*)(oBC364eh)),a2);
  446. }
  447. int r253isa_dca_inline_argument(T253* C){
  448. int R=0;
  449. /*IF*/if (X291is_integer((((T253*)C))->_result_type/*20*/)) {
  450. R=X662isa_dca_inline_argument((((T253*)C))->_target/*12*/);
  451. /*IF*/if ((R)==(-(1))) {
  452. R=X662isa_dca_inline_argument(r253arg1(C));
  453. }
  454.  else if ((R)>(0)) {
  455. /*IF*/if ((X662isa_dca_inline_argument(r253arg1(C)))>=(0)) {
  456. R=0;
  457. }
  458. /*FI*/}
  459. /*FI*/}
  460. /*FI*/return R;
  461. }
  462. /*No:CALL_INFIX_PLUS.fatal_error*/
  463. /*No:CALL_INFIX_PLUS.fz_bad_argument*/
  464. /*No:CALL_INFIX_PLUS.us_plus*/
  465. T0* r253arg1(T253* C){
  466. T0* R=NULL;
  467. R=X431first((((T253*)C))->_arguments/*24*/);
  468. return R;
  469. }
  470. void r253afd_check(T253* C){
  471. T0* _running=NULL;
  472. T0* _rc=NULL;
  473. _rc=X291run_class(X662result_type((((T253*)C))->_target/*12*/));
  474. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  475. /*IF*/if ((_running)==((void*)(NULL))) {
  476. r683add_position(X662start_position((((T253*)C))->_target/*12*/));
  477. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  478. r7append(((T7*)(oBC683explanation)),b1);
  479. }/*]*/
  480. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  481. r7append(((T7*)(oBC683explanation)),b1);
  482. }/*]*/
  483. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  484. r7append(((T7*)(oBC683explanation)),b1);
  485. }/*]*/
  486. r683print_as_warning(((T683*)(oBC364eh)));
  487. r355set_at_run_time(((T355*)_rc));
  488. }
  489.  else if ((r396count(((T396*)_running)))>(0)) {
  490. r576update((((T253*)C))->_target/*12*/,(((T253*)C))->_run_feature/*16*/);
  491. }
  492. /*FI*/X662afd_check((((T253*)C))->_target/*12*/);
  493. /*IF*/{/*AT*/X431afd_check((((T253*)C))->_arguments/*24*/);
  494. }
  495. /*FI*/}
  496. /*No:PARENT.us_none*/
  497. void r877multiple_check(T877* C,T0* a1){
  498. T0* _fn2=NULL;
  499. T0* _fn1=NULL;
  500. int _i=0;
  501. T0* _bc2=NULL;
  502. T0* _bc1=NULL;
  503. _bc1=X291base_class((((T877*)C))->_type/*4*/);
  504. _bc2=X291base_class((((T877*)((T877*)a1)))->_type/*4*/);
  505. /*IF*/if ((((_bc1)==((void*)(_bc2)))||(r605is_subclass_of(((T605*)_bc1),_bc2)))||(r605is_subclass_of(((T605*)_bc2),_bc1))) {
  506. /*IF*/if (((((T877*)C))->_redefine_list/*24*/)!=((void*)(NULL))) {
  507. _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T877*)C))->_redefine_list/*24*/))))->_list/*0*/))))->_upper/*8*//*)*/;
  508. while (!((_i)==(0))) {
  509. _fn1=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T877*)C))->_redefine_list/*24*/))))->_list/*0*/)),_i)/*)*/;
  510. /*IF*/if (((((T877*)((T877*)a1)))->_rename_list/*12*/)==((void*)(NULL))) {
  511. }
  512.  else if (r644affect(((T644*)((((T877*)((T877*)a1)))->_rename_list/*12*/)),_fn1)) {
  513. _fn2=r644to_new_name(((T644*)((((T877*)((T877*)a1)))->_rename_list/*12*/)),_fn1);
  514. /*IF*/if ((_fn2)!=((void*)(_fn1))) {
  515. /*IF*/if (((((T877*)C))->_select_list/*28*/)!=((void*)(NULL))) {
  516. /*IF*/if (r953has(((T953*)((((T877*)C))->_select_list/*28*/)),_fn1)) {
  517. /*IF*/if (((((T877*)((T877*)a1)))->_select_list/*28*/)!=((void*)(NULL))) {
  518. /*IF*/if (r953has(((T953*)((((T877*)((T877*)a1)))->_select_list/*28*/)),_fn2)) {
  519. r877select_conflict(_fn1,_fn2);
  520. }
  521. /*FI*/}
  522. /*FI*/}
  523.  else if (((((T877*)((T877*)a1)))->_select_list/*28*/)==((void*)(NULL))) {
  524. r877missing_select(_fn1,_fn2);
  525. }
  526.  else if (!(r953has(((T953*)((((T877*)((T877*)a1)))->_select_list/*28*/)),_fn2))) {
  527. r877missing_select(_fn1,_fn2);
  528. }
  529. /*FI*/}
  530.  else if (((((T877*)((T877*)a1)))->_select_list/*28*/)==((void*)(NULL))) {
  531. r877missing_select(_fn1,_fn2);
  532. }
  533.  else if (!(r953has(((T953*)((((T877*)((T877*)a1)))->_select_list/*28*/)),_fn2))) {
  534. r877missing_select(_fn1,_fn2);
  535. }
  536. /*FI*/}
  537. /*FI*/}
  538. /*FI*/_i=(_i)-(1);
  539. }
  540. }
  541. /*FI*/}
  542. /*FI*/}
  543. /*No:PARENT.us_integer*/
  544. void r877get_started(T877* C,T0* a1){
  545. int _all_check=0;
  546. T0* _new_fn=NULL;
  547. T0* _old_fn=NULL;
  548. T0* _fn=NULL;
  549. T0* _pbc=NULL;
  550. T0* _wbc=NULL;
  551. int _i=0;
  552. _all_check=r590all_check(((T590*)(oBC364run_control)));
  553. C->_parent_list=a1;
  554. _pbc=X291base_class((((T877*)C))->_type/*4*/);
  555. _wbc=(((T673*)((T673*)((((T877*)C))->_parent_list/*0*/))))->_base_class/*0*/;
  556. /*IF*/if ((_all_check)&&(((((T877*)C))->_rename_list/*12*/)!=((void*)(NULL)))) {
  557. r644get_started(((T644*)((((T877*)C))->_rename_list/*12*/)),_pbc);
  558. }
  559. /*FI*//*IF*/if ((_all_check)&&(((((T877*)C))->_undefine_list/*20*/)!=((void*)(NULL)))) {
  560. _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T877*)C))->_undefine_list/*20*/))))->_list/*0*/))))->_upper/*8*//*)*/;
  561. while (!((_i)==(0))) {
  562. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T877*)C))->_undefine_list/*20*/))))->_list/*0*/)),_i)/*)*/;
  563. _old_fn=r877get_old_name(C,_fn);
  564. /*IF*/if (((_old_fn)==((void*)(NULL)))&&(!(r605has(((T605*)_pbc),_fn)))) {
  565. r683add_position(X776start_position(_fn));
  566. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_877);
  567. r683fatal_error(((T683*)(oBC364eh)),b1);
  568. }/*]*/
  569. }
  570. /*FI*/_i=(_i)-(1);
  571. }
  572. }
  573. /*FI*//*IF*/if (((((T877*)C))->_redefine_list/*24*/)!=((void*)(NULL))) {
  574. _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T877*)C))->_redefine_list/*24*/))))->_list/*0*/))))->_upper/*8*//*)*/;
  575. while (!((_i)==(0))) {
  576. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T877*)C))->_redefine_list/*24*/))))->_list/*0*/)),_i)/*)*/;
  577. /*IF*/if (!(r605proper_has(((T605*)_wbc),_fn))) {
  578. r683add_position(X776start_position(_fn));
  579. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms10_877);
  580. r683fatal_error(((T683*)(oBC364eh)),b1);
  581. }/*]*/
  582. }
  583. /*FI*//*IF*/if (_all_check) {
  584. _old_fn=r877get_old_name(C,_fn);
  585. /*IF*/if (((_old_fn)==((void*)(NULL)))&&(!(r605has(((T605*)_pbc),_fn)))) {
  586. r683add_position(X776start_position(_fn));
  587. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms11_877);
  588. r683fatal_error(((T683*)(oBC364eh)),b1);
  589. }/*]*/
  590. }
  591. /*FI*/}
  592. /*FI*/_i=(_i)-(1);
  593. }
  594. }
  595. /*FI*//*IF*/if ((_all_check)&&(((((T877*)C))->_select_list/*28*/)!=((void*)(NULL)))) {
  596. _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T877*)C))->_select_list/*28*/))))->_list/*0*/))))->_upper/*8*//*)*/;
  597. while (!((_i)==(0))) {
  598. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T877*)C))->_select_list/*28*/))))->_list/*0*/)),_i)/*)*/;
  599. _old_fn=r877get_old_name(C,_fn);
  600. /*IF*/if (((_old_fn)==((void*)(NULL)))&&(!(r605has(((T605*)_pbc),_fn)))) {
  601. r683add_position(X776start_position(_fn));
  602. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms16_877);
  603. r683fatal_error(((T683*)(oBC364eh)),b1);
  604. }/*]*/
  605. }
  606. /*FI*/_new_fn=r877get_new_name(C,_fn);
  607. /*IF*/if ((_new_fn)!=((void*)(NULL))) {
  608. /*IF*/if ((r877get_old_name(C,_new_fn))==((void*)(NULL))) {
  609. r683add_position(X776start_position(_new_fn));
  610. r683add_position(X776start_position(_fn));
  611. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms16_877);
  612. r683fatal_error(((T683*)(oBC364eh)),b1);
  613. }/*]*/
  614. }
  615. /*FI*/}
  616. /*FI*/_i=(_i)-(1);
  617. }
  618. }
  619. /*FI*/}
  620. /*No:PARENT.select_list*/
  621. /*No:PARENT.undefine_memory1*/
  622. T0* r877get_new_name(T877* C,T0* a1){
  623. T0* R=NULL;
  624. /*IF*/if (((((T877*)C))->_rename_list/*12*/)!=((void*)(NULL))) {
  625. R=r644to_new_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1);
  626. /*IF*/if ((R)==((void*)(a1))) {
  627. R=NULL;
  628. }
  629. /*FI*/}
  630. /*FI*/return R;
  631. }
  632. T0* r877get_old_name(T877* C,T0* a1){
  633. T0* R=NULL;
  634. /*IF*/if (((((T877*)C))->_rename_list/*12*/)!=((void*)(NULL))) {
  635. R=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1);
  636. /*IF*/if ((R)==((void*)(a1))) {
  637. R=NULL;
  638. }
  639. /*FI*/}
  640. /*FI*/return R;
  641. }
  642. void r877make(T877* C,T0* a1){
  643. C->_type=a1;
  644. /*IF*/if (r52fast_has(((T52*)(oBC877forbidden_parent_list)),X291written_mark((((T877*)C))->_type/*4*/))) {
  645. r683add_position(X291start_position((((T877*)C))->_type/*4*/));
  646. /*[IRF3.6append*/{T0* b1=((T0*)ms1_877);
  647. r7append(((T7*)(oBC683explanation)),b1);
  648. }/*]*/
  649. /*[IRF3.6append*/{T0* b1=X291written_mark((((T877*)C))->_type/*4*/);
  650. r7append(((T7*)(oBC683explanation)),b1);
  651. }/*]*/
  652. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_877);
  653. r683fatal_error(((T683*)(oBC364eh)),b1);
  654. }/*]*/
  655. }
  656. /*FI*/}
  657. /*No:PARENT.rename_list*/
  658. /*No:PARENT.parent_list*/
  659. /*No:PARENT.us_pointer*/
  660. void r877set_select(T877* C,T0* a1){
  661. {T953*n=malloc(sizeof(*n));
  662. *n=M953;
  663. r953make(n,a1);
  664. C->_select_list=(T0*)n;
  665. }
  666. }
  667. /*No:PARENT.type*/
  668. T0* r877going_down(T877* C,T0* a1,T0* a2){
  669. T0* R=NULL;
  670. T0* _previous=NULL;
  671. /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
  672. R=a2;
  673. }
  674. else {
  675. R=r644to_new_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a2);
  676. }
  677. /*FI*//*IF*/if (!(r854empty(((T854*)a1)))) {
  678. _previous=r854last(((T854*)a1));
  679. r854remove_last(((T854*)a1));
  680. R=r877going_down(((T877*)_previous),a1,R);
  681. }
  682. /*FI*/return R;
  683. }
  684. /*No:PARENT.set_comment*/
  685. /*No:PARENT.undefine_memory2*/
  686. T0* r877start_position(T877* C){
  687. T0* R=NULL;
  688. R=X291start_position((((T877*)C))->_type/*4*/);
  689. return R;
  690. }
  691. /*No:PARENT.comment*/
  692. T0* r877do_rename(T877* C,T0* a1){
  693. T0* R=NULL;
  694. /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
  695. R=a1;
  696. }
  697. else {
  698. R=r644to_new_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1);
  699. }
  700. /*FI*/return R;
  701. }
  702. int r877has_select_for(T877* C,T0* a1){
  703. int R=0;
  704. /*IF*/if (((((T877*)C))->_select_list/*28*/)!=((void*)(NULL))) {
  705. R=r953has(((T953*)((((T877*)C))->_select_list/*28*/)),a1);
  706. }
  707. /*FI*/return R;
  708. }
  709. /*No:PARENT.export_list*/
  710. void r877add_rename(T877* C,T0* a1){
  711. /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
  712. {T644*n=malloc(sizeof(*n));
  713. *n=M644;
  714. /*[IRF3.3make*/((((T644*)(n)))->_list)=(se_ma552(1,a1));
  715. /*]*/
  716. C->_rename_list=(T0*)n;
  717. }
  718. }
  719. else {
  720. /*[IRF3.5add_last*/r552add_last(((T552*)((((T644*)((T644*)((((T877*)C))->_rename_list/*12*/))))->_list/*0*/)),a1);
  721. /*]*/
  722. }
  723. /*FI*/}
  724. /*No:PARENT.us_character*/
  725. /*No:PARENT.em1*/
  726. /*No:PARENT.us_real*/
  727. T0* r877up_to_original(T877* C,T0* a1,T0* a2){
  728. T0* R=NULL;
  729. T0* _bc=NULL;
  730. T0* _old_name=NULL;
  731. _bc=X291base_class((((T877*)C))->_type/*4*/);
  732. /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
  733. R=r605up_to_original(((T605*)_bc),a1,a2);
  734. }
  735.  else if (r644affect(((T644*)((((T877*)C))->_rename_list/*12*/)),a2)) {
  736. _old_name=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a2);
  737. /*IF*/if ((_old_name)!=((void*)(a2))) {
  738. R=r605up_to_original(((T605*)_bc),a1,_old_name);
  739. }
  740. /*FI*/}
  741. else {
  742. R=r605up_to_original(((T605*)_bc),a1,a2);
  743. }
  744. /*FI*/return R;
  745. }
  746. void r877select_conflict(T0* a1,T0* a2){
  747. r683add_position(X776start_position(a1));
  748. r683add_position(X776start_position(a2));
  749. /*[IRF3.6append*/{T0* b1=((T0*)ms14_877);
  750. r7append(((T7*)(oBC683explanation)),b1);
  751. }/*]*/
  752. r683print_as_fatal_error(((T683*)(oBC364eh)));
  753. }
  754. T0* r877smallest_ancestor(T877* C,T0* a1){
  755. T0* R=NULL;
  756. /*IF*/if (X291is_generic((((T877*)C))->_type/*4*/)) {
  757. R=X291to_runnable((((T877*)C))->_type/*4*/,a1);
  758. }
  759. else {
  760. R=(((T877*)C))->_type/*4*/;
  761. }
  762. /*FI*/return R;
  763. }
  764. int r877has(T877* C,T0* a1){
  765. int R=0;
  766. /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
  767. R=r605has(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1);
  768. }
  769. else {
  770. R=r605has(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1));
  771. }
  772. /*FI*/return R;
  773. }
  774. void r877missing_select(T0* a1,T0* a2){
  775. r683add_position(X776start_position(a1));
  776. r683add_position(X776start_position(a2));
  777. /*[IRF3.6append*/{T0* b1=((T0*)ms15_877);
  778. r7append(((T7*)(oBC683explanation)),b1);
  779. }/*]*/
  780. r683print_as_fatal_error(((T683*)(oBC364eh)));
  781. }
  782. /*No:PARENT.us_bit*/
  783. /*No:PARENT.fz_09*/
  784. int r877has_redefine(T877* C,T0* a1){
  785. int R=0;
  786. /*IF*/if (((((T877*)C))->_redefine_list/*24*/)!=((void*)(NULL))) {
  787. R=r953has(((T953*)((((T877*)C))->_redefine_list/*24*/)),a1);
  788. }
  789. /*FI*/return R;
  790. }
  791. int r877has_undefine(T877* C,T0* a1){
  792. int R=0;
  793. /*IF*/if (((((T877*)C))->_undefine_list/*20*/)!=((void*)(NULL))) {
  794. R=r953has(((T953*)((((T877*)C))->_undefine_list/*20*/)),a1);
  795. }
  796. /*FI*/return R;
  797. }
  798. T0* r877look_up_for(T877* C,T0* a1,T0* a2){
  799. T0* R=NULL;
  800. T0* _f=NULL;
  801. T0* _fn2=NULL;
  802. /*IF*/if ((((((T877*)C))->_rename_list/*12*/)==((void*)(NULL)))||(!(r644affect(((T644*)((((T877*)C))->_rename_list/*12*/)),a2)))) {
  803. _f=X291look_up_for((((T877*)C))->_type/*4*/,a1,a2);
  804. R=r877apply_undefine(C,_f,a2);
  805. }
  806. else {
  807. _fn2=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a2);
  808. /*IF*/if ((_fn2)!=((void*)(a2))) {
  809. _f=X291look_up_for((((T877*)C))->_type/*4*/,a1,_fn2);
  810. R=r877apply_undefine(C,_f,_fn2);
  811. }
  812. else {
  813. _f=X291look_up_for((((T877*)C))->_type/*4*/,a1,a2);
  814. /*IF*/if ((_f)==((void*)(NULL))) {
  815. r683add_position(X776start_position(a2));
  816. /*[IRF3.6append*/{T0* b1=((T0*)ms143_470);
  817. r7append(((T7*)(oBC683explanation)),b1);
  818. }/*]*/
  819. /*[IRF3.6append*/{T0* b1=X776to_string(a2);
  820. r7append(((T7*)(oBC683explanation)),b1);
  821. }/*]*/
  822. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_877);
  823. r683fatal_error(((T683*)(oBC364eh)),b1);
  824. }/*]*/
  825. }
  826. /*FI*/}
  827. /*FI*/}
  828. /*FI*/return R;
  829. }
  830. T0*oBC877forbidden_parent_list=NULL;
  831. /*No:PARENT.us_boolean*/
  832. /*No:PARENT.us_double*/
  833. T0* r877clients_for(T877* C,T0* a1){
  834. T0* R=NULL;
  835. T0* _old_fn=NULL;
  836. /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
  837. /*IF*/if (((((T877*)C))->_export_list/*16*/)==((void*)(NULL))) {
  838. R=r605clients_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1);
  839. }
  840. else {
  841. R=r671clients_for(((T671*)((((T877*)C))->_export_list/*16*/)),a1);
  842. /*IF*/if ((R)==((void*)(NULL))) {
  843. R=r605clients_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1);
  844. }
  845. /*FI*/}
  846. /*FI*/}
  847. else {
  848. _old_fn=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1);
  849. /*IF*/if (((((T877*)C))->_export_list/*16*/)==((void*)(NULL))) {
  850. R=r605clients_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),_old_fn);
  851. }
  852. else {
  853. R=r671clients_for(((T671*)((((T877*)C))->_export_list/*16*/)),_old_fn);
  854. /*IF*/if ((R)==((void*)(NULL))) {
  855. R=r605clients_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),_old_fn);
  856. }
  857. /*FI*/}
  858. /*FI*/}
  859. /*FI*/return R;
  860. }
  861. void r877set_redefine(T877* C,T0* a1){
  862. {T953*n=malloc(sizeof(*n));
  863. *n=M953;
  864. r953make(n,a1);
  865. C->_redefine_list=(T0*)n;
  866. }
  867. }
  868. void r877set_undefine(T877* C,T0* a1){
  869. {T953*n=malloc(sizeof(*n));
  870. *n=M953;
  871. r953make(n,a1);
  872. C->_undefine_list=(T0*)n;
  873. }
  874. }
  875. T0* r877going_up(T877* C,T0* a1,T0* a2,T0* a3){
  876. T0* R=NULL;
  877. T0* _bc=NULL;
  878. _bc=X291base_class((((T877*)C))->_type/*4*/);
  879. /*IF*/if ((_bc)==((void*)(a2))) {
  880. R=r877going_down(C,a1,a3);
  881. }
  882.  else if (r605is_general(((T605*)_bc))) {
  883. R=r877going_down(C,a1,a3);
  884. }
  885.  else if (r605is_subclass_of(((T605*)_bc),a2)) {
  886. r854add_last(((T854*)a1),(T0*)C);
  887. R=r605going_up(((T605*)_bc),a1,a2,a3);
  888. }
  889. /*FI*/return R;
  890. }
  891. int r877is_a_vncg(T877* C,T0* a1,T0* a2){
  892. int R=0;
  893. T0* _t2_bcn=NULL;
  894. T0* _type_bcn=NULL;
  895. T0* _t2_bc=NULL;
  896. T0* _type_bc=NULL;
  897. T0* _rt=NULL;
  898. T0* _tfg=NULL;
  899. T0* _gl2=NULL;
  900. T0* _gl1=NULL;
  901. T0* _gl=NULL;
  902. int _i=0;
  903. int _rank=0;
  904. _type_bc=X291base_class((((T877*)C))->_type/*4*/);
  905. _type_bcn=(((T451*)((T451*)((((T605*)((T605*)_type_bc)))->_base_class_name/*24*/))))->_to_string/*0*/;
  906. _t2_bc=X291base_class(a2);
  907. _t2_bcn=(((T451*)((T451*)((((T605*)((T605*)_t2_bc)))->_base_class_name/*24*/))))->_to_string/*0*/;
  908. /*IF*/if ((_type_bcn)==((void*)(_t2_bcn))) {
  909. _gl=X291generic_list((((T877*)C))->_type/*4*/);
  910. _gl2=X291generic_list(a2);
  911. /*IF*/if (((_gl)==((void*)(NULL)))||((r701count(((T701*)_gl)))!=(r701count(((T701*)_gl2))))) {
  912. r683add_position(X291start_position((((T877*)C))->_type/*4*/));
  913. r683add_position(X291start_position(a2));
  914. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_877);
  915. r683fatal_error(((T683*)(oBC364eh)),b1);
  916. }/*]*/
  917. }
  918. /*FI*//*IF*/if (X291is_generic(a1)) {
  919. _gl1=X291generic_list(a1);
  920. R=1;
  921. _i=r701count(((T701*)_gl2));
  922. while (!((!(R))||((_i)==(0)))) {
  923. /*IF*/if (X291is_formal_generic(r701item(((T701*)_gl),_i))) {
  924. _tfg=r701item(((T701*)_gl),_i);
  925. if(NULL!=(_tfg))switch(((T0*)_tfg)->id) {
  926. case 283: 
  927. break;
  928. default:
  929. _tfg=NULL;
  930. };_rank=(((T283*)((T283*)_tfg)))->_rank/*8*/;
  931. R=X291is_a(r701item(((T701*)_gl1),_rank),r701item(((T701*)_gl2),_i));
  932. }
  933. else {
  934. _rt=X291run_type(X291to_runnable(r701item(((T701*)_gl),_i),a1));
  935. R=X291is_a(_rt,r701item(((T701*)_gl2),_i));
  936. }
  937. /*FI*/_i=(_i)-(1);
  938. }
  939. }
  940. else {
  941. R=X291is_a((((T877*)C))->_type/*4*/,a2);
  942. }
  943. /*FI*//*IF*/if (!(R)) {
  944. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  945. /*]*/
  946. r38clear(((T38*)(oBC683positions)));
  947. /*]*/
  948. }
  949. /*FI*/}
  950.  else if (r605is_subclass_of(((T605*)_type_bc),_t2_bc)) {
  951. /*IF*/if (X291is_generic(a1)) {
  952. _rt=X291run_type(X291to_runnable((((T877*)C))->_type/*4*/,a1));
  953. R=r605is_a_vncg(((T605*)_type_bc),_rt,a2);
  954. }
  955. else {
  956. R=r605is_a_vncg(((T605*)_type_bc),(((T877*)C))->_type/*4*/,a2);
  957. }
  958. /*FI*//*IF*/if (!(R)) {
  959. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  960. /*]*/
  961. r38clear(((T38*)(oBC683positions)));
  962. /*]*/
  963. }
  964. /*FI*/}
  965. /*FI*/return R;
  966. }
  967. void r877collect_for(T877* C,int a1,T0* a2){
  968. T0* _fn2=NULL;
  969. /*IF*/if ((((((T877*)C))->_rename_list/*12*/)==((void*)(NULL)))||(!(r644affect(((T644*)((((T877*)C))->_rename_list/*12*/)),a2)))) {
  970. r605collect_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1,a2);
  971. }
  972. else {
  973. _fn2=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a2);
  974. /*IF*/if ((_fn2)!=((void*)(a2))) {
  975. r605collect_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1,_fn2);
  976. }
  977. /*FI*/}
  978. /*FI*/}
  979. /*No:PARENT.fatal_error*/
  980. /*No:PARENT.redefine_list*/
  981. /*No:PARENT.us_native_array*/
  982. /*No:PARENT.set_export*/
  983. T0* r877apply_undefine(T877* C,T0* a1,T0* a2){
  984. T0* R=NULL;
  985. int _index=0;
  986. T0* _fnkey=NULL;
  987. /*IF*/if (r877has_undefine(C,a2)) {
  988. _fnkey=X776to_key(a2);
  989. /*IF*/if (((((T877*)C))->_undefine_memory1/*32*/)==((void*)(NULL))) {
  990. C->_undefine_memory1=se_ma52(1,_fnkey);
  991. R=X359try_to_undefine(a1,a2,(((T673*)((T673*)((((T877*)C))->_parent_list/*0*/))))->_base_class/*0*/);
  992. C->_undefine_memory2=se_ma495(1,R);
  993. }
  994. else {
  995. _index=r52fast_index_of(((T52*)((((T877*)C))->_undefine_memory1/*32*/)),_fnkey);
  996. /*IF*/if ((_index)>((((T52*)((T52*)((((T877*)C))->_undefine_memory1/*32*/))))->_upper/*8*/)) {
  997. r52add_last(((T52*)((((T877*)C))->_undefine_memory1/*32*/)),_fnkey);
  998. R=X359try_to_undefine(a1,a2,(((T673*)((T673*)((((T877*)C))->_parent_list/*0*/))))->_base_class/*0*/);
  999. r495add_last(((T495*)((((T877*)C))->_undefine_memory2/*36*/)),R);
  1000. }
  1001. else {
  1002. R=r495item(((T495*)((((T877*)C))->_undefine_memory2/*36*/)),_index);
  1003. }
  1004. /*FI*/}
  1005. /*FI*/}
  1006. else {
  1007. R=a1;
  1008. }
  1009. /*FI*/return R;
  1010. }
  1011. /*No:PARENT.undefine_list*/
  1012. /*No:CALL_INFIX_OR_ELSE.arguments*/
  1013. T0* r278add_comment(T278* C,T0* a1){
  1014. T0* R=NULL;
  1015. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1016. R=(T0*)C;
  1017. }
  1018. else {
  1019. {T529*n=malloc(sizeof(*n));
  1020. *n=M529;
  1021. r529make(n,(T0*)C,a1);
  1022. R=(T0*)n;
  1023. }
  1024. }
  1025. /*FI*/return R;
  1026. }
  1027. int r278to_integer(T278* C){
  1028. int R=0;
  1029. r278error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T278*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1030. return R;
  1031. }
  1032. int r278is_a(T278* C,T0* a1){
  1033. int R=0;
  1034. R=X291is_a(X291run_type((((T278*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  1035. /*IF*/if (!(R)) {
  1036. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T278*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
  1037. r278error(X662start_position(a1),((T0*)ms4_662));
  1038. }
  1039. /*FI*/return R;
  1040. }
  1041. /*No:CALL_INFIX_OR_ELSE.is_current*/
  1042. void r278mapping_c_arg(T278* C,T0* a1){
  1043. T0* _actual_type=NULL;
  1044. _actual_type=X291run_type((((T278*)C))->_result_type/*20*/);
  1045. /*IF*/if (X291is_reference(_actual_type)) {
  1046. /*IF*/if (X291is_reference(a1)) {
  1047. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1048. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1049. }/*]*/
  1050. /*]*/
  1051. }
  1052. else {
  1053. X291to_expanded(_actual_type);
  1054. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1055. char b1='\50';
  1056. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1057. }/*]*/
  1058. /*]*/
  1059. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1060. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1061. }/*]*/
  1062. /*]*/
  1063. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1064. char b1='\51';
  1065. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1066. }/*]*/
  1067. /*]*/
  1068. }
  1069. /*FI*/}
  1070. else {
  1071. /*IF*/if (X291is_reference(a1)) {
  1072. X291to_reference(_actual_type);
  1073. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1074. char b1='\50';
  1075. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1076. }/*]*/
  1077. /*]*/
  1078. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1079. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1080. }/*]*/
  1081. /*]*/
  1082. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1083. char b1='\51';
  1084. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1085. }/*]*/
  1086. /*]*/
  1087. }
  1088. else {
  1089. /*IF*/if (X291need_c_struct(a1)) {
  1090. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1091. char b1='\46';
  1092. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1093. }/*]*/
  1094. /*]*/
  1095. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1096. char b1='\50';
  1097. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1098. }/*]*/
  1099. /*]*/
  1100. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1101. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1102. }/*]*/
  1103. /*]*/
  1104. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1105. char b1='\51';
  1106. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1107. }/*]*/
  1108. /*]*/
  1109. }
  1110. else {
  1111. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1112. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1113. }/*]*/
  1114. /*]*/
  1115. }
  1116. /*FI*/}
  1117. /*FI*/}
  1118. /*FI*/}
  1119. /*No:CALL_INFIX_OR_ELSE.static_value*/
  1120. void r278make(T278* C,T0* a1,T0* a2,T0* a3){
  1121. T0* _eal=NULL;
  1122. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  1123. r683add_position(a2);
  1124. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  1125. r683fatal_error(((T683*)(oBC364eh)),b1);
  1126. }/*]*/
  1127. }
  1128. /*FI*/{T454*n=malloc(sizeof(*n));
  1129. *n=M454;
  1130. r454make(n,r278operator(),a2);
  1131. C->_feature_name=(T0*)n;
  1132. }
  1133. {T431*n=malloc(sizeof(*n));
  1134. *n=M431;
  1135. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  1136. /*]*/
  1137. _eal=(T0*)n;
  1138. }
  1139. r278make_call_1(C,a1,(((T278*)C))->_feature_name/*28*/,_eal);
  1140. }
  1141. void r278mapping_c_target(T278* C,T0* a1){
  1142. T0* _actual_type=NULL;
  1143. int _flag=0;
  1144. _flag=r324call_invariant_start(a1);
  1145. _actual_type=X291run_type((((T278*)C))->_result_type/*20*/);
  1146. /*IF*/if (X291is_reference(_actual_type)) {
  1147. /*IF*/if (X291is_reference(a1)) {
  1148. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1149. char b1='\50';
  1150. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1151. }/*]*/
  1152. /*]*/
  1153. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1154. char b1='\50';
  1155. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1156. }/*]*/
  1157. /*]*/
  1158. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1159. char b1='T';
  1160. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1161. }/*]*/
  1162. /*]*/
  1163. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  1164. /*]*/
  1165. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1166. char b1='\52';
  1167. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1168. }/*]*/
  1169. /*]*/
  1170. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1171. char b1='\51';
  1172. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1173. }/*]*/
  1174. /*]*/
  1175. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1176. char b1='\50';
  1177. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1178. }/*]*/
  1179. /*]*/
  1180. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1181. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1182. }/*]*/
  1183. /*]*/
  1184. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1185. char b1='\51';
  1186. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1187. }/*]*/
  1188. /*]*/
  1189. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1190. char b1='\51';
  1191. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1192. }/*]*/
  1193. /*]*/
  1194. }
  1195. else {
  1196. X291to_expanded(_actual_type);
  1197. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1198. char b1='\50';
  1199. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1200. }/*]*/
  1201. /*]*/
  1202. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1203. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1204. }/*]*/
  1205. /*]*/
  1206. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1207. char b1='\51';
  1208. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1209. }/*]*/
  1210. /*]*/
  1211. }
  1212. /*FI*/}
  1213. else {
  1214. /*IF*/if (X291is_reference(a1)) {
  1215. X291to_reference(_actual_type);
  1216. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1217. char b1='\50';
  1218. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1219. }/*]*/
  1220. /*]*/
  1221. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1222. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1223. }/*]*/
  1224. /*]*/
  1225. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1226. char b1='\51';
  1227. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1228. }/*]*/
  1229. /*]*/
  1230. }
  1231. else {
  1232. /*IF*/if (X291need_c_struct(a1)) {
  1233. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1234. char b1='\46';
  1235. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1236. }/*]*/
  1237. /*]*/
  1238. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1239. char b1='\50';
  1240. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1241. }/*]*/
  1242. /*]*/
  1243. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1244. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1245. }/*]*/
  1246. /*]*/
  1247. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1248. char b1='\51';
  1249. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1250. }/*]*/
  1251. /*]*/
  1252. }
  1253. else {
  1254. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* C1=C;
  1255. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1256. }/*]*/
  1257. /*]*/
  1258. }
  1259. /*FI*/}
  1260. /*FI*/}
  1261. /*FI*//*IF*/if (_flag) {
  1262. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1263. char b1='\51';
  1264. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1265. }/*]*/
  1266. /*]*/
  1267. }
  1268. /*FI*/}
  1269. /*No:CALL_INFIX_OR_ELSE.nb_errors*/
  1270. /*No:CALL_INFIX_OR_ELSE.feature_name*/
  1271. /*No:CALL_INFIX_OR_ELSE.fz_iinaiv*/
  1272. /*No:CALL_INFIX_OR_ELSE.arg_count*/
  1273. /*No:CALL_INFIX_OR_ELSE.dca_inline_argument*/
  1274. /*No:CALL_INFIX_OR_ELSE.run_feature*/
  1275. /*No:CALL_INFIX_OR_ELSE.call_proc_call_c2c*/
  1276. /*No:CALL_INFIX_OR_ELSE.start_position*/
  1277. /*No:CALL_INFIX_OR_ELSE.us_or_else*/
  1278. /*No:CALL_INFIX_OR_ELSE.target*/
  1279. /*No:CALL_INFIX_OR_ELSE.compile_to_c*/
  1280. /*No:CALL_INFIX_OR_ELSE.c_simple*/
  1281. T0* r278to_runnable(T278* C,T0* a1){
  1282. T0* R=NULL;
  1283. T0* _tla=NULL;
  1284. T0* _a=NULL;
  1285. /*IF*/if (((((T278*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1286. r278to_runnable_0(C,a1);
  1287. _a=X431to_runnable((((T278*)C))->_arguments/*24*/,a1);
  1288. /*IF*/if ((_a)==((void*)(NULL))) {
  1289. r278error(X662start_position(r278arg1(C)),((T0*)ms55_470));
  1290. }
  1291. else {
  1292. C->_arguments=_a;
  1293. }
  1294. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1295. X431match_with((((T278*)C))->_arguments/*24*/,(((T278*)C))->_run_feature/*16*/);
  1296. }
  1297. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1298. _tla=(((T278*)C))->_result_type/*20*/;
  1299. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1300. case 239: 
  1301. break;
  1302. default:
  1303. _tla=NULL;
  1304. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  1305. C->_result_type=X291run_type(X662result_type(r278arg1(C)));
  1306. }
  1307. /*FI*/}
  1308. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1309. R=(T0*)C;
  1310. }
  1311. /*FI*/}
  1312. else {
  1313. R=r278twin(C);
  1314. /*[IRF3.3set_current_type*/((((T278*)(((T278*)R))))->_current_type)=(NULL);
  1315. /*]*/
  1316. R=r278to_runnable(((T278*)R),a1);
  1317. }
  1318. /*FI*/return R;
  1319. }
  1320. /*No:CALL_INFIX_OR_ELSE.result_type*/
  1321. /*No:CALL_INFIX_OR_ELSE.is_result*/
  1322. T0* r278twin(T278* C){
  1323. T0* R=NULL;
  1324. R=malloc(sizeof(*C));
  1325. *((T278*)R)=*C;
  1326. return R;
  1327. }
  1328. /*No:CALL_INFIX_OR_ELSE.set_current_type*/
  1329. T0* r278operator(void){
  1330. T0* R=NULL;
  1331. R=((T0*)ms42_473);
  1332. return R;
  1333. }
  1334. int r278is_static(T278* C){
  1335. int R=0;
  1336. /*IF*/if (X291is_boolean(X662result_type((((T278*)C))->_target/*12*/))) {
  1337. /*IF*/if (X662is_static((((T278*)C))->_target/*12*/)) {
  1338. /*IF*/if ((X662static_value((((T278*)C))->_target/*12*/))==(1)) {
  1339. R=1;
  1340. C->_static_value_mem=1;
  1341. }
  1342. else {
  1343. R=X662is_static(r278arg1(C));
  1344. C->_static_value_mem=X662static_value(r278arg1(C));
  1345. }
  1346. /*FI*/}
  1347. /*FI*/}
  1348. /*FI*/return R;
  1349. }
  1350. /*No:CALL_INFIX_OR_ELSE.fz_07*/
  1351. /*No:CALL_INFIX_OR_ELSE.can_be_dropped*/
  1352. /*No:CALL_INFIX_OR_ELSE.current_type*/
  1353. void r278compile_to_c_old(T278* C){
  1354. X662compile_to_c_old((((T278*)C))->_target/*12*/);
  1355. /*IF*/{/*AT*/X431compile_to_c_old((((T278*)C))->_arguments/*24*/);
  1356. }
  1357. /*FI*/}
  1358. /*No:CALL_INFIX_OR_ELSE.static_value_mem*/
  1359. void r278make_call_1(T278* C,T0* a1,T0* a2,T0* a3){
  1360. C->_target=a1;
  1361. C->_feature_name=a2;
  1362. C->_arguments=a3;
  1363. }
  1364. /*No:CALL_INFIX_OR_ELSE.is_manifest_string*/
  1365. /*No:CALL_INFIX_OR_ELSE.is_void*/
  1366. void r278to_runnable_0(T278* C,T0* a1){
  1367. C->_current_type=a1;
  1368. r278cpc_to_runnable(C,a1);
  1369. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T278*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  1370. /*IF*/if (((((T278*)C))->_result_type/*20*/)==((void*)(NULL))) {
  1371. r683add_position(X496start_position((((T278*)C))->_run_feature/*16*/));
  1372. r278error((((T454*)((T454*)((((T278*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
  1373. }
  1374.  else if (X291is_like_current((((T278*)C))->_result_type/*20*/)) {
  1375. C->_result_type=X662result_type((((T278*)C))->_target/*12*/);
  1376. }
  1377. /*FI*/}
  1378. /*No:CALL_INFIX_OR_ELSE.is_pre_computable*/
  1379. void r278cpc_to_runnable(T278* C,T0* a1){
  1380. T0* _rc=NULL;
  1381. T0* _t=NULL;
  1382. _t=X662to_runnable((((T278*)C))->_target/*12*/,a1);
  1383. /*IF*/if ((_t)==((void*)(NULL))) {
  1384. r683add_position(X662start_position((((T278*)C))->_target/*12*/));
  1385. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1386. r683fatal_error(((T683*)(oBC364eh)),b1);
  1387. }/*]*/
  1388. }
  1389. /*FI*/C->_target=_t;
  1390. _rc=X291run_class(X662result_type((((T278*)C))->_target/*12*/));
  1391. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  1392. r576update((((T278*)C))->_target/*12*/,(((T278*)C))->_run_feature/*16*/);
  1393. }
  1394. int r278use_current(T278* C){
  1395. int R=0;
  1396. /*IF*/{/*AT*/R=X431use_current((((T278*)C))->_arguments/*24*/);
  1397. }
  1398. /*FI*//*IF*/if (R) {
  1399. }
  1400.  else if (X662is_current((((T278*)C))->_target/*12*/)) {
  1401. R=X496use_current((((T278*)C))->_run_feature/*16*/);
  1402. }
  1403. else {
  1404. R=X662use_current((((T278*)C))->_target/*12*/);
  1405. }
  1406. /*FI*/return R;
  1407. }
  1408. void r278finalize(T278* C){
  1409. T0* _rf=NULL;
  1410. T0* _rc=NULL;
  1411. _rf=(((T278*)C))->_run_feature/*16*/;
  1412. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  1413. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  1414. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  1415. C->_run_feature=_rf;
  1416. }
  1417. /*FI*/}
  1418. void r278error(T0* a1,T0* a2){
  1419. r683add_position(a1);
  1420. r683error(((T683*)(oBC364eh)),a2);
  1421. }
  1422. /*No:CALL_INFIX_OR_ELSE.isa_dca_inline_argument*/
  1423. /*No:CALL_INFIX_OR_ELSE.fatal_error*/
  1424. /*No:CALL_INFIX_OR_ELSE.fz_bad_argument*/
  1425. T0* r278arg1(T278* C){
  1426. T0* R=NULL;
  1427. R=X431first((((T278*)C))->_arguments/*24*/);
  1428. return R;
  1429. }
  1430. void r278afd_check(T278* C){
  1431. T0* _running=NULL;
  1432. T0* _rc=NULL;
  1433. _rc=X291run_class(X662result_type((((T278*)C))->_target/*12*/));
  1434. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  1435. /*IF*/if ((_running)==((void*)(NULL))) {
  1436. r683add_position(X662start_position((((T278*)C))->_target/*12*/));
  1437. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  1438. r7append(((T7*)(oBC683explanation)),b1);
  1439. }/*]*/
  1440. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  1441. r7append(((T7*)(oBC683explanation)),b1);
  1442. }/*]*/
  1443. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  1444. r7append(((T7*)(oBC683explanation)),b1);
  1445. }/*]*/
  1446. r683print_as_warning(((T683*)(oBC364eh)));
  1447. r355set_at_run_time(((T355*)_rc));
  1448. }
  1449.  else if ((r396count(((T396*)_running)))>(0)) {
  1450. r576update((((T278*)C))->_target/*12*/,(((T278*)C))->_run_feature/*16*/);
  1451. }
  1452. /*FI*/X662afd_check((((T278*)C))->_target/*12*/);
  1453. /*IF*/{/*AT*/X431afd_check((((T278*)C))->_arguments/*24*/);
  1454. }
  1455. /*FI*/}
  1456. /*No:FILE_TOOLS.delete*/
  1457. int r670same_files(T0* a1,T0* a2){
  1458. int R=0;
  1459. r675connect_to(((T675*)(oBC670std_fr1)),a1);
  1460. /*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC670std_fr1))))->_path/*4*/)!=(NULL)/*)*/) {
  1461. r675connect_to(((T675*)(oBC670std_fr2)),a2);
  1462. /*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC670std_fr2))))->_path/*4*/)!=(NULL)/*)*/) {
  1463. R=r675same_as(((T675*)(oBC670std_fr1)),oBC670std_fr2);
  1464. }
  1465. /*FI*/}
  1466. else {
  1467. r675disconnect(((T675*)(oBC670std_fr1)));
  1468. }
  1469. /*FI*/return R;
  1470. }
  1471. T0*oBC670std_fr1=NULL;
  1472. T0*oBC670std_fr2=NULL;
  1473. int r670is_readable(T0* a1){
  1474. int R=0;
  1475. r675connect_to(((T675*)(oBC670std_fr1)),a1);
  1476. R=/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC670std_fr1))))->_path/*4*/)!=(NULL)/*)*/;
  1477. /*IF*/if (R) {
  1478. r675disconnect(((T675*)(oBC670std_fr1)));
  1479. }
  1480. /*FI*/return R;
  1481. }
  1482. /*No:FILE_TOOLS.rename_to*/
  1483. /*No:CALL_PREFIX_PLUS.arguments*/
  1484. T0* r767add_comment(T767* C,T0* a1){
  1485. T0* R=NULL;
  1486. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1487. R=(T0*)C;
  1488. }
  1489. else {
  1490. {T529*n=malloc(sizeof(*n));
  1491. *n=M529;
  1492. r529make(n,(T0*)C,a1);
  1493. R=(T0*)n;
  1494. }
  1495. }
  1496. /*FI*/return R;
  1497. }
  1498. int r767to_integer(T767* C){
  1499. int R=0;
  1500. T0* _rf1=NULL;
  1501. _rf1=(((T767*)C))->_run_feature/*16*/;
  1502. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  1503. case 808: 
  1504. break;
  1505. default:
  1506. _rf1=NULL;
  1507. };/*IF*/if ((_rf1)==((void*)(NULL))) {
  1508. r767error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1509. }
  1510. else {
  1511. R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/);
  1512. }
  1513. /*FI*/return R;
  1514. }
  1515. int r767is_a(T767* C,T0* a1){
  1516. int R=0;
  1517. R=X291is_a(X291run_type((((T767*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  1518. /*IF*/if (!(R)) {
  1519. r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  1520. r767error(X662start_position(a1),((T0*)ms4_662));
  1521. }
  1522. /*FI*/return R;
  1523. }
  1524. /*No:CALL_PREFIX_PLUS.is_current*/
  1525. void r767mapping_c_arg(T767* C,T0* a1){
  1526. T0* _actual_type=NULL;
  1527. _actual_type=X291run_type((((T767*)C))->_result_type/*20*/);
  1528. /*IF*/if (X291is_reference(_actual_type)) {
  1529. /*IF*/if (X291is_reference(a1)) {
  1530. r767compile_to_c(C);
  1531. }
  1532. else {
  1533. X291to_expanded(_actual_type);
  1534. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1535. char b1='\50';
  1536. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1537. }/*]*/
  1538. /*]*/
  1539. r767compile_to_c(C);
  1540. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1541. char b1='\51';
  1542. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1543. }/*]*/
  1544. /*]*/
  1545. }
  1546. /*FI*/}
  1547. else {
  1548. /*IF*/if (X291is_reference(a1)) {
  1549. X291to_reference(_actual_type);
  1550. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1551. char b1='\50';
  1552. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1553. }/*]*/
  1554. /*]*/
  1555. r767compile_to_c(C);
  1556. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1557. char b1='\51';
  1558. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1559. }/*]*/
  1560. /*]*/
  1561. }
  1562. else {
  1563. /*IF*/if (X291need_c_struct(a1)) {
  1564. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1565. char b1='\46';
  1566. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1567. }/*]*/
  1568. /*]*/
  1569. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1570. char b1='\50';
  1571. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1572. }/*]*/
  1573. /*]*/
  1574. r767compile_to_c(C);
  1575. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1576. char b1='\51';
  1577. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1578. }/*]*/
  1579. /*]*/
  1580. }
  1581. else {
  1582. r767compile_to_c(C);
  1583. }
  1584. /*FI*/}
  1585. /*FI*/}
  1586. /*FI*/}
  1587. /*No:CALL_PREFIX_PLUS.static_value*/
  1588. void r767make(T767* C,T0* a1,T0* a2){
  1589. {T406*n=malloc(sizeof(*n));
  1590. *n=M406;
  1591. r406make(n,r767operator(),a1);
  1592. C->_feature_name=(T0*)n;
  1593. }
  1594. r767make_call0(C,a2,(((T767*)C))->_feature_name/*24*/);
  1595. }
  1596. void r767mapping_c_target(T767* C,T0* a1){
  1597. T0* _actual_type=NULL;
  1598. int _flag=0;
  1599. _flag=r324call_invariant_start(a1);
  1600. _actual_type=X291run_type((((T767*)C))->_result_type/*20*/);
  1601. /*IF*/if (X291is_reference(_actual_type)) {
  1602. /*IF*/if (X291is_reference(a1)) {
  1603. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1604. char b1='\50';
  1605. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1606. }/*]*/
  1607. /*]*/
  1608. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1609. char b1='\50';
  1610. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1611. }/*]*/
  1612. /*]*/
  1613. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1614. char b1='T';
  1615. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1616. }/*]*/
  1617. /*]*/
  1618. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  1619. /*]*/
  1620. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1621. char b1='\52';
  1622. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1623. }/*]*/
  1624. /*]*/
  1625. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1626. char b1='\51';
  1627. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1628. }/*]*/
  1629. /*]*/
  1630. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1631. char b1='\50';
  1632. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1633. }/*]*/
  1634. /*]*/
  1635. r767compile_to_c(C);
  1636. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1637. char b1='\51';
  1638. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1639. }/*]*/
  1640. /*]*/
  1641. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1642. char b1='\51';
  1643. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1644. }/*]*/
  1645. /*]*/
  1646. }
  1647. else {
  1648. X291to_expanded(_actual_type);
  1649. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1650. char b1='\50';
  1651. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1652. }/*]*/
  1653. /*]*/
  1654. r767compile_to_c(C);
  1655. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1656. char b1='\51';
  1657. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1658. }/*]*/
  1659. /*]*/
  1660. }
  1661. /*FI*/}
  1662. else {
  1663. /*IF*/if (X291is_reference(a1)) {
  1664. X291to_reference(_actual_type);
  1665. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1666. char b1='\50';
  1667. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1668. }/*]*/
  1669. /*]*/
  1670. r767compile_to_c(C);
  1671. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1672. char b1='\51';
  1673. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1674. }/*]*/
  1675. /*]*/
  1676. }
  1677. else {
  1678. /*IF*/if (X291need_c_struct(a1)) {
  1679. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1680. char b1='\46';
  1681. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1682. }/*]*/
  1683. /*]*/
  1684. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1685. char b1='\50';
  1686. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1687. }/*]*/
  1688. /*]*/
  1689. r767compile_to_c(C);
  1690. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1691. char b1='\51';
  1692. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1693. }/*]*/
  1694. /*]*/
  1695. }
  1696. else {
  1697. r767compile_to_c(C);
  1698. }
  1699. /*FI*/}
  1700. /*FI*/}
  1701. /*FI*//*IF*/if (_flag) {
  1702. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1703. char b1='\51';
  1704. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1705. }/*]*/
  1706. /*]*/
  1707. }
  1708. /*FI*/}
  1709. /*No:CALL_PREFIX_PLUS.nb_errors*/
  1710. /*No:CALL_PREFIX_PLUS.feature_name*/
  1711. /*No:CALL_PREFIX_PLUS.fz_iinaiv*/
  1712. /*No:CALL_PREFIX_PLUS.arg_count*/
  1713. void r767dca_inline_argument(T767* C,T0* a1){
  1714. X662dca_inline_argument((((T767*)C))->_target/*12*/,a1);
  1715. }
  1716. /*No:CALL_PREFIX_PLUS.run_feature*/
  1717. /*No:CALL_PREFIX_PLUS.call_proc_call_c2c*/
  1718. /*No:CALL_PREFIX_PLUS.start_position*/
  1719. /*No:CALL_PREFIX_PLUS.target*/
  1720. /*No:CALL_PREFIX_PLUS.us_is_expanded_type*/
  1721. void r767compile_to_c(T767* C){
  1722. T0* _n=NULL;
  1723. _n=(((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_to_string/*4*/;
  1724. /*IF*/if ((((T0*)ms83_473))==((void*)(_n))) {
  1725. /*IF*/if (X291is_expanded(X291run_type(X662result_type((((T767*)C))->_target/*12*/)))) {
  1726. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1727. char b1='1';
  1728. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1729. }/*]*/
  1730. /*]*/
  1731. }
  1732. else {
  1733. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1734. char b1='0';
  1735. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1736. }/*]*/
  1737. /*]*/
  1738. }
  1739. /*FI*/}
  1740.  else if ((((T0*)ms82_473))==((void*)(_n))) {
  1741. /*IF*/if (X291is_basic_eiffel_expanded(X662result_type((((T767*)C))->_target/*12*/))) {
  1742. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1743. char b1='1';
  1744. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1745. }/*]*/
  1746. /*]*/
  1747. }
  1748. else {
  1749. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1750. char b1='0';
  1751. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1752. }/*]*/
  1753. /*]*/
  1754. }
  1755. /*FI*/}
  1756. else {
  1757. /*[IRF3.6call_proc_call_c2c*/{T767* C1=C;
  1758. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1759. }/*]*/
  1760. }
  1761. /*FI*/}
  1762. /*No:CALL_PREFIX_PLUS.c_simple*/
  1763. T0* r767to_runnable(T767* C,T0* a1){
  1764. T0* R=NULL;
  1765. /*IF*/if (((((T767*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1766. r767to_runnable_0(C,a1);
  1767. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T767*)C))->_run_feature/*16*/))>(0))) {
  1768. r683add_position((((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_start_position/*8*/);
  1769. r767error(X496start_position((((T767*)C))->_run_feature/*16*/),((T0*)ms1_752));
  1770. }
  1771. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1772. R=(T0*)C;
  1773. }
  1774. /*FI*/}
  1775. else {
  1776. R=r767twin(C);
  1777. /*[IRF3.3set_current_type*/((((T767*)(((T767*)R))))->_current_type)=(NULL);
  1778. /*]*/
  1779. R=r767to_runnable(((T767*)R),a1);
  1780. }
  1781. /*FI*/return R;
  1782. }
  1783. /*No:CALL_PREFIX_PLUS.result_type*/
  1784. /*No:CALL_PREFIX_PLUS.is_result*/
  1785. T0* r767twin(T767* C){
  1786. T0* R=NULL;
  1787. R=malloc(sizeof(*C));
  1788. *((T767*)R)=*C;
  1789. return R;
  1790. }
  1791. /*No:CALL_PREFIX_PLUS.set_current_type*/
  1792. T0* r767operator(void){
  1793. T0* R=NULL;
  1794. R=((T0*)ms43_473);
  1795. return R;
  1796. }
  1797. int r767is_static(T767* C){
  1798. int R=0;
  1799. /*IF*/if (X291is_integer(X662result_type((((T767*)C))->_target/*12*/))) {
  1800. /*IF*/if (X662is_static((((T767*)C))->_target/*12*/)) {
  1801. R=1;
  1802. C->_static_value_mem=X662static_value((((T767*)C))->_target/*12*/);
  1803. }
  1804. /*FI*/}
  1805. /*FI*/return R;
  1806. }
  1807. /*No:CALL_PREFIX_PLUS.fz_07*/
  1808. /*No:CALL_PREFIX_PLUS.us_is_basic_expanded_type*/
  1809. int r767can_be_dropped(T767* C){
  1810. int R=0;
  1811. /*IF*/if (X662can_be_dropped((((T767*)C))->_target/*12*/)) {
  1812. R=X496can_be_dropped((((T767*)C))->_run_feature/*16*/);
  1813. }
  1814. /*FI*/return R;
  1815. }
  1816. /*No:CALL_PREFIX_PLUS.current_type*/
  1817. void r767compile_to_c_old(T767* C){
  1818. X662compile_to_c_old((((T767*)C))->_target/*12*/);
  1819. /*IF*//*AF*//*AE*/
  1820. /*FI*/}
  1821. /*No:CALL_PREFIX_PLUS.static_value_mem*/
  1822. /*No:CALL_PREFIX_PLUS.is_manifest_string*/
  1823. /*No:CALL_PREFIX_PLUS.is_void*/
  1824. void r767to_runnable_0(T767* C,T0* a1){
  1825. C->_current_type=a1;
  1826. r767cpc_to_runnable(C,a1);
  1827. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T767*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  1828. /*IF*/if (((((T767*)C))->_result_type/*20*/)==((void*)(NULL))) {
  1829. r683add_position(X496start_position((((T767*)C))->_run_feature/*16*/));
  1830. r767error((((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  1831. }
  1832.  else if (X291is_like_current((((T767*)C))->_result_type/*20*/)) {
  1833. C->_result_type=X662result_type((((T767*)C))->_target/*12*/);
  1834. }
  1835. /*FI*/}
  1836. /*No:CALL_PREFIX_PLUS.is_pre_computable*/
  1837. void r767cpc_to_runnable(T767* C,T0* a1){
  1838. T0* _rc=NULL;
  1839. T0* _t=NULL;
  1840. _t=X662to_runnable((((T767*)C))->_target/*12*/,a1);
  1841. /*IF*/if ((_t)==((void*)(NULL))) {
  1842. r683add_position(X662start_position((((T767*)C))->_target/*12*/));
  1843. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1844. r683fatal_error(((T683*)(oBC364eh)),b1);
  1845. }/*]*/
  1846. }
  1847. /*FI*/C->_target=_t;
  1848. _rc=X291run_class(X662result_type((((T767*)C))->_target/*12*/));
  1849. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  1850. r576update((((T767*)C))->_target/*12*/,(((T767*)C))->_run_feature/*16*/);
  1851. }
  1852. int r767use_current(T767* C){
  1853. int R=0;
  1854. /*IF*//*AF*//*AE*/
  1855. /*FI*//*IF*/if (R) {
  1856. }
  1857.  else if (X662is_current((((T767*)C))->_target/*12*/)) {
  1858. R=X496use_current((((T767*)C))->_run_feature/*16*/);
  1859. }
  1860. else {
  1861. R=X662use_current((((T767*)C))->_target/*12*/);
  1862. }
  1863. /*FI*/return R;
  1864. }
  1865. void r767make_call0(T767* C,T0* a1,T0* a2){
  1866. C->_target=a1;
  1867. C->_feature_name=a2;
  1868. }
  1869. void r767finalize(T767* C){
  1870. T0* _rf=NULL;
  1871. T0* _rc=NULL;
  1872. _rf=(((T767*)C))->_run_feature/*16*/;
  1873. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  1874. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  1875. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  1876. C->_run_feature=_rf;
  1877. }
  1878. /*FI*/}
  1879. void r767error(T0* a1,T0* a2){
  1880. r683add_position(a1);
  1881. r683error(((T683*)(oBC364eh)),a2);
  1882. }
  1883. int r767isa_dca_inline_argument(T767* C){
  1884. int R=0;
  1885. /*IF*/if (X291is_integer((((T767*)C))->_result_type/*20*/)) {
  1886. R=X662isa_dca_inline_argument((((T767*)C))->_target/*12*/);
  1887. }
  1888. /*FI*/return R;
  1889. }
  1890. /*No:CALL_PREFIX_PLUS.fatal_error*/
  1891. /*No:CALL_PREFIX_PLUS.us_plus*/
  1892. void r767afd_check(T767* C){
  1893. T0* _running=NULL;
  1894. T0* _rc=NULL;
  1895. _rc=X291run_class(X662result_type((((T767*)C))->_target/*12*/));
  1896. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  1897. /*IF*/if ((_running)==((void*)(NULL))) {
  1898. r683add_position(X662start_position((((T767*)C))->_target/*12*/));
  1899. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  1900. r7append(((T7*)(oBC683explanation)),b1);
  1901. }/*]*/
  1902. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  1903. r7append(((T7*)(oBC683explanation)),b1);
  1904. }/*]*/
  1905. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  1906. r7append(((T7*)(oBC683explanation)),b1);
  1907. }/*]*/
  1908. r683print_as_warning(((T683*)(oBC364eh)));
  1909. r355set_at_run_time(((T355*)_rc));
  1910. }
  1911.  else if ((r396count(((T396*)_running)))>(0)) {
  1912. r576update((((T767*)C))->_target/*12*/,(((T767*)C))->_run_feature/*16*/);
  1913. }
  1914. /*FI*/X662afd_check((((T767*)C))->_target/*12*/);
  1915. /*IF*//*AF*//*AE*/
  1916. /*FI*/}
  1917. T0* r880add_comment(T880* C,T0* a1){
  1918. T0* R=NULL;
  1919. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1920. R=(T0*)C;
  1921. }
  1922.  else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) {
  1923. R=(T0*)C;
  1924. }
  1925. else {
  1926. {T46*n=malloc(sizeof(*n));
  1927. *n=M46;
  1928. r46make(n,(T0*)C,a1);
  1929. R=(T0*)n;
  1930. }
  1931. }
  1932. /*FI*/}
  1933. /*FI*/return R;
  1934. }
  1935. /*No:E_LOOP.fz_is_not_boolean*/
  1936. void r880make(T880* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
  1937. C->_start_position=a1;
  1938. C->_initialize=a2;
  1939. C->_invariant_clause=a3;
  1940. C->_variant_clause=a4;
  1941. C->_until_expression=a5;
  1942. C->_loop_body=a6;
  1943. }
  1944. /*No:E_LOOP.nb_errors*/
  1945. /*No:E_LOOP.start_position*/
  1946. /*No:E_LOOP.until_expression*/
  1947. void r880compile_to_c(T880* C){
  1948. int _invariant_flag=0;
  1949. int _variant_flag=0;
  1950. int _loop_check=0;
  1951. _loop_check=r590loop_check(((T590*)(oBC364run_control)));
  1952. /*IF*/if ((_loop_check)&&(((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL)))) {
  1953. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_880));
  1954. /*]*/
  1955. _variant_flag=1;
  1956. }
  1957. /*FI*//*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) {
  1958. r592compile_to_c(((T592*)((((T880*)C))->_initialize/*12*/)));
  1959. }
  1960. /*FI*//*IF*/if ((_loop_check)&&(((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL)))) {
  1961. r213compile_to_c(((T213*)((((T880*)C))->_invariant_clause/*16*/)));
  1962. _invariant_flag=1;
  1963. }
  1964. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_880));
  1965. /*]*/
  1966. /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
  1967. r324trace_boolean_expression(((T324*)(oBC364cpp)),(((T880*)C))->_until_expression/*24*/);
  1968. }
  1969. else {
  1970. X662compile_to_c((((T880*)C))->_until_expression/*24*/);
  1971. }
  1972. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms3_880));
  1973. /*]*/
  1974. /*IF*/if (_variant_flag) {
  1975. r324variant_check(((T324*)(oBC364cpp)),/*X856*/((T0*)(((T145*)((T145*)((((T880*)C))->_variant_clause/*20*/))))->_expression/*8*/));
  1976. }
  1977. /*FI*//*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) {
  1978. r592compile_to_c(((T592*)((((T880*)C))->_loop_body/*28*/)));
  1979. }
  1980. /*FI*//*IF*/if (_invariant_flag) {
  1981. r213compile_to_c(((T213*)((((T880*)C))->_invariant_clause/*16*/)));
  1982. }
  1983. /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470));
  1984. /*]*/
  1985. /*IF*/if (_variant_flag) {
  1986. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470));
  1987. /*]*/
  1988. }
  1989. /*FI*/}
  1990. T0* r880to_runnable(T880* C,T0* a1){
  1991. T0* R=NULL;
  1992. int _loop_check=0;
  1993. T0* _ue=NULL;
  1994. _loop_check=r590loop_check(((T590*)(oBC364run_control)));
  1995. /*IF*/if (((((T880*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  1996. C->_run_compound=a1;
  1997. /*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) {
  1998. C->_initialize=r592to_runnable(((T592*)((((T880*)C))->_initialize/*12*/)),r880current_type(C));
  1999. /*IF*/if (((((T880*)C))->_initialize/*12*/)==((void*)(NULL))) {
  2000. r880error((((T880*)C))->_start_position/*8*/,((T0*)ms4_880));
  2001. }
  2002. /*FI*/}
  2003. /*FI*//*IF*/if ((_loop_check)&&(((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL)))) {
  2004. C->_invariant_clause=r213to_runnable(((T213*)((((T880*)C))->_invariant_clause/*16*/)),(((T592*)((T592*)a1)))->_current_type/*4*/);
  2005. /*IF*/if (((((T880*)C))->_invariant_clause/*16*/)==((void*)(NULL))) {
  2006. r880error((((T880*)C))->_start_position/*8*/,((T0*)ms5_880));
  2007. }
  2008. /*FI*/}
  2009. /*FI*//*IF*/if ((_loop_check)&&(((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL)))) {
  2010. C->_variant_clause=X856to_runnable((((T880*)C))->_variant_clause/*20*/,r880current_type(C));
  2011. /*IF*/if (((((T880*)C))->_variant_clause/*20*/)==((void*)(NULL))) {
  2012. r880error((((T880*)C))->_start_position/*8*/,((T0*)ms6_880));
  2013. }
  2014. /*FI*/}
  2015. /*FI*/_ue=X662to_runnable((((T880*)C))->_until_expression/*24*/,r880current_type(C));
  2016. /*IF*/if ((_ue)!=((void*)(NULL))) {
  2017. /*IF*/if (!(X291is_boolean(X662result_type(_ue)))) {
  2018. r880error(X662start_position(_ue),((T0*)ms7_880));
  2019. r683add_type(X662result_type(_ue),((T0*)ms73_470));
  2020. r683print_as_error(((T683*)(oBC364eh)));
  2021. }
  2022. /*FI*/C->_until_expression=_ue;
  2023. }
  2024. else {
  2025. r880error((((T880*)C))->_start_position/*8*/,((T0*)ms8_880));
  2026. }
  2027. /*FI*//*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) {
  2028. C->_loop_body=r592to_runnable(((T592*)((((T880*)C))->_loop_body/*28*/)),r880current_type(C));
  2029. /*IF*/if (((((T880*)C))->_loop_body/*28*/)==((void*)(NULL))) {
  2030. r880error((((T880*)C))->_start_position/*8*/,((T0*)ms9_880));
  2031. }
  2032. /*FI*/}
  2033. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  2034. R=(T0*)C;
  2035. }
  2036. /*FI*/}
  2037. else {
  2038. {T880*n=malloc(sizeof(*n));
  2039. *n=M880;
  2040. r880make(n,(((T880*)C))->_start_position/*8*/,(((T880*)C))->_initialize/*12*/,(((T880*)C))->_invariant_clause/*16*/,(((T880*)C))->_variant_clause/*20*/,(((T880*)C))->_until_expression/*24*/,(((T880*)C))->_loop_body/*28*/);
  2041. R=(T0*)n;
  2042. }
  2043. R=r880to_runnable(((T880*)R),a1);
  2044. }
  2045. /*FI*/return R;
  2046. }
  2047. /*No:E_LOOP.fz_12*/
  2048. /*No:E_LOOP.variant_clause*/
  2049. /*No:E_LOOP.invariant_clause*/
  2050. /*No:E_LOOP.loop_body*/
  2051. T0* r880current_type(T880* C){
  2052. T0* R=NULL;
  2053. /*IF*/if (((((T880*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  2054. R=(((T592*)((T592*)((((T880*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  2055. }
  2056. /*FI*/return R;
  2057. }
  2058. /*No:E_LOOP.run_compound*/
  2059. /*No:E_LOOP.is_pre_computable*/
  2060. int r880use_current(T880* C){
  2061. int R=0;
  2062. int _loop_check=0;
  2063. _loop_check=r590loop_check(((T590*)(oBC364run_control)));
  2064. /*IF*/if ((_loop_check)&&(((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL)))) {
  2065. R=(R)||(X856use_current((((T880*)C))->_variant_clause/*20*/));
  2066. }
  2067. /*FI*//*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) {
  2068. R=(R)||(r592use_current(((T592*)((((T880*)C))->_initialize/*12*/))));
  2069. }
  2070. /*FI*/R=(R)||(X662use_current((((T880*)C))->_until_expression/*24*/));
  2071. /*IF*/if ((_loop_check)&&(((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL)))) {
  2072. R=(R)||(r213use_current(((T213*)((((T880*)C))->_invariant_clause/*16*/))));
  2073. }
  2074. /*FI*//*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) {
  2075. R=(R)||(r592use_current(((T592*)((((T880*)C))->_loop_body/*28*/))));
  2076. }
  2077. /*FI*/return R;
  2078. }
  2079. void r880error(T0* a1,T0* a2){
  2080. r683add_position(a1);
  2081. r683error(((T683*)(oBC364eh)),a2);
  2082. }
  2083. /*No:E_LOOP.end_mark_comment*/
  2084. /*No:E_LOOP.initialize*/
  2085. void r880afd_check(T880* C){
  2086. /*IF*/if (r590loop_check(((T590*)(oBC364run_control)))) {
  2087. /*IF*/if (((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL))) {
  2088. X856afd_check((((T880*)C))->_variant_clause/*20*/);
  2089. }
  2090. /*FI*//*IF*/if (((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL))) {
  2091. r213afd_check(((T213*)((((T880*)C))->_invariant_clause/*16*/)));
  2092. }
  2093. /*FI*/}
  2094. /*FI*//*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) {
  2095. r592afd_check(((T592*)((((T880*)C))->_initialize/*12*/)));
  2096. }
  2097. /*FI*/X662afd_check((((T880*)C))->_until_expression/*24*/);
  2098. /*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) {
  2099. r592afd_check(((T592*)((((T880*)C))->_loop_body/*28*/)));
  2100. }
  2101. /*FI*/}
  2102. void r393good_end(T393* C,T0* a1){
  2103. /*IF*/if (!(r7has_string(((T7*)(r52item(((T52*)((((T393*)C))->_list/*4*/)),1))),(((T451*)((T451*)a1)))->_to_string/*0*/))) {
  2104. r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/);
  2105. r393warning((((T393*)C))->_start_position/*0*/,((T0*)ms10_393));
  2106. }
  2107. /*FI*/}
  2108. void r393make(T393* C,T0* a1,T0* a2){
  2109. C->_start_position=a1;
  2110. C->_list=a2;
  2111. }
  2112. /*No:COMMENT.start_position*/
  2113. /*No:COMMENT.list*/
  2114. /*No:COMMENT.count*/
  2115. /*No:COMMENT.add_last*/
  2116. void r393append(T393* C,T0* a1){
  2117. int _i=0;
  2118. _i=1;
  2119. while (!((_i)>((((T52*)((T52*)((((T393*)((T393*)a1)))->_list/*4*/))))->_upper/*8*/))) {
  2120. /*[IRF3.5add_last*/r52add_last(((T52*)((((T393*)C))->_list/*4*/)),r52item(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)),_i));
  2121. /*]*/
  2122. _i=(_i)+(1);
  2123. }
  2124. }
  2125. void r393warning(T0* a1,T0* a2){
  2126. r683add_position(a1);
  2127. r683warning(((T683*)(oBC364eh)),a2);
  2128. }
  2129. void r723make(T723* C,T0* a1,T0* a2){
  2130. C->_name=a1;
  2131. /*X361*//*[IRF3.3set_result_type*/((((T886*)(((T886*)((((T723*)C))->_name/*4*/)))))->_result_type)=(a2);
  2132. /*]*/
  2133. }
  2134. /*No:DECLARATION_1.name*/
  2135. void r723append_in(T723* C,T0* a1){
  2136. X535add_last(a1,(((T723*)C))->_name/*4*/);
  2137. }
  2138. /*No:DECLARATION_1.count*/
  2139. /*No:INDEX_LIST.make*/
  2140. /*No:INDEX_LIST.list*/
  2141.  
  2142.