home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / compile_to_c24.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  44.8 KB  |  1,589 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. int r239id(T239* C){
  10. int R=0;
  11. R=(((T355*)((T355*)(r239run_class(C)))))->_id/*4*/;
  12. return R;
  13. }
  14. T0*oBC646tmp_written_mark=NULL;
  15. int r239has_creation(T239* C,T0* a1){
  16. int R=0;
  17. R=X291has_creation((((T239*)C))->_run_type/*8*/,a1);
  18. return R;
  19. }
  20. /*No:TYPE_LIKE_ARGUMENT.is_anchored*/
  21. int r239is_array(T239* C){
  22. int R=0;
  23. R=X291is_array((((T239*)C))->_run_type/*8*/);
  24. return R;
  25. }
  26. int r239is_a(T239* C,T0* a1){
  27. int R=0;
  28. R=X291is_a((((T239*)C))->_run_type/*8*/,a1);
  29. return R;
  30. }
  31. void r239c_initialize_in(T239* C,T0* a1){
  32. X291c_initialize_in((((T239*)C))->_run_type/*8*/,a1);
  33. }
  34. void r239c_type_for_argument_in(T239* C,T0* a1){
  35. X291c_type_for_argument_in((((T239*)C))->_run_type/*8*/,a1);
  36. }
  37. void r239gc_call_new_in(T239* C,T0* a1){
  38. r7append(((T7*)a1),((T0*)ms115_470));
  39. r2append_in(r239id(C),a1);
  40. r7extend(((T7*)a1),'\50');
  41. r7extend(((T7*)a1),'\51');
  42. }
  43. int r239is_pointer(T239* C){
  44. int R=0;
  45. R=X291is_pointer((((T239*)C))->_run_type/*8*/);
  46. return R;
  47. }
  48. /*No:TYPE_LIKE_ARGUMENT.run_type*/
  49. int r239is_dummy_expanded(T239* C){
  50. int R=0;
  51. R=X291is_dummy_expanded((((T239*)C))->_run_type/*8*/);
  52. return R;
  53. }
  54. int r239is_string(T239* C){
  55. int R=0;
  56. R=X291is_string((((T239*)C))->_run_type/*8*/);
  57. return R;
  58. }
  59. int r239space_for_variable(T239* C){
  60. int R=0;
  61. R=X291space_for_variable((((T239*)C))->_run_type/*8*/);
  62. return R;
  63. }
  64. /*No:TYPE_LIKE_ARGUMENT.is_like_feature*/
  65. /*No:TYPE_LIKE_ARGUMENT.is_like_current*/
  66. T0* r239ultimate_run_type(T239* C,T0* a1){
  67. T0* R=NULL;
  68. T0* _t=NULL;
  69. _t=a1;
  70. while (!((_t)==((void*)(X291run_type(_t))))) {
  71. _t=X291run_type(_t);
  72. }
  73. /*IF*/if (((((T239*)C))->_run_type/*8*/)==((void*)(NULL))) {
  74. C->_run_type=_t;
  75. R=(T0*)C;
  76. }
  77. else {
  78. R=r239twin(C);
  79. /*[IRF3.3set_run_type*/((((T239*)(((T239*)R))))->_run_type)=(_t);
  80. /*]*/
  81. }
  82. /*FI*/return R;
  83. }
  84. void r239make(T239* C,T0* a1,T0* a2){
  85. C->_start_position=a1;
  86. C->_like_what=a2;
  87. r7copy(((T7*)(oBC646tmp_written_mark)),((T0*)ms113_470));
  88. r7append(((T7*)(oBC646tmp_written_mark)),(((T886*)((T886*)((((T239*)C))->_like_what/*12*/))))->_to_string/*12*/);
  89. C->_written_mark=r902item(oBC646tmp_written_mark);
  90. }
  91. void r239anchor_cycle_start(T239* C){
  92. int _i=0;
  93. /*IF*/if (((((T907*)((T907*)(oBC646visited))))->_upper/*8*/)<(0)) {
  94. r907add_last(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/);
  95. }
  96.  else if (r907fast_has(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/)) {
  97. _i=0;
  98. while (!((_i)>((((T907*)((T907*)(oBC646visited))))->_upper/*8*/))) {
  99. r683add_position(/*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[_i]/*)*/);
  100. _i=(_i)+(1);
  101. }
  102. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
  103. r683fatal_error(((T683*)(oBC364eh)),b1);
  104. }/*]*/
  105. }
  106. else {
  107. r907add_last(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/);
  108. }
  109. /*FI*/}
  110. /*No:TYPE_LIKE_ARGUMENT.fz_bad_anchor*/
  111. void r239mapping_cast(T239* C){
  112. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
  113. /*]*/
  114. r7extend(((T7*)(oBC291tmp_string)),'\50');
  115. r239c_type_for_target_in(C,oBC291tmp_string);
  116. r7extend(((T7*)(oBC291tmp_string)),'\51');
  117. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
  118. /*]*/
  119. }
  120. /*No:TYPE_LIKE_ARGUMENT.start_position*/
  121. void r239c_type_for_target_in(T239* C,T0* a1){
  122. X291c_type_for_target_in((((T239*)C))->_run_type/*8*/,a1);
  123. }
  124. /*No:TYPE_LIKE_ARGUMENT.fz_gc_mark*/
  125. /*No:TYPE_LIKE_ARGUMENT.like_what*/
  126. void r239gc_initialize(T239* C){
  127. X291gc_initialize((((T239*)C))->_run_type/*8*/);
  128. }
  129. int r239is_character(T239* C){
  130. int R=0;
  131. R=X291is_character((((T239*)C))->_run_type/*8*/);
  132. return R;
  133. }
  134. int r239is_user_expanded(T239* C){
  135. int R=0;
  136. R=X291is_user_expanded((((T239*)C))->_run_type/*8*/);
  137. return R;
  138. }
  139. /*No:TYPE_LIKE_ARGUMENT.written_mark*/
  140. /*No:TYPE_LIKE_ARGUMENT.is_run_type*/
  141. T0* r239to_runnable(T239* C,T0* a1){
  142. T0* R=NULL;
  143. T0* _t=NULL;
  144. r239anchor_cycle_start(C);
  145. _t=X291to_runnable((((T886*)((T886*)((((T239*)C))->_like_what/*12*/))))->_result_type/*24*/,a1);
  146. /*IF*/if ((_t)==((void*)(NULL))) {
  147. r239error((((T239*)C))->_start_position/*4*/,((T0*)ms54_470));
  148. }
  149. /*FI*/R=r239ultimate_run_type(C,_t);
  150. r239anchor_cycle_end(C);
  151. return R;
  152. }
  153. /*No:TYPE_LIKE_ARGUMENT.rank*/
  154. void r239c_type_for_external_in(T239* C,T0* a1){
  155. /*IF*/if (r239is_reference(C)) {
  156. r7append(((T7*)a1),((T0*)ms133_470));
  157. r7extend(((T7*)a1),'\52');
  158. }
  159. else {
  160. r239c_type_for_result_in(C,a1);
  161. }
  162. /*FI*/}
  163. T0* r239generic_list(T239* C){
  164. T0* R=NULL;
  165. /*IF*/if (r239is_generic(C)) {
  166. R=X291generic_list((((T239*)C))->_run_type/*8*/);
  167. }
  168. else {
  169. r239fatal_error_generic_list(C);
  170. }
  171. /*FI*/return R;
  172. }
  173. /*No:TYPE_LIKE_ARGUMENT.is_formal_generic*/
  174. void r239demangling_in(T239* C,T0* a1){
  175. /*IF*/if (r239is_reference(C)) {
  176. r7extend(((T7*)a1),'R');
  177. }
  178. else {
  179. r7extend(((T7*)a1),'E');
  180. }
  181. /*FI*/r7extend(((T7*)a1),'\40');
  182. r7append(((T7*)a1),r239run_time_mark(C));
  183. }
  184. int r239is_real(T239* C){
  185. int R=0;
  186. R=X291is_real((((T239*)C))->_run_type/*8*/);
  187. return R;
  188. }
  189. T0* r239twin(T239* C){
  190. T0* R=NULL;
  191. R=malloc(sizeof(*C));
  192. *((T239*)R)=*C;
  193. return R;
  194. }
  195. int r239is_bit(T239* C){
  196. int R=0;
  197. R=X291is_bit((((T239*)C))->_run_type/*8*/);
  198. return R;
  199. }
  200. void r239fatal_error_generic_list(T239* C){
  201. r683add_type((T0*)C,((T0*)ms12_291));
  202. r683print_as_fatal_error(((T683*)(oBC364eh)));
  203. }
  204. /*No:TYPE_LIKE_ARGUMENT.fz_new*/
  205. T0* r239smallest_ancestor(T239* C,T0* a1){
  206. T0* R=NULL;
  207. R=X291smallest_ancestor((((T239*)C))->_run_type/*8*/,a1);
  208. return R;
  209. }
  210. /*No:TYPE_LIKE_ARGUMENT.set_run_type*/
  211. int r239is_boolean(T239* C){
  212. int R=0;
  213. R=X291is_boolean((((T239*)C))->_run_type/*8*/);
  214. return R;
  215. }
  216. int r239is_double(T239* C){
  217. int R=0;
  218. R=X291is_double((((T239*)C))->_run_type/*8*/);
  219. return R;
  220. }
  221. T0* r239run_class(T239* C){
  222. T0* R=NULL;
  223. R=r604run_class((((T239*)C))->_run_type/*8*/);
  224. return R;
  225. }
  226. T0* r239run_time_mark(T239* C){
  227. T0* R=NULL;
  228. /*IF*/if (((((T239*)C))->_run_type/*8*/)!=((void*)(NULL))) {
  229. R=X291run_time_mark((((T239*)C))->_run_type/*8*/);
  230. }
  231. /*FI*/return R;
  232. }
  233. void r239c_initialize(T239* C){
  234. X291c_initialize((((T239*)C))->_run_type/*8*/);
  235. }
  236. void r239cast_to_ref(T239* C){
  237. X291cast_to_ref((((T239*)C))->_run_type/*8*/);
  238. }
  239. void r239gc_mark_in(T239* C,T0* a1){
  240. r7append(((T7*)a1),((T0*)ms107_470));
  241. r2append_in(r239id(C),a1);
  242. }
  243. /*No:TYPE_LIKE_ARGUMENT.fz_cad*/
  244. int r239is_a_in(T239* C,T0* a1,T0* a2){
  245. int R=0;
  246. T0* _ct=NULL;
  247. T0* _t2=NULL;
  248. T0* _t1=NULL;
  249. /*IF*/if (((((T239*)C))->_written_mark/*16*/)==((void*)(X291written_mark(a1)))) {
  250. R=1;
  251. }
  252. else {
  253. _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
  254. _t1=r239to_runnable(C,_ct);
  255. _t2=X291to_runnable(a1,_ct);
  256. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  257. R=1;
  258. }
  259. else {
  260. R=X291is_a(_t1,_t2);
  261. }
  262. /*FI*/}
  263. /*FI*/return R;
  264. }
  265. T0* r239look_up_for(T239* C,T0* a1,T0* a2){
  266. T0* R=NULL;
  267. R=r605look_up_for(((T605*)(r239base_class(C))),a1,a2);
  268. return R;
  269. }
  270. void r239c_header_pass1(T239* C){
  271. X291c_header_pass1((((T239*)C))->_run_type/*8*/);
  272. }
  273. void r239c_type_for_result_in(T239* C,T0* a1){
  274. X291c_type_for_result_in((((T239*)C))->_run_type/*8*/,a1);
  275. }
  276. T0* r239expanded_initializer(T239* C){
  277. T0* R=NULL;
  278. R=X291expanded_initializer((((T239*)C))->_run_type/*8*/);
  279. return R;
  280. }
  281. /*No:TYPE_LIKE_ARGUMENT.fz_void*/
  282. /*No:TYPE_LIKE_ARGUMENT.fz_dot*/
  283. int r239is_generic(T239* C){
  284. int R=0;
  285. R=X291is_generic((((T239*)C))->_run_type/*8*/);
  286. return R;
  287. }
  288. /*No:TYPE_LIKE_ARGUMENT.used_as_reference*/
  289. void r239c_header_pass2(T239* C){
  290. X291c_header_pass2((((T239*)C))->_run_type/*8*/);
  291. }
  292. void r239gc_define1(T239* C){
  293. X291gc_define1((((T239*)C))->_run_type/*8*/);
  294. }
  295. int r239need_c_struct(T239* C){
  296. int R=0;
  297. R=X291need_c_struct((((T239*)C))->_run_type/*8*/);
  298. return R;
  299. }
  300. int r239is_reference(T239* C){
  301. int R=0;
  302. R=X291is_reference((((T239*)C))->_run_type/*8*/);
  303. return R;
  304. }
  305. void r239gc_info_in(T239* C,T0* a1){
  306. X291gc_info_in((((T239*)C))->_run_type/*8*/,a1);
  307. }
  308. void r239error(T0* a1,T0* a2){
  309. r683add_position(a1);
  310. r683error(((T683*)(oBC364eh)),a2);
  311. }
  312. T0* r239base_class(T239* C){
  313. T0* R=NULL;
  314. T0* _bcn=NULL;
  315. _bcn=r239base_class_name(C);
  316. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  317. R=r451base_class(((T451*)_bcn));
  318. }
  319. else {
  320. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  321. r7append(((T7*)(oBC683explanation)),b1);
  322. }/*]*/
  323. r683add_type((T0*)C,((T0*)ms67_470));
  324. r683print_as_fatal_error(((T683*)(oBC364eh)));
  325. }
  326. /*FI*/return R;
  327. }
  328. void r239call_gc_sweep_in(T239* C,T0* a1){
  329. X291call_gc_sweep_in((((T239*)C))->_run_type/*8*/,a1);
  330. }
  331. void r239gc_define2(T239* C){
  332. X291gc_define2((((T239*)C))->_run_type/*8*/);
  333. }
  334. int r239need_gc_mark_function(T239* C){
  335. int R=0;
  336. R=X291need_gc_mark_function((((T239*)C))->_run_type/*8*/);
  337. return R;
  338. }
  339. /*No:TYPE_LIKE_ARGUMENT.fatal_error*/
  340. int r239is_any(T239* C){
  341. int R=0;
  342. R=X291is_any((((T239*)C))->_run_type/*8*/);
  343. return R;
  344. }
  345. void r239to_reference(T239* C){
  346. X291to_reference((((T239*)C))->_run_type/*8*/);
  347. }
  348. void r239c_header_pass3(T239* C){
  349. X291c_header_pass3((((T239*)C))->_run_type/*8*/);
  350. }
  351. T0*oBC646visited=NULL;
  352. T0* r239base_class_name(T239* C){
  353. T0* R=NULL;
  354. R=X291base_class_name((((T239*)C))->_run_type/*8*/);
  355. return R;
  356. }
  357. int r239is_expanded(T239* C){
  358. int R=0;
  359. R=X291is_expanded((((T239*)C))->_run_type/*8*/);
  360. return R;
  361. }
  362. /*No:TYPE_LIKE_ARGUMENT.fz_like_foo*/
  363. int r239is_basic_eiffel_expanded(T239* C){
  364. int R=0;
  365. R=X291is_basic_eiffel_expanded((((T239*)C))->_run_type/*8*/);
  366. return R;
  367. }
  368. int r239is_none(T239* C){
  369. int R=0;
  370. R=X291is_none((((T239*)C))->_run_type/*8*/);
  371. return R;
  372. }
  373. void r239to_expanded(T239* C){
  374. X291to_expanded((((T239*)C))->_run_type/*8*/);
  375. }
  376. int r239is_integer(T239* C){
  377. int R=0;
  378. R=X291is_integer((((T239*)C))->_run_type/*8*/);
  379. return R;
  380. }
  381. void r239c_header_pass4(T239* C){
  382. X291c_header_pass4((((T239*)C))->_run_type/*8*/);
  383. }
  384. void r239anchor_cycle_end(T239* C){
  385. /*IF*/if (((((T239*)C))->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[0]/*)*//*)*/))) {
  386. /*[IRF3.3clear*/((((T907*)(((T907*)(oBC646visited)))))->_upper)=(-(1));
  387. /*]*/
  388. }
  389. /*FI*/}
  390. T0* r342add_comment(T342* C,T0* a1){
  391. T0* R=NULL;
  392. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  393. R=(T0*)C;
  394. }
  395. else {
  396. {T529*n=malloc(sizeof(*n));
  397. *n=M529;
  398. r529make(n,(T0*)C,a1);
  399. R=(T0*)n;
  400. }
  401. }
  402. /*FI*/return R;
  403. }
  404. /*No:INTEGER_CONSTANT.to_integer*/
  405. int r342is_a(T342* C,T0* a1){
  406. int R=0;
  407. R=X291is_a(/*(IRF4.4run_type*/((T0*)((T788*)r342result_type()))/*)*/,X291run_type(X662result_type(a1)));
  408. /*IF*/if (!(R)) {
  409. r683add_position((((T342*)C))->_start_position/*12*/);
  410. r342error(X662start_position(a1),((T0*)ms4_662));
  411. }
  412. /*FI*/return R;
  413. }
  414. /*No:INTEGER_CONSTANT.is_current*/
  415. void r342mapping_c_arg(T342* C,T0* a1){
  416. /*IF*/if (X291is_reference(a1)) {
  417. /*[IRF3.6to_reference*/{T788* C1=((T788*)(r342result_type()));
  418. r324to_reference(((T324*)(oBC364cpp)),(T0*)C1,r788type_integer_ref());
  419. }/*]*/
  420. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  421. char b1='\50';
  422. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  423. }/*]*/
  424. /*]*/
  425. /*[IRF3.6compile_to_c*/{T342* C1=C;
  426. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T342*)C1))->_value/*16*/);
  427. /*]*/
  428. }/*]*/
  429. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  430. char b1='\51';
  431. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  432. }/*]*/
  433. /*]*/
  434. }
  435. else {
  436. /*[IRF3.6compile_to_c*/{T342* C1=C;
  437. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T342*)C1))->_value/*16*/);
  438. /*]*/
  439. }/*]*/
  440. }
  441. /*FI*/}
  442. /*No:INTEGER_CONSTANT.static_value*/
  443. void r342make(T342* C,int a1,T0* a2){
  444. C->_value=a1;
  445. C->_start_position=a2;
  446. }
  447. /*No:INTEGER_CONSTANT.mapping_c_target*/
  448. /*No:INTEGER_CONSTANT.fz_iinaiv*/
  449. void r342unary_minus(T342* C){
  450. C->_value=-((((T342*)C))->_value/*16*/);
  451. }
  452. /*No:INTEGER_CONSTANT.dca_inline_argument*/
  453. /*No:INTEGER_CONSTANT.start_position*/
  454. /*No:INTEGER_CONSTANT.compile_to_c*/
  455. /*No:INTEGER_CONSTANT.c_simple*/
  456. T0* r342to_runnable(T342* C,T0* a1){
  457. T0* R=NULL;
  458. /*IF*/if (((((T342*)C))->_current_type/*8*/)==((void*)(NULL))) {
  459. C->_current_type=a1;
  460. R=(T0*)C;
  461. }
  462. else {
  463. R=r342twin(C);
  464. /*[IRF3.3set_current_type*/((((T342*)(((T342*)R))))->_current_type)=(a1);
  465. /*]*/
  466. }
  467. /*FI*/return R;
  468. }
  469. int fBC342result_type=0;
  470. T0*oBC342result_type=NULL;
  471. T0* r342result_type(void){
  472. if (fBC342result_type==0){
  473. T0* R=NULL;
  474. fBC342result_type=1;
  475. {T788*n=malloc(sizeof(*n));
  476. *n=M788;
  477. r788make(n,NULL);
  478. R=(T0*)n;
  479. }
  480. oBC342result_type=R;}
  481. return oBC342result_type;}
  482. /*No:INTEGER_CONSTANT.is_result*/
  483. T0* r342twin(T342* C){
  484. T0* R=NULL;
  485. R=malloc(sizeof(*C));
  486. *((T342*)R)=*C;
  487. return R;
  488. }
  489. /*No:INTEGER_CONSTANT.set_current_type*/
  490. int r342is_static(T342* C){
  491. int R=0;
  492. C->_static_value_mem=(((T342*)C))->_value/*16*/;
  493. R=1;
  494. return R;
  495. }
  496. /*No:INTEGER_CONSTANT.value*/
  497. /*No:INTEGER_CONSTANT.can_be_dropped*/
  498. /*No:INTEGER_CONSTANT.current_type*/
  499. /*No:INTEGER_CONSTANT.compile_to_c_old*/
  500. /*No:INTEGER_CONSTANT.static_value_mem*/
  501. /*No:INTEGER_CONSTANT.is_manifest_string*/
  502. /*No:INTEGER_CONSTANT.is_void*/
  503. T0* r342to_real_constant(T342* C){
  504. T0* R=NULL;
  505. {T936*n=malloc(sizeof(*n));
  506. *n=M936;
  507. r936make(n,(((T342*)C))->_start_position/*12*/,r2to_string((((T342*)C))->_value/*16*/));
  508. R=(T0*)n;
  509. }
  510. return R;
  511. }
  512. /*No:INTEGER_CONSTANT.is_pre_computable*/
  513. /*No:INTEGER_CONSTANT.use_current*/
  514. void r342error(T0* a1,T0* a2){
  515. r683add_position(a1);
  516. r683error(((T683*)(oBC364eh)),a2);
  517. }
  518. int r342isa_dca_inline_argument(T342* C){
  519. int R=0;
  520. /*IF*/if (r342is_static(C)) {
  521. R=-(1);
  522. }
  523. /*FI*/return R;
  524. }
  525. /*No:INTEGER_CONSTANT.afd_check*/
  526. /*No:WHEN_LIST.fz_else*/
  527. T0* r377to_runnable_integer(T377* C,T0* a1){
  528. T0* R=NULL;
  529. T0* _e_when=NULL;
  530. int _i=0;
  531. /*IF*/if (((((T377*)C))->_e_inspect/*0*/)==((void*)(NULL))) {
  532. C->_e_inspect=a1;
  533. _i=1;
  534. while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  535. _e_when=r843to_runnable_integer(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),(T0*)C);
  536. /*IF*/if ((_e_when)==((void*)(NULL))) {
  537. r377error(r377start_position(C),((T0*)ms1_377));
  538. }
  539. else {
  540. /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/));
  541. T0* b1=_e_when;
  542. int b2=_i;
  543. ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1);
  544. }/*]*/
  545. }
  546. /*FI*/_i=(_i)+(1);
  547. }
  548. R=(T0*)C;
  549. }
  550. else {
  551. {T377*n=malloc(sizeof(*n));
  552. *n=M377;
  553. r377from_when_list(n,(T0*)C);
  554. R=(T0*)n;
  555. }
  556. R=r377to_runnable_integer(((T377*)R),a1);
  557. }
  558. /*FI*/return R;
  559. }
  560. /*No:WHEN_LIST.make*/
  561. /*No:WHEN_LIST.nb_errors*/
  562. T0* r377start_position(T377* C){
  563. T0* R=NULL;
  564. R=(((T843*)((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),1)))))->_start_position/*0*/;
  565. return R;
  566. }
  567. void r377compile_to_c(T377* C,T0* a1){
  568. T0* _last_compound=NULL;
  569. int _i=0;
  570. /*IF*/if (((((T377*)C))->_list/*4*/)!=((void*)(NULL))) {
  571. _i=1;
  572. while (!((_i)==((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))) {
  573. r843compile_to_c(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))));
  574. _i=(_i)+(1);
  575. /*IF*/if ((_i)<((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/)) {
  576. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  577. char b1='\40';
  578. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  579. }/*]*/
  580. /*]*/
  581. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms10_470));
  582. /*]*/
  583. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  584. char b1='\40';
  585. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  586. }/*]*/
  587. /*]*/
  588. }
  589. /*FI*/}
  590. /*IF*/if ((_i)>(1)) {
  591. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  592. char b1='\40';
  593. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  594. }/*]*/
  595. /*]*/
  596. /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms10_470));
  597. /*]*/
  598. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  599. char b1='\40';
  600. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  601. }/*]*/
  602. /*]*/
  603. }
  604. /*FI*//*IF*/if (((a1)==((void*)(NULL)))&&(r590boost(((T590*)(oBC364run_control))))) {
  605. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  606. char b1='\173';
  607. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  608. }/*]*/
  609. /*]*/
  610. _last_compound=(((T843*)((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i)))))->_compound/*12*/;
  611. /*IF*/if ((_last_compound)!=((void*)(NULL))) {
  612. r592compile_to_c(((T592*)_last_compound));
  613. }
  614. /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  615. char b1='\175';
  616. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  617. }/*]*/
  618. /*]*/
  619. }
  620. else {
  621. r843compile_to_c(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))));
  622. }
  623. /*FI*/}
  624. /*FI*/}
  625. /*No:WHEN_LIST.em1*/
  626. /*No:WHEN_LIST.list*/
  627. /*No:WHEN_LIST.current_type*/
  628. void r377from_when_list(T377* C,T0* a1){
  629. T0* _e_when=NULL;
  630. int _i=0;
  631. C->_list=r147twin(((T147*)((((T377*)((T377*)a1)))->_list/*4*/)));
  632. _i=1;
  633. while (!((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))) {
  634. {T843*n=malloc(sizeof(*n));
  635. *n=M843;
  636. r843from_e_when(n,r147item(((T147*)((((T377*)C))->_list/*4*/)),_i));
  637. _e_when=(T0*)n;
  638. }
  639. /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/));
  640. T0* b1=_e_when;
  641. int b2=_i;
  642. ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1);
  643. }/*]*/
  644. _i=(_i)+(1);
  645. }
  646. }
  647. int r377use_current(T377* C){
  648. int R=0;
  649. int _i=0;
  650. /*IF*/if (((((T377*)C))->_list/*4*/)!=((void*)(NULL))) {
  651. _i=1;
  652. while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||(R))) {
  653. R=r843use_current(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))));
  654. _i=(_i)+(1);
  655. }
  656. }
  657. /*FI*/return R;
  658. }
  659. void r377error(T0* a1,T0* a2){
  660. r683add_position(a1);
  661. r683error(((T683*)(oBC364eh)),a2);
  662. }
  663. /*No:WHEN_LIST.add_last*/
  664. int r377includes_integer(T377* C,int a1){
  665. int R=0;
  666. int _i=0;
  667. _i=1;
  668. while (!((R)||((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/)))) {
  669. R=r843includes_integer(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),a1);
  670. _i=(_i)+(1);
  671. }
  672. return R;
  673. }
  674. T0* r377to_runnable_character(T377* C,T0* a1){
  675. T0* R=NULL;
  676. T0* _e_when=NULL;
  677. int _i=0;
  678. /*IF*/if (((((T377*)C))->_e_inspect/*0*/)==((void*)(NULL))) {
  679. C->_e_inspect=a1;
  680. _i=1;
  681. while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  682. _e_when=r843to_runnable_character(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),(T0*)C);
  683. /*IF*/if ((_e_when)==((void*)(NULL))) {
  684. r377error(r377start_position(C),((T0*)ms1_377));
  685. }
  686. else {
  687. /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/));
  688. T0* b1=_e_when;
  689. int b2=_i;
  690. ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1);
  691. }/*]*/
  692. }
  693. /*FI*/_i=(_i)+(1);
  694. }
  695. R=(T0*)C;
  696. }
  697. else {
  698. {T377*n=malloc(sizeof(*n));
  699. *n=M377;
  700. r377from_when_list(n,(T0*)C);
  701. R=(T0*)n;
  702. }
  703. R=r377to_runnable_character(((T377*)R),a1);
  704. }
  705. /*FI*/return R;
  706. }
  707. void r377afd_check(T377* C){
  708. int _i=0;
  709. _i=(((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/;
  710. while (!((_i)==(0))) {
  711. r843afd_check(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))));
  712. _i=(_i)-(1);
  713. }
  714. }
  715. /*No:WHEN_LIST.e_inspect*/
  716. T0*oBC683explanation=NULL;
  717. /*No:ERROR_HANDLER.nb_warnings*/
  718. void r683incr_nb_warnings(T683* C){
  719. C->_nb_warnings=((((T683*)C))->_nb_warnings/*4*/)+(1);
  720. }
  721. /*No:ERROR_HANDLER.extend*/
  722. void r683incr_nb_errors(T683* C){
  723. C->_nb_errors=((((T683*)C))->_nb_errors/*0*/)+(1);
  724. /*IF*/if (((((T683*)C))->_nb_errors/*0*/)>=(6)) {
  725. r441put_string(((T441*)(oBC1std_error)),((T0*)ms75_470));
  726. r441put_string(((T441*)(oBC1std_error)),((T0*)ms5_683));
  727. exit(1);
  728. }
  729. /*FI*/}
  730. /*No:ERROR_HANDLER.exit_failure_code*/
  731. int r683empty(void){
  732. int R=0;
  733. R=(/*(IRF4.7empty*/((((T7*)((T7*)(oBC683explanation))))->_count/*4*/)==(0)/*)*/)&&(r38empty(((T38*)(oBC683positions))));
  734. return R;
  735. }
  736. /*No:ERROR_HANDLER.make*/
  737. /*No:ERROR_HANDLER.nb_errors*/
  738. void r683print_as_fatal_error(T683* C){
  739. r683do_print(((T0*)ms4_683));
  740. exit(1);
  741. }
  742. /*No:ERROR_HANDLER.no_warning*/
  743. void r683add_position(T0* a1){
  744. /*IF*/if ((a1)!=((void*)(NULL))) {
  745. /*IF*/if (!(r38has(((T38*)(oBC683positions)),a1))) {
  746. r38add_last(((T38*)(oBC683positions)),a1);
  747. }
  748. /*FI*/}
  749. /*FI*/}
  750. /*No:ERROR_HANDLER.set_no_warning*/
  751. void r683print_as_warning(T683* C){
  752. /*IF*/if ((((T683*)C))->_no_warning/*8*/) {
  753. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  754. /*]*/
  755. r38clear(((T38*)(oBC683positions)));
  756. /*]*/
  757. }
  758. else {
  759. r683do_print(((T0*)ms2_683));
  760. r683incr_nb_warnings(C);
  761. }
  762. /*FI*/}
  763. void r683print_as_error(T683* C){
  764. r683do_print(((T0*)ms3_683));
  765. r683incr_nb_errors(C);
  766. }
  767. void r683add_type(T0* a1,T0* a2){
  768. /*[IRF3.6append*/{T0* b1=((T0*)ms1_683);
  769. r7append(((T7*)(oBC683explanation)),b1);
  770. }/*]*/
  771. /*IF*/if (X291is_run_type(a1)) {
  772. /*[IRF3.6append*/{T0* b1=X291run_time_mark(a1);
  773. r7append(((T7*)(oBC683explanation)),b1);
  774. }/*]*/
  775. }
  776. else {
  777. /*[IRF3.6append*/{T0* b1=X291written_mark(a1);
  778. r7append(((T7*)(oBC683explanation)),b1);
  779. }/*]*/
  780. }
  781. /*FI*//*[IRF3.6append*/{T0* b1=a2;
  782. r7append(((T7*)(oBC683explanation)),b1);
  783. }/*]*/
  784. r683add_position(X291start_position(a1));
  785. }
  786. void r683error(T683* C,T0* a1){
  787. /*[IRF3.6append*/{T0* b1=a1;
  788. r7append(((T7*)(oBC683explanation)),b1);
  789. }/*]*/
  790. r683print_as_error(C);
  791. }
  792. /*No:ERROR_HANDLER.fz_error_stars*/
  793. void r683fatal_error(T683* C,T0* a1){
  794. r7append(((T7*)(oBC683explanation)),a1);
  795. r683print_as_fatal_error(C);
  796. }
  797. /*No:ERROR_HANDLER.cancel*/
  798. T0*oBC683positions=NULL;
  799. /*No:ERROR_HANDLER.append*/
  800. void r683warning(T683* C,T0* a1){
  801. /*[IRF3.6append*/{T0* b1=a1;
  802. r7append(((T7*)(oBC683explanation)),b1);
  803. }/*]*/
  804. r683print_as_warning(C);
  805. }
  806. void r683do_print(T0* a1){
  807. char _previous_cc=0;
  808. char _cc=0;
  809. int _cpt=0;
  810. int _i=0;
  811. r441put_string(((T441*)(oBC1std_error)),((T0*)ms75_470));
  812. r441put_string(((T441*)(oBC1std_error)),a1);
  813. r441put_string(((T441*)(oBC1std_error)),((T0*)ms6_683));
  814. _i=1;
  815. _cpt=(9)+((((T7*)((T7*)a1)))->_count/*4*/);
  816. while (!((_i)>((((T7*)((T7*)(oBC683explanation))))->_count/*4*/))) {
  817. _previous_cc=_cc;
  818. _cc=/*(IRF4.6item*/((((T7*)((T7*)(oBC683explanation))))->_storage/*0*/)[(_i)-(1)]/*)*/;
  819. _i=(_i)+(1);
  820. /*IF*/if ((_cpt)>(60)) {
  821. /*IF*/if ((_cc)==('\40')) {
  822. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  823. char b1='\n';
  824. putc(b1,((FILE*)(stderr)));
  825. }/*]*/
  826. _cpt=0;
  827. }
  828.  else if (((_previous_cc)==('\54'))||((_previous_cc)==('\57'))) {
  829. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  830. char b1='\n';
  831. putc(b1,((FILE*)(stderr)));
  832. }/*]*/
  833. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  834. char b1=_cc;
  835. putc(b1,((FILE*)(stderr)));
  836. }/*]*/
  837. _cpt=1;
  838. }
  839. else {
  840. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  841. char b1=_cc;
  842. putc(b1,((FILE*)(stderr)));
  843. }/*]*/
  844. _cpt=(_cpt)+(1);
  845. }
  846. /*FI*/}
  847. else {
  848. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  849. char b1=_cc;
  850. putc(b1,((FILE*)(stderr)));
  851. }/*]*/
  852. {int z1=_cc;
  853.  
  854. if((10==z1)){
  855. _cpt=0;
  856. }
  857.  else{_cpt=(_cpt)+(1);
  858. }}
  859. }
  860. /*FI*/}
  861. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  862. char b1='\n';
  863. putc(b1,((FILE*)(stderr)));
  864. }/*]*/
  865. _i=(((T38*)((T38*)(oBC683positions))))->_lower/*12*/;
  866. while (!((_i)>((((T38*)((T38*)(oBC683positions))))->_upper/*8*/))) {
  867. r627show(((T627*)(r38item(((T38*)(oBC683positions)),_i))));
  868. _i=(_i)+(1);
  869. }
  870. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  871. /*]*/
  872. r38clear(((T38*)(oBC683positions)));
  873. /*]*/
  874. r441put_string(((T441*)(oBC1std_error)),((T0*)ms7_683));
  875. }
  876. /*No:CALL_PREFIX_FREEOP.arguments*/
  877. T0* r990add_comment(T990* C,T0* a1){
  878. T0* R=NULL;
  879. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  880. R=(T0*)C;
  881. }
  882. else {
  883. {T529*n=malloc(sizeof(*n));
  884. *n=M529;
  885. r529make(n,(T0*)C,a1);
  886. R=(T0*)n;
  887. }
  888. }
  889. /*FI*/return R;
  890. }
  891. int r990to_integer(T990* C){
  892. int R=0;
  893. T0* _rf1=NULL;
  894. _rf1=(((T990*)C))->_run_feature/*16*/;
  895. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  896. case 808: 
  897. break;
  898. default:
  899. _rf1=NULL;
  900. };/*IF*/if ((_rf1)==((void*)(NULL))) {
  901. r990error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  902. }
  903. else {
  904. R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/);
  905. }
  906. /*FI*/return R;
  907. }
  908. int r990is_a(T990* C,T0* a1){
  909. int R=0;
  910. R=X291is_a(X291run_type((((T990*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  911. /*IF*/if (!(R)) {
  912. r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  913. r990error(X662start_position(a1),((T0*)ms4_662));
  914. }
  915. /*FI*/return R;
  916. }
  917. /*No:CALL_PREFIX_FREEOP.is_current*/
  918. void r990mapping_c_arg(T990* C,T0* a1){
  919. T0* _actual_type=NULL;
  920. _actual_type=X291run_type((((T990*)C))->_result_type/*20*/);
  921. /*IF*/if (X291is_reference(_actual_type)) {
  922. /*IF*/if (X291is_reference(a1)) {
  923. r990compile_to_c(C);
  924. }
  925. else {
  926. X291to_expanded(_actual_type);
  927. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  928. char b1='\50';
  929. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  930. }/*]*/
  931. /*]*/
  932. r990compile_to_c(C);
  933. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  934. char b1='\51';
  935. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  936. }/*]*/
  937. /*]*/
  938. }
  939. /*FI*/}
  940. else {
  941. /*IF*/if (X291is_reference(a1)) {
  942. X291to_reference(_actual_type);
  943. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  944. char b1='\50';
  945. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  946. }/*]*/
  947. /*]*/
  948. r990compile_to_c(C);
  949. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  950. char b1='\51';
  951. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  952. }/*]*/
  953. /*]*/
  954. }
  955. else {
  956. /*IF*/if (X291need_c_struct(a1)) {
  957. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  958. char b1='\46';
  959. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  960. }/*]*/
  961. /*]*/
  962. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  963. char b1='\50';
  964. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  965. }/*]*/
  966. /*]*/
  967. r990compile_to_c(C);
  968. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  969. char b1='\51';
  970. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  971. }/*]*/
  972. /*]*/
  973. }
  974. else {
  975. r990compile_to_c(C);
  976. }
  977. /*FI*/}
  978. /*FI*/}
  979. /*FI*/}
  980. /*No:CALL_PREFIX_FREEOP.static_value*/
  981. /*No:CALL_PREFIX_FREEOP.make*/
  982. void r990mapping_c_target(T990* C,T0* a1){
  983. T0* _actual_type=NULL;
  984. int _flag=0;
  985. _flag=r324call_invariant_start(a1);
  986. _actual_type=X291run_type((((T990*)C))->_result_type/*20*/);
  987. /*IF*/if (X291is_reference(_actual_type)) {
  988. /*IF*/if (X291is_reference(a1)) {
  989. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  990. char b1='\50';
  991. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  992. }/*]*/
  993. /*]*/
  994. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  995. char b1='\50';
  996. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  997. }/*]*/
  998. /*]*/
  999. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1000. char b1='T';
  1001. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1002. }/*]*/
  1003. /*]*/
  1004. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  1005. /*]*/
  1006. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1007. char b1='\52';
  1008. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1009. }/*]*/
  1010. /*]*/
  1011. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1012. char b1='\51';
  1013. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1014. }/*]*/
  1015. /*]*/
  1016. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1017. char b1='\50';
  1018. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1019. }/*]*/
  1020. /*]*/
  1021. r990compile_to_c(C);
  1022. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1023. char b1='\51';
  1024. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1025. }/*]*/
  1026. /*]*/
  1027. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1028. char b1='\51';
  1029. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1030. }/*]*/
  1031. /*]*/
  1032. }
  1033. else {
  1034. X291to_expanded(_actual_type);
  1035. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1036. char b1='\50';
  1037. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1038. }/*]*/
  1039. /*]*/
  1040. r990compile_to_c(C);
  1041. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1042. char b1='\51';
  1043. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1044. }/*]*/
  1045. /*]*/
  1046. }
  1047. /*FI*/}
  1048. else {
  1049. /*IF*/if (X291is_reference(a1)) {
  1050. X291to_reference(_actual_type);
  1051. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1052. char b1='\50';
  1053. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1054. }/*]*/
  1055. /*]*/
  1056. r990compile_to_c(C);
  1057. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1058. char b1='\51';
  1059. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1060. }/*]*/
  1061. /*]*/
  1062. }
  1063. else {
  1064. /*IF*/if (X291need_c_struct(a1)) {
  1065. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1066. char b1='\46';
  1067. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1068. }/*]*/
  1069. /*]*/
  1070. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1071. char b1='\50';
  1072. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1073. }/*]*/
  1074. /*]*/
  1075. r990compile_to_c(C);
  1076. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1077. char b1='\51';
  1078. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1079. }/*]*/
  1080. /*]*/
  1081. }
  1082. else {
  1083. r990compile_to_c(C);
  1084. }
  1085. /*FI*/}
  1086. /*FI*/}
  1087. /*FI*//*IF*/if (_flag) {
  1088. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  1089. char b1='\51';
  1090. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1091. }/*]*/
  1092. /*]*/
  1093. }
  1094. /*FI*/}
  1095. /*No:CALL_PREFIX_FREEOP.nb_errors*/
  1096. /*No:CALL_PREFIX_FREEOP.feature_name*/
  1097. /*No:CALL_PREFIX_FREEOP.fz_iinaiv*/
  1098. /*No:CALL_PREFIX_FREEOP.arg_count*/
  1099. /*No:CALL_PREFIX_FREEOP.dca_inline_argument*/
  1100. /*No:CALL_PREFIX_FREEOP.run_feature*/
  1101. /*No:CALL_PREFIX_FREEOP.call_proc_call_c2c*/
  1102. /*No:CALL_PREFIX_FREEOP.start_position*/
  1103. /*No:CALL_PREFIX_FREEOP.target*/
  1104. /*No:CALL_PREFIX_FREEOP.us_is_expanded_type*/
  1105. void r990compile_to_c(T990* C){
  1106. T0* _n=NULL;
  1107. _n=(((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_to_string/*4*/;
  1108. /*IF*/if ((((T0*)ms83_473))==((void*)(_n))) {
  1109. /*IF*/if (X291is_expanded(X291run_type(X662result_type((((T990*)C))->_target/*12*/)))) {
  1110. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1111. char b1='1';
  1112. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1113. }/*]*/
  1114. /*]*/
  1115. }
  1116. else {
  1117. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1118. char b1='0';
  1119. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1120. }/*]*/
  1121. /*]*/
  1122. }
  1123. /*FI*/}
  1124.  else if ((((T0*)ms82_473))==((void*)(_n))) {
  1125. /*IF*/if (X291is_basic_eiffel_expanded(X662result_type((((T990*)C))->_target/*12*/))) {
  1126. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1127. char b1='1';
  1128. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1129. }/*]*/
  1130. /*]*/
  1131. }
  1132. else {
  1133. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1134. char b1='0';
  1135. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1136. }/*]*/
  1137. /*]*/
  1138. }
  1139. /*FI*/}
  1140. else {
  1141. /*[IRF3.6call_proc_call_c2c*/{T990* C1=C;
  1142. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  1143. }/*]*/
  1144. }
  1145. /*FI*/}
  1146. /*No:CALL_PREFIX_FREEOP.c_simple*/
  1147. T0* r990to_runnable(T990* C,T0* a1){
  1148. T0* R=NULL;
  1149. /*IF*/if (((((T990*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1150. r990to_runnable_0(C,a1);
  1151. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T990*)C))->_run_feature/*16*/))>(0))) {
  1152. r683add_position((((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_start_position/*8*/);
  1153. r990error(X496start_position((((T990*)C))->_run_feature/*16*/),((T0*)ms1_752));
  1154. }
  1155. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1156. R=(T0*)C;
  1157. }
  1158. /*FI*/}
  1159. else {
  1160. R=r990twin(C);
  1161. /*[IRF3.3set_current_type*/((((T990*)(((T990*)R))))->_current_type)=(NULL);
  1162. /*]*/
  1163. R=r990to_runnable(((T990*)R),a1);
  1164. }
  1165. /*FI*/return R;
  1166. }
  1167. /*No:CALL_PREFIX_FREEOP.result_type*/
  1168. /*No:CALL_PREFIX_FREEOP.is_result*/
  1169. T0* r990twin(T990* C){
  1170. T0* R=NULL;
  1171. R=malloc(sizeof(*C));
  1172. *((T990*)R)=*C;
  1173. return R;
  1174. }
  1175. /*No:CALL_PREFIX_FREEOP.set_current_type*/
  1176. /*No:CALL_PREFIX_FREEOP.is_static*/
  1177. int r990call_is_static(T990* C){
  1178. int R=0;
  1179. T0* _rf=NULL;
  1180. T0* _running=NULL;
  1181. T0* _rc=NULL;
  1182. /*IF*/if (((((T990*)C))->_run_feature/*16*/)!=((void*)(NULL))) {
  1183. _rc=X496run_class((((T990*)C))->_run_feature/*16*/);
  1184. /*IF*/if ((_rc)!=((void*)(NULL))) {
  1185. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  1186. /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))==(1))) {
  1187. _rf=r355dynamic(((T355*)(r396first(((T396*)_running)))),(((T990*)C))->_run_feature/*16*/);
  1188. /*IF*/if (X496is_static(_rf)) {
  1189. C->_static_value_mem=X496static_value_mem(_rf);
  1190. R=1;
  1191. }
  1192. /*FI*/}
  1193. /*FI*/}
  1194. /*FI*/}
  1195. /*FI*/return R;
  1196. }
  1197. /*No:CALL_PREFIX_FREEOP.fz_07*/
  1198. /*No:CALL_PREFIX_FREEOP.us_is_basic_expanded_type*/
  1199. int r990can_be_dropped(T990* C){
  1200. int R=0;
  1201. /*IF*/if (X662can_be_dropped((((T990*)C))->_target/*12*/)) {
  1202. R=X496can_be_dropped((((T990*)C))->_run_feature/*16*/);
  1203. }
  1204. /*FI*/return R;
  1205. }
  1206. /*No:CALL_PREFIX_FREEOP.current_type*/
  1207. void r990compile_to_c_old(T990* C){
  1208. X662compile_to_c_old((((T990*)C))->_target/*12*/);
  1209. /*IF*//*AF*//*AE*/
  1210. /*FI*/}
  1211. /*No:CALL_PREFIX_FREEOP.static_value_mem*/
  1212. /*No:CALL_PREFIX_FREEOP.is_manifest_string*/
  1213. /*No:CALL_PREFIX_FREEOP.is_void*/
  1214. void r990to_runnable_0(T990* C,T0* a1){
  1215. C->_current_type=a1;
  1216. r990cpc_to_runnable(C,a1);
  1217. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T990*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  1218. /*IF*/if (((((T990*)C))->_result_type/*20*/)==((void*)(NULL))) {
  1219. r683add_position(X496start_position((((T990*)C))->_run_feature/*16*/));
  1220. r990error((((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  1221. }
  1222.  else if (X291is_like_current((((T990*)C))->_result_type/*20*/)) {
  1223. C->_result_type=X662result_type((((T990*)C))->_target/*12*/);
  1224. }
  1225. /*FI*/}
  1226. /*No:CALL_PREFIX_FREEOP.is_pre_computable*/
  1227. void r990cpc_to_runnable(T990* C,T0* a1){
  1228. T0* _rc=NULL;
  1229. T0* _t=NULL;
  1230. _t=X662to_runnable((((T990*)C))->_target/*12*/,a1);
  1231. /*IF*/if ((_t)==((void*)(NULL))) {
  1232. r683add_position(X662start_position((((T990*)C))->_target/*12*/));
  1233. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1234. r683fatal_error(((T683*)(oBC364eh)),b1);
  1235. }/*]*/
  1236. }
  1237. /*FI*/C->_target=_t;
  1238. _rc=X291run_class(X662result_type((((T990*)C))->_target/*12*/));
  1239. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  1240. r576update((((T990*)C))->_target/*12*/,(((T990*)C))->_run_feature/*16*/);
  1241. }
  1242. int r990use_current(T990* C){
  1243. int R=0;
  1244. /*IF*//*AF*//*AE*/
  1245. /*FI*//*IF*/if (R) {
  1246. }
  1247.  else if (X662is_current((((T990*)C))->_target/*12*/)) {
  1248. R=X496use_current((((T990*)C))->_run_feature/*16*/);
  1249. }
  1250. else {
  1251. R=X662use_current((((T990*)C))->_target/*12*/);
  1252. }
  1253. /*FI*/return R;
  1254. }
  1255. void r990make_call0(T990* C,T0* a1,T0* a2){
  1256. C->_target=a1;
  1257. C->_feature_name=a2;
  1258. }
  1259. void r990finalize(T990* C){
  1260. T0* _rf=NULL;
  1261. T0* _rc=NULL;
  1262. _rf=(((T990*)C))->_run_feature/*16*/;
  1263. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  1264. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  1265. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  1266. C->_run_feature=_rf;
  1267. }
  1268. /*FI*/}
  1269. void r990error(T0* a1,T0* a2){
  1270. r683add_position(a1);
  1271. r683error(((T683*)(oBC364eh)),a2);
  1272. }
  1273. /*No:CALL_PREFIX_FREEOP.isa_dca_inline_argument*/
  1274. /*No:CALL_PREFIX_FREEOP.fatal_error*/
  1275. void r990afd_check(T990* C){
  1276. T0* _running=NULL;
  1277. T0* _rc=NULL;
  1278. _rc=X291run_class(X662result_type((((T990*)C))->_target/*12*/));
  1279. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  1280. /*IF*/if ((_running)==((void*)(NULL))) {
  1281. r683add_position(X662start_position((((T990*)C))->_target/*12*/));
  1282. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  1283. r7append(((T7*)(oBC683explanation)),b1);
  1284. }/*]*/
  1285. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  1286. r7append(((T7*)(oBC683explanation)),b1);
  1287. }/*]*/
  1288. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  1289. r7append(((T7*)(oBC683explanation)),b1);
  1290. }/*]*/
  1291. r683print_as_warning(((T683*)(oBC364eh)));
  1292. r355set_at_run_time(((T355*)_rc));
  1293. }
  1294.  else if ((r396count(((T396*)_running)))>(0)) {
  1295. r576update((((T990*)C))->_target/*12*/,(((T990*)C))->_run_feature/*16*/);
  1296. }
  1297. /*FI*/X662afd_check((((T990*)C))->_target/*12*/);
  1298. /*IF*//*AF*//*AE*/
  1299. /*FI*/}
  1300. T0* r849add_comment(T849* C,T0* a1){
  1301. T0* R=NULL;
  1302. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1303. R=(T0*)C;
  1304. }
  1305. else {
  1306. {T529*n=malloc(sizeof(*n));
  1307. *n=M529;
  1308. r529make(n,(T0*)C,a1);
  1309. R=(T0*)n;
  1310. }
  1311. }
  1312. /*FI*/return R;
  1313. }
  1314. /*No:E_TRUE.to_integer*/
  1315. int r849is_a(T849* C,T0* a1){
  1316. int R=0;
  1317. R=X291is_a(/*(IRF4.4run_type*/((T0*)((T707*)/*(IRF4.8result_type*/r849type_boolean()/*)*/))/*)*/,X291run_type(X662result_type(a1)));
  1318. /*IF*/if (!(R)) {
  1319. r683add_position((((T849*)C))->_start_position/*12*/);
  1320. r849error(X662start_position(a1),((T0*)ms4_662));
  1321. }
  1322. /*FI*/return R;
  1323. }
  1324. /*No:E_TRUE.is_current*/
  1325. void r849mapping_c_arg(T0* a1){
  1326. /*IF*/if (X291is_reference(a1)) {
  1327. /*[IRF3.6to_reference*/{T707* C1=((T707*)(/*(IRF4.8result_type*/r849type_boolean()/*)*/));
  1328. r324to_reference(((T324*)(oBC364cpp)),(T0*)C1,r707type_boolean_ref());
  1329. }/*]*/
  1330. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1331. char b1='\50';
  1332. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1333. }/*]*/
  1334. /*]*/
  1335. /*[IRF3.2compile_to_c*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1336. char b1='1';
  1337. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1338. }/*]*/
  1339. /*]*/
  1340. /*]*/
  1341. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1342. char b1='\51';
  1343. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1344. }/*]*/
  1345. /*]*/
  1346. }
  1347. else {
  1348. /*[IRF3.2compile_to_c*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  1349. char b1='1';
  1350. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  1351. }/*]*/
  1352. /*]*/
  1353. /*]*/
  1354. }
  1355. /*FI*/}
  1356. int fBC364type_boolean=0;
  1357. T0*oBC364type_boolean=NULL;
  1358. T0* r849type_boolean(void){
  1359. if (fBC364type_boolean==0){
  1360. T0* R=NULL;
  1361. fBC364type_boolean=1;
  1362. {T707*n=malloc(sizeof(*n));
  1363. *n=M707;
  1364. r707make(n,NULL);
  1365. R=(T0*)n;
  1366. }
  1367. oBC364type_boolean=R;}
  1368. return oBC364type_boolean;}
  1369. /*No:E_TRUE.static_value*/
  1370. /*No:E_TRUE.make*/
  1371. /*No:E_TRUE.mapping_c_target*/
  1372. /*No:E_TRUE.fz_iinaiv*/
  1373. /*No:E_TRUE.dca_inline_argument*/
  1374. /*No:E_TRUE.start_position*/
  1375. /*No:E_TRUE.compile_to_c*/
  1376. /*No:E_TRUE.c_simple*/
  1377. T0* r849to_runnable(T849* C,T0* a1){
  1378. T0* R=NULL;
  1379. /*IF*/if (((((T849*)C))->_current_type/*8*/)==((void*)(NULL))) {
  1380. C->_current_type=a1;
  1381. R=(T0*)C;
  1382. }
  1383. else {
  1384. R=r849twin(C);
  1385. /*[IRF3.3set_current_type*/((((T849*)(((T849*)R))))->_current_type)=(a1);
  1386. /*]*/
  1387. }
  1388. /*FI*/return R;
  1389. }
  1390. /*No:E_TRUE.result_type*/
  1391. /*No:E_TRUE.is_result*/
  1392. T0* r849twin(T849* C){
  1393. T0* R=NULL;
  1394. R=malloc(sizeof(*C));
  1395. *((T849*)R)=*C;
  1396. return R;
  1397. }
  1398. /*No:E_TRUE.set_current_type*/
  1399. int r849is_static(T849* C){
  1400. int R=0;
  1401. R=1;
  1402. C->_static_value_mem=1;
  1403. return R;
  1404. }
  1405. /*No:E_TRUE.can_be_dropped*/
  1406. /*No:E_TRUE.current_type*/
  1407. /*No:E_TRUE.compile_to_c_old*/
  1408. /*No:E_TRUE.static_value_mem*/
  1409. /*No:E_TRUE.is_manifest_string*/
  1410. /*No:E_TRUE.is_void*/
  1411. /*No:E_TRUE.is_pre_computable*/
  1412. /*No:E_TRUE.use_current*/
  1413. void r849error(T0* a1,T0* a2){
  1414. r683add_position(a1);
  1415. r683error(((T683*)(oBC364eh)),a2);
  1416. }
  1417. int r849isa_dca_inline_argument(T849* C){
  1418. int R=0;
  1419. /*IF*/if (r849is_static(C)) {
  1420. R=-(1);
  1421. }
  1422. /*FI*/return R;
  1423. }
  1424. /*No:E_TRUE.afd_check*/
  1425. /*No:ID_PROVIDER.us_integer*/
  1426. void r410make(T410* C){
  1427. {T226*n=malloc(sizeof(*n));
  1428. *n=M226;
  1429. r226with_capacity(n,1024);
  1430. C->_mem_id=(T0*)n;
  1431. }
  1432. {T927*n=malloc(sizeof(*n));
  1433. *n=M927;
  1434. r927with_capacity(n,1024);
  1435. C->_mem_str=(T0*)n;
  1436. }
  1437. C->_modulus=1000;
  1438. r410add2(C,NULL,0);
  1439. r410add2(C,((T0*)ms14_473),1);
  1440. r410add2(C,((T0*)ms15_473),2);
  1441. r410add2(C,((T0*)ms8_473),3);
  1442. r410add2(C,((T0*)ms23_473),4);
  1443. r410add2(C,((T0*)ms11_473),5);
  1444. r410add2(C,((T0*)ms6_473),6);
  1445. r410add2(C,((T0*)ms25_473),7);
  1446. r410add2(C,((T0*)ms21_473),8);
  1447. r410add2(C,((T0*)ms144_473),9);
  1448. r410add2(C,NULL,10);
  1449. r410add2(C,NULL,11);
  1450. r410add2(C,NULL,12);
  1451. r410add2(C,NULL,13);
  1452. r410add2(C,NULL,14);
  1453. r410add2(C,NULL,15);
  1454. r410add2(C,NULL,16);
  1455. r410add2(C,NULL,17);
  1456. r410add2(C,NULL,18);
  1457. r410add2(C,NULL,19);
  1458. r410add2(C,NULL,20);
  1459. }
  1460. /*No:ID_PROVIDER.us_pointer*/
  1461. /*No:ID_PROVIDER.us_string*/
  1462. int r410item(T410* C,T0* a1){
  1463. int R=0;
  1464. int _index=0;
  1465. _index=r927fast_index_of(((T927*)((((T410*)C))->_mem_str/*4*/)),a1);
  1466. /*IF*/if ((_index)<=((((T927*)((T927*)((((T410*)C))->_mem_str/*4*/))))->_upper/*8*/)) {
  1467. R=/*(IRF4.6item*/((((T226*)((T226*)((((T410*)C))->_mem_id/*0*/))))->_storage/*0*/)[_index]/*)*/;
  1468. }
  1469. else {
  1470. /*IF*/if ((((((T927*)((T927*)((((T410*)C))->_mem_str/*4*/))))->_upper/*8*/)*(2))>((((T410*)C))->_modulus/*8*/)) {
  1471. C->_modulus=((((T410*)C))->_modulus/*8*/)*(2);
  1472. }
  1473. /*FI*/R=(r7hash_code(((T7*)a1)))%((((T410*)C))->_modulus/*8*/);
  1474. /*IF*/if (r226fast_has(((T226*)((((T410*)C))->_mem_id/*0*/)),R)) {
  1475. while (!(!(r226fast_has(((T226*)((((T410*)C))->_mem_id/*0*/)),R)))) {
  1476. R=((R)+(13))%((((T410*)C))->_modulus/*8*/);
  1477. }
  1478. r410add2(C,a1,R);
  1479. }
  1480. else {
  1481. r410add2(C,a1,R);
  1482. }
  1483. /*FI*/}
  1484. /*FI*/return R;
  1485. }
  1486. /*No:ID_PROVIDER.us_character*/
  1487. /*No:ID_PROVIDER.us_real*/
  1488. /*No:ID_PROVIDER.us_boolean*/
  1489. /*No:ID_PROVIDER.us_double*/
  1490. int r410max_id(T410* C){
  1491. int R=0;
  1492. int _i=0;
  1493. _i=(((T226*)((T226*)((((T410*)C))->_mem_id/*0*/))))->_upper/*8*/;
  1494. while (!((_i)<(0))) {
  1495. /*IF*/if ((/*(IRF4.6item*/((((T226*)((T226*)((((T410*)C))->_mem_id/*0*/))))->_storage/*0*/)[_i]/*)*/)>(R)) {
  1496. R=/*(IRF4.6item*/((((T226*)((T226*)((((T410*)C))->_mem_id/*0*/))))->_storage/*0*/)[_i]/*)*/;
  1497. }
  1498. /*FI*/_i=(_i)-(1);
  1499. }
  1500. return R;
  1501. }
  1502. /*No:ID_PROVIDER.mem_id*/
  1503. /*No:ID_PROVIDER.modulus*/
  1504. /*No:ID_PROVIDER.us_native_array_character*/
  1505. void r410add2(T410* C,T0* a1,int a2){
  1506. r927add_last(((T927*)((((T410*)C))->_mem_str/*4*/)),a1);
  1507. r226add_last(((T226*)((((T410*)C))->_mem_id/*0*/)),a2);
  1508. }
  1509. /*No:ID_PROVIDER.mem_str*/
  1510. /*No:ID_PROVIDER.us_general*/
  1511. /*No:FUNCTION.arguments*/
  1512. T0* r696try_to_undefine(T696* C,T0* a1,T0* a2){
  1513. T0* R=NULL;
  1514. X776undefine_in(a1,a2);
  1515. R=r696try_to_undefine_aux(C,a1,a2);
  1516. /*IF*/if ((R)!=((void*)(NULL))) {
  1517. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T696*)C))->_clients/*24*/);
  1518. /*]*/
  1519. }
  1520. else {
  1521. r605fatal_undefine(((T605*)a2),a1);
  1522. }
  1523. /*FI*/return R;
  1524. }
  1525. /*No:FUNCTION.is_deferred*/
  1526. /*No:FUNCTION.fz_bad_assertion*/
  1527. T0* r696runnable(T0* a1,T0* a2,T0* a3){
  1528. T0* R=NULL;
  1529. T0* _a=NULL;
  1530. int _i=0;
  1531. /*IF*/if (!(r608empty(((T608*)a1)))) {
  1532. R=r608twin(((T608*)a1));
  1533. _i=(((T608*)((T608*)R)))->_upper/*8*/;
  1534. while (!((_i)==(0))) {
  1535. r604push(((T604*)(oBC364small_eiffel)),a3);
  1536. _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2);
  1537. /*IF*/if ((_a)==((void*)(NULL))) {
  1538. r696error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470));
  1539. }
  1540. else {
  1541. /*[IRF3.6put*/{T608* C1=((T608*)R);
  1542. T0* b1=_a;
  1543. int b2=_i;
  1544. ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1);
  1545. }/*]*/
  1546. }
  1547. /*FI*/r604pop(((T604*)(oBC364small_eiffel)));
  1548. _i=(_i)-(1);
  1549. }
  1550. }
  1551. /*FI*/return R;
  1552. }
  1553. /*No:FUNCTION.rescue_compound*/
  1554. void r696add_into(T696* C,T0* a1){
  1555. T0* _fn=NULL;
  1556. int _i=0;
  1557. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T696*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  1558. _i=1;
  1559. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T696*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1560. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T696*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  1561. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  1562. _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)/*)*//*)*/);
  1563. r683add_position(X776start_position(_fn));
  1564. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T696*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  1565. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  1566. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  1567. r7append(((T7*)(oBC683explanation)),b1);
  1568. }/*]*/
  1569. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1570. }
  1571. else {
  1572. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  1573. }
  1574. /*FI*/_i=(_i)+(1);
  1575. }
  1576. }
  1577. /*No:FUNCTION.end_comment*/
  1578. T0* r696try_to_undefine_aux(T696* C,T0* a1,T0* a2){
  1579. T0* R=NULL;
  1580. {T649*n=malloc(sizeof(*n));
  1581. *n=M649;
  1582. r649from_effective(n,a1,(((T696*)C))->_arguments/*28*/,(((T696*)C))->_result_type/*12*/,(((T696*)C))->_require_assertion/*36*/,(((T696*)C))->_ensure_assertion/*40*/,a2);
  1583. R=(T0*)n;
  1584. }
  1585. return R;
  1586. }
  1587. /*No:FUNCTION.us_array*/
  1588.  
  1589.