home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / pretty26.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  31.8 KB  |  1,053 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 "pretty.h"
  9. /*No:RUN_FEATURE_1.arguments*/
  10. /*No:RUN_FEATURE_1.actuals_clients*/
  11. void r808make(T808* C,T0* a1,T0* a2,T0* a3){
  12. C->_current_type=a1;
  13. C->_name=a2;
  14. C->_base_feature=a3;
  15. r199put(((T199*)((((T368*)((T368*)(r808run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
  16. r604incr_magic_count(((T604*)(oBC364small_eiffel)));
  17. C->_use_current_state=1015;
  18. r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
  19. r808initialize(C);
  20. r604pop(((T604*)(oBC364small_eiffel)));
  21. }
  22. /*No:RUN_FEATURE_1.name*/
  23. int r808arg_count(T808* C){
  24. int R=0;
  25. /*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) {
  26. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T808*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  27. }
  28. /*FI*/return R;
  29. }
  30. /*No:RUN_FEATURE_1.local_vars*/
  31. /*No:RUN_FEATURE_1.base_feature*/
  32. T0* r808start_position(T808* C){
  33. T0* R=NULL;
  34. R=X418start_position((((T808*)C))->_base_feature/*32*/);
  35. return R;
  36. }
  37. int r808is_exported_in(T808* C,T0* a1){
  38. int R=0;
  39. R=r636gives_permission_to(((T636*)(r808clients(C))),a1);
  40. return R;
  41. }
  42. /*No:RUN_FEATURE_1.result_type*/
  43. void r808add_client(T808* C,T0* a1){
  44. int _i=0;
  45. /*IF*/if (((((T808*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
  46. {T187*n=malloc(sizeof(*n));
  47. *n=M187;
  48. r187with_capacity(n,4);
  49. C->_actuals_clients=(T0*)n;
  50. }
  51. r187add_last(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1);
  52. }
  53. else {
  54. _i=r187fast_index_of(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1);
  55. /*IF*/if ((_i)>((((T187*)((T187*)((((T808*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
  56. r187add_last(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1);
  57. }
  58. /*FI*/}
  59. /*FI*/r368add_client(((T368*)(r808run_class(C))),a1);
  60. }
  61. /*No:RUN_FEATURE_1.value*/
  62. /*No:RUN_FEATURE_1.use_current_state*/
  63. /*No:RUN_FEATURE_1.current_type*/
  64. T0* r808run_class(T808* C){
  65. T0* R=NULL;
  66. R=X291run_class((((T808*)C))->_current_type/*4*/);
  67. return R;
  68. }
  69. /*No:RUN_FEATURE_1.ucs_not_computed*/
  70. T0* r808clients(T808* C){
  71. T0* R=NULL;
  72. T0* _bfbc=NULL;
  73. T0* _bc=NULL;
  74. /*IF*/if (((((T808*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
  75. _bc=X291base_class((((T808*)C))->_current_type/*4*/);
  76. _bfbc=/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*32*/))))->_base_class/*4*/);
  77. /*IF*/if ((_bc)==((void*)(_bfbc))) {
  78. R=/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*32*/))))->_clients/*20*/);
  79. }
  80. else {
  81. R=r605clients_for(((T605*)_bc),(((T808*)C))->_name/*16*/);
  82. }
  83. /*FI*/C->_clients_memory=R;
  84. }
  85. else {
  86. R=(((T808*)C))->_clients_memory/*8*/;
  87. }
  88. /*FI*/return R;
  89. }
  90. /*No:RUN_FEATURE_1.clients_memory*/
  91. void r808initialize(T808* C){
  92. int _i=0;
  93. _i=r953index_of(((T953*)(/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*32*/))))->_names/*8*/))),(((T808*)C))->_name/*16*/);
  94. C->_value=X418value((((T808*)C))->_base_feature/*32*/,_i);
  95. C->_value=X662to_runnable((((T808*)C))->_value/*36*/,(((T808*)C))->_current_type/*4*/);
  96. C->_result_type=X291to_runnable(/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*32*/))))->_result_type/*12*/),(((T808*)C))->_current_type/*4*/);
  97. }
  98. /*No:NATIVE_WITH_CURRENT.fz_c_withcurrent*/
  99. T0* r893language_name(void){
  100. T0* R=NULL;
  101. R=((T0*)ms98_470);
  102. return R;
  103. }
  104. /*No:NATIVE_WITH_CURRENT.pretty_print*/
  105. void r881make(T881* C,T0* a1,T0* a2){
  106. T0* _fga=NULL;
  107. int _i=0;
  108. int _rank=0;
  109. C->_start_position=a1;
  110. C->_list=a2;
  111. _i=(((T681*)((T681*)a2)))->_upper/*8*/;
  112. while (!((_i)==(0))) {
  113. _fga=r681item(((T681*)a2),_i);
  114. _rank=r881index_of(C,(((T59*)((T59*)_fga)))->_name/*0*/);
  115. /*IF*/if ((_rank)!=(_i)) {
  116. r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)a2),_rank)))))->_name/*0*/))))->_start_position/*4*//*)*/);
  117. r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T59*)((T59*)_fga)))->_name/*0*/))))->_start_position/*4*//*)*/);
  118. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_881);
  119. r683fatal_error(((T683*)(oBC364eh)),b1);
  120. }/*]*/
  121. }
  122. /*FI*/_i=(_i)-(1);
  123. }
  124. }
  125. /*No:FORMAL_GENERIC_LIST.start_position*/
  126. /*No:FORMAL_GENERIC_LIST.item*/
  127. void r881pretty_print(T881* C){
  128. int _i=0;
  129. r238put_character(((T238*)(oBC364fmt)),'\133');
  130. r238level_incr(((T238*)(oBC364fmt)));
  131. _i=1;
  132. while (!((_i)>((((T681*)((T681*)((((T881*)C))->_list/*4*/))))->_upper/*8*/))) {
  133. r59pretty_print(((T59*)(r681item(((T681*)((((T881*)C))->_list/*4*/)),_i))));
  134. _i=(_i)+(1);
  135. /*IF*/if ((_i)<=((((T681*)((T681*)((((T881*)C))->_list/*4*/))))->_upper/*8*/)) {
  136. r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_881));
  137. }
  138. /*FI*/}
  139. r238put_character(((T238*)(oBC364fmt)),'\135');
  140. r238level_decr(((T238*)(oBC364fmt)));
  141. }
  142. /*No:FORMAL_GENERIC_LIST.list*/
  143. /*No:FORMAL_GENERIC_LIST.count*/
  144. /*No:FORMAL_GENERIC_LIST.fatal_error*/
  145. int r881index_of(T881* C,T0* a1){
  146. int R=0;
  147. T0* _to_string=NULL;
  148. _to_string=(((T451*)((T451*)a1)))->_to_string/*0*/;
  149. R=(((T681*)((T681*)((((T881*)C))->_list/*4*/))))->_upper/*8*/;
  150. while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)((((T59*)((T59*)(r681item(((T681*)((((T881*)C))->_list/*4*/)),R)))))->_name/*0*/))))->_to_string/*0*/))))) {
  151. R=(R)-(1);
  152. }
  153. return R;
  154. }
  155. /*No:CST_ATT_BOOLEAN.arguments*/
  156. T0* r580try_to_undefine(T580* C,T0* a1,T0* a2){
  157. T0* R=NULL;
  158. X776undefine_in(a1,a2);
  159. R=r580try_to_undefine_aux(C,a1,a2);
  160. /*IF*/if ((R)!=((void*)(NULL))) {
  161. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T580*)C))->_clients/*20*/);
  162. /*]*/
  163. }
  164. else {
  165. r605fatal_undefine(((T605*)a2),a1);
  166. }
  167. /*FI*/return R;
  168. }
  169. /*No:CST_ATT_BOOLEAN.is_deferred*/
  170. void r580pretty_tail(T580* C){
  171. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_418));
  172. X332pretty_print(/*(IRF4.3value*/(((T580*)C))->_value_mem/*24*//*)*/);
  173. }
  174. void r580add_into(T580* C,T0* a1){
  175. T0* _fn=NULL;
  176. int _i=0;
  177. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  178. _i=1;
  179. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  180. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  181. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  182. _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)/*)*//*)*/);
  183. r683add_position(X776start_position(_fn));
  184. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  185. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  186. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  187. r7append(((T7*)(oBC683explanation)),b1);
  188. }/*]*/
  189. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  190. }
  191. else {
  192. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  193. }
  194. /*FI*/_i=(_i)+(1);
  195. }
  196. }
  197. T0* r580try_to_undefine_aux(T580* C,T0* a1,T0* a2){
  198. T0* R=NULL;
  199. r683add_position(r580start_position(C));
  200. r580error(X776start_position(a1),((T0*)ms1_308));
  201. r605fatal_undefine(((T605*)a2),a1);
  202. return R;
  203. }
  204. void r580make(T580* C,T0* a1,T0* a2,T0* a3){
  205. r580make_e_feature(C,a1,a2);
  206. C->_value_mem=a3;
  207. }
  208. /*No:CST_ATT_BOOLEAN.nb_errors*/
  209. void r580pretty_print_one_name(T0* a1){
  210. /*IF*/if (X776is_frozen(a1)) {
  211. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  212. }
  213. /*FI*/X776definition_pretty_print(a1);
  214. }
  215. /*No:CST_ATT_BOOLEAN.set_header_comment*/
  216. T0* r580start_position(T580* C){
  217. T0* R=NULL;
  218. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  219. return R;
  220. }
  221. T0* r580to_run_feature(T580* C,T0* a1,T0* a2){
  222. T0* R=NULL;
  223. T0* _rc=NULL;
  224. _rc=X291run_class(a1);
  225. R=r368at(((T368*)_rc),a2);
  226. if(NULL!=(R))switch(((T0*)R)->id) {
  227. case 808: 
  228. break;
  229. default:
  230. R=NULL;
  231. };/*IF*/if ((R)==((void*)(NULL))) {
  232. {T808*n=malloc(sizeof(*n));
  233. *n=M808;
  234. r808make(n,a1,a2,(T0*)C);
  235. R=(T0*)n;
  236. }
  237. }
  238. /*FI*/return R;
  239. }
  240. /*No:CST_ATT_BOOLEAN.ensure_assertion*/
  241. /*No:CST_ATT_BOOLEAN.code_require*/
  242. /*No:CST_ATT_BOOLEAN.result_type*/
  243. /*No:CST_ATT_BOOLEAN.em1*/
  244. void r580pretty_print(T580* C){
  245. r580pretty_print_profile(C);
  246. r580pretty_tail(C);
  247. r238put_character(((T238*)(oBC364fmt)),'\73');
  248. /*IF*/if (((((T580*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  249. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  250. /*]*/
  251. r238indent(((T238*)(oBC364fmt)));
  252. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  253. /*]*/
  254. r393pretty_print(((T393*)((((T580*)C))->_header_comment/*16*/)));
  255. }
  256. /*FI*/}
  257. /*No:CST_ATT_BOOLEAN.set_clients*/
  258. /*No:CST_ATT_BOOLEAN.em2*/
  259. /*No:CST_ATT_BOOLEAN.require_assertion*/
  260. /*No:CST_ATT_BOOLEAN.value*/
  261. /*No:CST_ATT_BOOLEAN.names*/
  262. /*No:CST_ATT_BOOLEAN.value_mem*/
  263. void r580pretty_print_profile(T580* C){
  264. r580pretty_print_names(C);
  265. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  266. /*]*/
  267. /*[IRF3.1pretty_print_arguments*//*]*/
  268. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  269. /*]*/
  270. /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  271. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  272. X291pretty_print((((T580*)C))->_result_type/*12*/);
  273. }
  274. /*FI*/}
  275. void r580pretty_print_names(T580* C){
  276. int _i=0;
  277. _i=1;
  278. r580pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  279. _i=(_i)+(1);
  280. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  281. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  282. r580pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T580*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  283. _i=(_i)+(1);
  284. }
  285. }
  286. int r580can_hide(T580* C,T0* a1,T0* a2){
  287. int R=0;
  288. /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  289. /*IF*/if ((((((T580*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  290. r683add_position(X359start_position(a1));
  291. r580error(r580start_position(C),((T0*)ms5_359));
  292. }
  293. /*FI*/}
  294. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  295. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  296. r580error(r580start_position(C),((T0*)ms6_359));
  297. }
  298. /*FI*/}
  299. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  300. /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  301. /*IF*/if (!(X291is_a_in((((T580*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  302. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  303. r7append(((T7*)(oBC683explanation)),b1);
  304. }/*]*/
  305. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  306. r7append(((T7*)(oBC683explanation)),b1);
  307. }/*]*/
  308. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  309. }
  310. /*FI*/}
  311. /*FI*/}
  312. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  313. /*IF*//*AF*//*AE*/
  314. /*FI*/}
  315. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  316. return R;
  317. }
  318. /*No:CST_ATT_BOOLEAN.header_comment*/
  319. int r580is_merge_with(T580* C,T0* a1,T0* a2){
  320. int R=0;
  321. /*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  322. /*IF*/if ((((((T580*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  323. r683add_position(X359start_position(a1));
  324. r580error(r580start_position(C),((T0*)ms2_359));
  325. }
  326. /*FI*/}
  327. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  328. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  329. r580error(r580start_position(C),((T0*)ms3_359));
  330. }
  331. /*FI*/}
  332. /*FI*//*IF*/if (((((T580*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  333. /*IF*/if (!(X291is_a_in((((T580*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  334. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  335. }
  336. /*FI*/}
  337. /*FI*//*IF*//*AF*//*AE*/
  338. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  339. return R;
  340. }
  341. /*No:CST_ATT_BOOLEAN.fz_dot*/
  342. /*No:CST_ATT_BOOLEAN.first_name*/
  343. /*No:CST_ATT_BOOLEAN.clients*/
  344. void r580collect_for(int a1){
  345. /*IF*/if ((a1)==(1001)) {
  346. /*IF*//*AF*//*AE*/
  347. /*FI*/}
  348. else {
  349. /*IF*//*AF*//*AE*/
  350. /*FI*/}
  351. /*FI*/}
  352. void r580error(T0* a1,T0* a2){
  353. r683add_position(a1);
  354. r683error(((T683*)(oBC364eh)),a2);
  355. }
  356. /*No:CST_ATT_BOOLEAN.base_class*/
  357. /*No:CST_ATT_BOOLEAN.pretty_print_arguments*/
  358. void r580make_e_feature(T580* C,T0* a1,T0* a2){
  359. C->_names=a1;
  360. C->_result_type=a2;
  361. }
  362. int r788has_creation(T788* C,T0* a1){
  363. int R=0;
  364. r683add_position(X776start_position(a1));
  365. r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
  366. return R;
  367. }
  368. /*No:TYPE_INTEGER.is_anchored*/
  369. /*No:TYPE_INTEGER.us_integer*/
  370. /*No:TYPE_INTEGER.is_array*/
  371. int r788is_a(T788* C,T0* a1){
  372. int R=0;
  373. /*IF*/if (((X291is_integer(a1))||(X291is_double(a1)))||(X291is_real(a1))) {
  374. R=1;
  375. }
  376. else {
  377. R=r605is_subclass_of(((T605*)(r788base_class(C))),X291base_class(a1));
  378. /*IF*/if (R) {
  379. r788used_as_reference();
  380. }
  381. /*FI*/}
  382. /*FI*//*IF*/if (!(R)) {
  383. r683add_type((T0*)C,((T0*)ms71_470));
  384. r683add_type(a1,((T0*)ms67_470));
  385. }
  386. /*FI*/return R;
  387. }
  388. /*No:TYPE_INTEGER.run_type*/
  389. /*No:TYPE_INTEGER.is_pointer*/
  390. /*No:TYPE_INTEGER.is_string*/
  391. /*No:TYPE_INTEGER.is_like_feature*/
  392. /*No:TYPE_INTEGER.is_like_current*/
  393. void r788make(T788* C,T0* a1){
  394. {T451*n=malloc(sizeof(*n));
  395. *n=M451;
  396. r451make(n,((T0*)ms15_473),a1);
  397. C->_base_class_name=(T0*)n;
  398. }
  399. }
  400. /*No:TYPE_INTEGER.us_item*/
  401. void r788load_ref(T0* a1){
  402. T0* _rf=NULL;
  403. T0* _rc=NULL;
  404. T0* _cn=NULL;
  405. {T451*n=malloc(sizeof(*n));
  406. *n=M451;
  407. r451make(n,a1,NULL);
  408. _cn=(T0*)n;
  409. }
  410. _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
  411. r368set_at_run_time(((T368*)_rc));
  412. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms86_473));
  413. }
  414. /*No:TYPE_INTEGER.nb_errors*/
  415. int fBC364type_integer_ref=0;
  416. T0*oBC364type_integer_ref=NULL;
  417. T0* r788type_integer_ref(void){
  418. if (fBC364type_integer_ref==0){
  419. T0* R=NULL;
  420. T0* _integer_ref=NULL;
  421. fBC364type_integer_ref=1;
  422. {T451*n=malloc(sizeof(*n));
  423. *n=M451;
  424. r451make(n,((T0*)ms16_473),NULL);
  425. _integer_ref=(T0*)n;
  426. }
  427. {T657*n=malloc(sizeof(*n));
  428. *n=M657;
  429. /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_integer_ref);
  430. /*]*/
  431. R=(T0*)n;
  432. }
  433. oBC364type_integer_ref=R;}
  434. return oBC364type_integer_ref;}
  435. int fBC788check_type=0;
  436. void r788check_type(T788* C){
  437. if (fBC788check_type==0){
  438. T0* _rc=NULL;
  439. T0* _bc=NULL;
  440. fBC788check_type=1;
  441. _bc=r788base_class(C);
  442. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  443. _rc=r788run_class(C);
  444. }
  445. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  446. /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
  447. r788error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T788*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_788));
  448. }
  449. /*FI*/}
  450. /*FI*/}}
  451. /*No:TYPE_INTEGER.start_position*/
  452. /*No:TYPE_INTEGER.fz_inako*/
  453. /*No:TYPE_INTEGER.is_character*/
  454. T0* r788written_mark(void){
  455. T0* R=NULL;
  456. R=((T0*)ms15_473);
  457. return R;
  458. }
  459. T0* r788to_runnable(T788* C,T0* a1){
  460. T0* R=NULL;
  461. R=(T0*)C;
  462. r788check_type(C);
  463. return R;
  464. }
  465. /*No:TYPE_INTEGER.is_run_type*/
  466. /*No:TYPE_INTEGER.is_formal_generic*/
  467. T0* r788generic_list(T788* C){
  468. T0* R=NULL;
  469. r788fatal_error_generic_list(C);
  470. return R;
  471. }
  472. /*No:TYPE_INTEGER.is_real*/
  473. /*No:TYPE_INTEGER.us_integer_ref*/
  474. /*No:TYPE_INTEGER.is_bit*/
  475. void r788fatal_error_generic_list(T788* C){
  476. r683add_type((T0*)C,((T0*)ms12_291));
  477. r683print_as_fatal_error(((T683*)(oBC364eh)));
  478. }
  479. /*No:TYPE_INTEGER.pretty_print*/
  480. T0* r788smallest_ancestor(T788* C,T0* a1){
  481. T0* R=NULL;
  482. T0* _rto=NULL;
  483. _rto=X291run_type(a1);
  484. /*IF*/if (X291is_integer(_rto)) {
  485. R=(T0*)C;
  486. }
  487.  else if (X291is_real(_rto)) {
  488. R=a1;
  489. }
  490.  else if (X291is_double(_rto)) {
  491. R=a1;
  492. }
  493. else {
  494. R=r657smallest_ancestor(((T657*)(r788type_integer_ref())),_rto);
  495. }
  496. /*FI*/return R;
  497. }
  498. /*No:TYPE_INTEGER.is_boolean*/
  499. /*No:TYPE_INTEGER.is_double*/
  500. T0* r788run_class(T788* C){
  501. T0* R=NULL;
  502. R=r604run_class((T0*)C);
  503. return R;
  504. }
  505. T0* r788run_time_mark(void){
  506. T0* R=NULL;
  507. R=((T0*)ms15_473);
  508. return R;
  509. }
  510. int r788is_a_in(T788* C,T0* a1,T0* a2){
  511. int R=0;
  512. T0* _ct=NULL;
  513. T0* _t2=NULL;
  514. T0* _t1=NULL;
  515. /*IF*/if ((r788written_mark())==((void*)(X291written_mark(a1)))) {
  516. R=1;
  517. }
  518. else {
  519. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  520. _t1=r788to_runnable(C,_ct);
  521. _t2=X291to_runnable(a1,_ct);
  522. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  523. R=1;
  524. }
  525. else {
  526. R=X291is_a(_t1,_t2);
  527. }
  528. /*FI*/}
  529. /*FI*/return R;
  530. }
  531. T0* r788look_up_for(T788* C,T0* a1,T0* a2){
  532. T0* R=NULL;
  533. R=r605look_up_for(((T605*)(r788base_class(C))),a1,a2);
  534. return R;
  535. }
  536. /*No:TYPE_INTEGER.expanded_initializer*/
  537. /*No:TYPE_INTEGER.fz_dot*/
  538. /*No:TYPE_INTEGER.is_generic*/
  539. int fBC788used_as_reference=0;
  540. void r788used_as_reference(void){
  541. if (fBC788used_as_reference==0){
  542. fBC788used_as_reference=1;
  543. r788load_ref(((T0*)ms16_473));
  544. }}
  545. /*No:TYPE_INTEGER.is_reference*/
  546. void r788error(T0* a1,T0* a2){
  547. r683add_position(a1);
  548. r683error(((T683*)(oBC364eh)),a2);
  549. }
  550. T0* r788base_class(T788* C){
  551. T0* R=NULL;
  552. T0* _bcn=NULL;
  553. _bcn=(((T788*)C))->_base_class_name/*4*/;
  554. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  555. R=r451base_class(((T451*)_bcn));
  556. }
  557. else {
  558. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  559. r7append(((T7*)(oBC683explanation)),b1);
  560. }/*]*/
  561. r683add_type((T0*)C,((T0*)ms67_470));
  562. r683print_as_fatal_error(((T683*)(oBC364eh)));
  563. }
  564. /*FI*/return R;
  565. }
  566. /*No:TYPE_INTEGER.is_any*/
  567. /*No:TYPE_INTEGER.base_class_name*/
  568. /*No:TYPE_INTEGER.is_expanded*/
  569. /*No:TYPE_INTEGER.is_basic_eiffel_expanded*/
  570. /*No:TYPE_INTEGER.is_none*/
  571. /*No:TYPE_INTEGER.is_integer*/
  572. /*No:PROC_CALL_1.arguments*/
  573. T0* r317add_comment(T317* C,T0* a1){
  574. T0* R=NULL;
  575. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  576. R=(T0*)C;
  577. }
  578. /*AF*/else {
  579. {T46*n=malloc(sizeof(*n));
  580. *n=M46;
  581. r46make(n,(T0*)C,a1);
  582. R=(T0*)n;
  583. }
  584. }
  585. /*FI*/return R;
  586. }
  587. void r317make(T317* C,T0* a1,T0* a2,T0* a3){
  588. C->_target=a1;
  589. C->_feature_name=a2;
  590. C->_arguments=a3;
  591. }
  592. /*No:PROC_CALL_1.nb_errors*/
  593. /*No:PROC_CALL_1.feature_name*/
  594. /*No:PROC_CALL_1.arg_count*/
  595. /*No:PROC_CALL_1.run_feature*/
  596. /*No:PROC_CALL_1.set_run_compound*/
  597. T0* r317start_position(T317* C){
  598. T0* R=NULL;
  599. R=X776start_position((((T317*)C))->_feature_name/*12*/);
  600. return R;
  601. }
  602. /*No:PROC_CALL_1.target*/
  603. /*No:PROC_CALL_1.set_run_feature*/
  604. T0* r317to_runnable(T317* C,T0* a1){
  605. T0* R=NULL;
  606. T0* _a=NULL;
  607. /*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  608. r317to_runnable_0(C,a1);
  609. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  610. _a=r431to_runnable(((T431*)((((T317*)C))->_arguments/*20*/)),r317current_type(C));
  611. /*IF*/if ((_a)==((void*)(NULL))) {
  612. r317error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T317*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  613. }
  614. else {
  615. C->_arguments=_a;
  616. }
  617. /*FI*/}
  618. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  619. r431match_with(((T431*)((((T317*)C))->_arguments/*20*/)),(((T317*)C))->_run_feature/*16*/);
  620. }
  621. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  622. R=(T0*)C;
  623. }
  624. /*FI*/}
  625. else {
  626. {T317*n=malloc(sizeof(*n));
  627. *n=M317;
  628. r317make(n,(((T317*)C))->_target/*8*/,(((T317*)C))->_feature_name/*12*/,(((T317*)C))->_arguments/*20*/);
  629. R=(T0*)n;
  630. }
  631. R=r317to_runnable(((T317*)R),a1);
  632. }
  633. /*FI*/return R;
  634. }
  635. void r317pretty_print(T317* C){
  636. X662print_as_target((((T317*)C))->_target/*8*/);
  637. r238put_string(((T238*)(oBC364fmt)),X776to_string((((T317*)C))->_feature_name/*12*/));
  638. r238put_character(((T238*)(oBC364fmt)),'\50');
  639. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T317*)C))->_arguments/*20*/)))/*)*/);
  640. r238put_character(((T238*)(oBC364fmt)),'\51');
  641. /*IF*/if ((((T238*)((T238*)(oBC364fmt))))->_semi_colon_flag/*25*/) {
  642. r238put_character(((T238*)(oBC364fmt)),'\73');
  643. }
  644. /*FI*/}
  645. T0* r317current_type(T317* C){
  646. T0* R=NULL;
  647. /*IF*/if (((((T317*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  648. R=(((T592*)((T592*)((((T317*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  649. }
  650. /*FI*/return R;
  651. }
  652. /*No:PROC_CALL_1.run_compound*/
  653. void r317to_runnable_0(T317* C,T0* a1){
  654. C->_run_compound=a1;
  655. r317cpc_to_runnable(C,r317current_type(C));
  656. /*IF*/if ((/*X496*/((T0*)(((T808*)((T808*)((((T317*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
  657. r683add_position(X496start_position((((T317*)C))->_run_feature/*16*/));
  658. r317error(X776start_position((((T317*)C))->_feature_name/*12*/),((T0*)ms1_173));
  659. }
  660. /*FI*/}
  661. void r317cpc_to_runnable(T317* C,T0* a1){
  662. T0* _rc=NULL;
  663. T0* _t=NULL;
  664. _t=X662to_runnable((((T317*)C))->_target/*8*/,a1);
  665. /*IF*/if ((_t)==((void*)(NULL))) {
  666. r683add_position(X662start_position((((T317*)C))->_target/*8*/));
  667. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  668. r683fatal_error(((T683*)(oBC364eh)),b1);
  669. }/*]*/
  670. }
  671. /*FI*/C->_target=_t;
  672. _rc=X291run_class(X662result_type((((T317*)C))->_target/*8*/));
  673. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  674. r576update((((T317*)C))->_target/*8*/,(((T317*)C))->_run_feature/*16*/);
  675. }
  676. void r317error(T0* a1,T0* a2){
  677. r683add_position(a1);
  678. r683error(((T683*)(oBC364eh)),a2);
  679. }
  680. /*No:PROC_CALL_1.fatal_error*/
  681. /*No:PROC_CALL_1.fz_bad_argument*/
  682. /*No:PROC_CALL_1.arg1*/
  683. /*No:PROC_CALL_1.end_mark_comment*/
  684. T0* r317make_runnable(T317* C,T0* a1,T0* a2,T0* a3,T0* a4){
  685. T0* R=NULL;
  686. /*IF*/if (((((T317*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  687. R=(T0*)C;
  688. r317make(((T317*)R),a2,(((T317*)C))->_feature_name/*12*/,a3);
  689. C->_run_compound=a1;
  690. C->_run_feature=a4;
  691. }
  692. else {
  693. {T317*n=malloc(sizeof(*n));
  694. *n=M317;
  695. r317make(n,a2,(((T317*)C))->_feature_name/*12*/,a3);
  696. R=(T0*)n;
  697. }
  698. /*[IRF3.3set_run_compound*/((((T317*)(((T317*)R))))->_run_compound)=(a1);
  699. /*]*/
  700. /*[IRF3.3set_run_feature*/((((T317*)(((T317*)R))))->_run_feature)=(a4);
  701. /*]*/
  702. }
  703. /*FI*/return R;
  704. }
  705. T0* r23add_comment(T23* C,T0* a1){
  706. T0* R=NULL;
  707. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  708. R=(T0*)C;
  709. }
  710. else {
  711. {T529*n=malloc(sizeof(*n));
  712. *n=M529;
  713. r529make(n,(T0*)C,a1);
  714. R=(T0*)n;
  715. }
  716. }
  717. /*FI*/return R;
  718. }
  719. int r23to_integer(T23* C){
  720. int R=0;
  721. r23error((((T23*)C))->_start_position/*12*/,((T0*)ms69_470));
  722. return R;
  723. }
  724. int r23is_a(T23* C,T0* a1){
  725. int R=0;
  726. R=X291is_a(X291run_type((((T23*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  727. /*IF*/if (!(R)) {
  728. r683add_position((((T23*)C))->_start_position/*12*/);
  729. r23error(X662start_position(a1),((T0*)ms4_662));
  730. }
  731. /*FI*/return R;
  732. }
  733. /*No:LOCAL_NAME2.is_current*/
  734. void r23print_as_target(T23* C){
  735. r238put_string(((T238*)(oBC364fmt)),(((T23*)C))->_to_string/*8*/);
  736. r238put_character(((T238*)(oBC364fmt)),'\56');
  737. }
  738. /*No:LOCAL_NAME2.to_string*/
  739. /*No:LOCAL_NAME2.fz_iinaiv*/
  740. /*No:LOCAL_NAME2.set_result_type*/
  741. /*No:LOCAL_NAME2.start_position*/
  742. /*No:LOCAL_NAME2.precedence*/
  743. T0* r23to_runnable(T23* C,T0* a1){
  744. T0* R=NULL;
  745. T0* _rt=NULL;
  746. T0* _declaration_name=NULL;
  747. T0* _lvl=NULL;
  748. T0* _rf=NULL;
  749. _rf=r604top_rf(((T604*)(oBC364small_eiffel)));
  750. _lvl=X496local_vars(_rf);
  751. _declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)_lvl)))->_flat_list/*12*/)),(((T23*)C))->_rank/*16*/)/*)*/;
  752. /*[IRF3.3set_is_used*/((((T39*)(((T39*)_declaration_name))))->_is_used)=(1);
  753. /*]*/
  754. _rt=r620type(((T620*)_lvl),(((T23*)C))->_rank/*16*/);
  755. /*IF*/if (((((T23*)C))->_current_type/*4*/)==((void*)(NULL))) {
  756. C->_current_type=a1;
  757. C->_result_type=_rt;
  758. R=(T0*)C;
  759. }
  760. else {
  761. {T23*n=malloc(sizeof(*n));
  762. *n=M23;
  763. r23make_runnable(n,(T0*)C,a1,_rt);
  764. R=(T0*)n;
  765. }
  766. }
  767. /*FI*/return R;
  768. }
  769. /*No:LOCAL_NAME2.set_rank*/
  770. /*No:LOCAL_NAME2.bracketed_pretty_print*/
  771. /*No:LOCAL_NAME2.rank*/
  772. /*No:LOCAL_NAME2.result_type*/
  773. /*No:LOCAL_NAME2.atomic_precedence*/
  774. /*No:LOCAL_NAME2.pretty_print*/
  775. /*No:LOCAL_NAME2.current_type*/
  776. /*No:LOCAL_NAME2.is_manifest_string*/
  777. void r23refer_to(T23* C,T0* a1,T0* a2,int a3){
  778. T0* _declaration_name=NULL;
  779. C->_start_position=a1;
  780. C->_rank=a3;
  781. _declaration_name=/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)a2)))->_flat_list/*12*/)),a3)/*)*/;
  782. C->_to_string=(((T39*)((T39*)_declaration_name)))->_to_string/*8*/;
  783. C->_result_type=(((T39*)((T39*)_declaration_name)))->_result_type/*20*/;
  784. }
  785. /*No:LOCAL_NAME2.is_void*/
  786. void r23error(T0* a1,T0* a2){
  787. r683add_position(a1);
  788. r683error(((T683*)(oBC364eh)),a2);
  789. }
  790. void r23make_runnable(T23* C,T0* a1,T0* a2,T0* a3){
  791. *((T23*)(C))=*((T23*)(a1));
  792. C->_current_type=a2;
  793. C->_result_type=a3;
  794. }
  795. T0* r487add_comment(T487* C,T0* a1){
  796. T0* R=NULL;
  797. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  798. R=(T0*)C;
  799. }
  800. else {
  801. {T529*n=malloc(sizeof(*n));
  802. *n=M529;
  803. r529make(n,(T0*)C,a1);
  804. R=(T0*)n;
  805. }
  806. }
  807. /*FI*/return R;
  808. }
  809. int r487to_integer(T487* C){
  810. int R=0;
  811. T0* _rf1=NULL;
  812. _rf1=(((T487*)C))->_run_feature/*16*/;
  813. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  814. case 808: 
  815. break;
  816. default:
  817. _rf1=NULL;
  818. };/*IF*/if ((_rf1)==((void*)(NULL))) {
  819. r487error(r487start_position(C),((T0*)ms69_470));
  820. }
  821. else {
  822. R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*36*/);
  823. }
  824. /*FI*/return R;
  825. }
  826. int r487is_a(T487* C,T0* a1){
  827. int R=0;
  828. R=X291is_a(X291run_type((((T487*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  829. /*IF*/if (!(R)) {
  830. r683add_position(r487start_position(C));
  831. r487error(X662start_position(a1),((T0*)ms4_662));
  832. }
  833. /*FI*/return R;
  834. }
  835. /*No:CALL_0_C.is_current*/
  836. void r487make(T487* C,T0* a1,T0* a2){
  837. C->_target=a1;
  838. C->_feature_name=a2;
  839. }
  840. void r487print_as_target(T487* C){
  841. r487pretty_print(C);
  842. r238put_character(((T238*)(oBC364fmt)),'\56');
  843. }
  844. /*No:CALL_0_C.nb_errors*/
  845. /*No:CALL_0_C.feature_name*/
  846. /*No:CALL_0_C.fz_iinaiv*/
  847. /*No:CALL_0_C.dot_precedence*/
  848. /*No:CALL_0_C.run_feature*/
  849. T0* r487start_position(T487* C){
  850. T0* R=NULL;
  851. R=X776start_position((((T487*)C))->_feature_name/*12*/);
  852. return R;
  853. }
  854. /*No:CALL_0_C.target*/
  855. /*No:CALL_0_C.precedence*/
  856. T0* r487to_runnable(T487* C,T0* a1){
  857. T0* R=NULL;
  858. /*IF*/if (((((T487*)C))->_current_type/*4*/)==((void*)(NULL))) {
  859. r487to_runnable_0(C,a1);
  860. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T487*)C))->_run_feature/*16*/))>(0))) {
  861. r683add_position(X776start_position((((T487*)C))->_feature_name/*12*/));
  862. r487error(X496start_position((((T487*)C))->_run_feature/*16*/),((T0*)ms1_752));
  863. }
  864. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  865. R=(T0*)C;
  866. }
  867. /*FI*/}
  868. else {
  869. R=r487twin(C);
  870. /*[IRF3.3set_current_type*/((((T487*)(((T487*)R))))->_current_type)=(NULL);
  871. /*]*/
  872. R=r487to_runnable(((T487*)R),a1);
  873. }
  874. /*FI*/return R;
  875. }
  876. void r487bracketed_pretty_print(T487* C){
  877. X662print_as_target((((T487*)C))->_target/*8*/);
  878. r238put_string(((T238*)(oBC364fmt)),X776to_string((((T487*)C))->_feature_name/*12*/));
  879. }
  880. /*No:CALL_0_C.result_type*/
  881. T0* r487twin(T487* C){
  882. T0* R=NULL;
  883. R=malloc(sizeof(*C));
  884. *((T487*)R)=*C;
  885. return R;
  886. }
  887. /*No:CALL_0_C.set_current_type*/
  888. void r487pretty_print(T487* C){
  889. X662print_as_target((((T487*)C))->_target/*8*/);
  890. r238put_string(((T238*)(oBC364fmt)),X776to_string((((T487*)C))->_feature_name/*12*/));
  891. }
  892. /*No:CALL_0_C.current_type*/
  893. /*No:CALL_0_C.is_manifest_string*/
  894. /*No:CALL_0_C.is_void*/
  895. void r487to_runnable_0(T487* C,T0* a1){
  896. C->_current_type=a1;
  897. r487cpc_to_runnable(C,a1);
  898. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T487*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  899. /*IF*/if (((((T487*)C))->_result_type/*20*/)==((void*)(NULL))) {
  900. r683add_position(X496start_position((((T487*)C))->_run_feature/*16*/));
  901. r487error(X776start_position((((T487*)C))->_feature_name/*12*/),((T0*)ms1_295));
  902. }
  903.  else if (X291is_like_current((((T487*)C))->_result_type/*20*/)) {
  904. C->_result_type=X662result_type((((T487*)C))->_target/*8*/);
  905. }
  906. /*FI*/}
  907. void r487cpc_to_runnable(T487* C,T0* a1){
  908. T0* _rc=NULL;
  909. T0* _t=NULL;
  910. _t=X662to_runnable((((T487*)C))->_target/*8*/,a1);
  911. /*IF*/if ((_t)==((void*)(NULL))) {
  912. r683add_position(X662start_position((((T487*)C))->_target/*8*/));
  913. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  914. r683fatal_error(((T683*)(oBC364eh)),b1);
  915. }/*]*/
  916. }
  917. /*FI*/C->_target=_t;
  918. _rc=X291run_class(X662result_type((((T487*)C))->_target/*8*/));
  919. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  920. r576update((((T487*)C))->_target/*8*/,(((T487*)C))->_run_feature/*16*/);
  921. }
  922. void r487error(T0* a1,T0* a2){
  923. r683add_position(a1);
  924. r683error(((T683*)(oBC364eh)),a2);
  925. }
  926. /*No:CALL_0_C.fatal_error*/
  927. void r583make(T583* C,T0* a1,T0* a2,T0* a3,T0* a4){
  928. C->_start_position=a1;
  929. C->_clients=a2;
  930. C->_comment=a3;
  931. /*IF*/if ((a4)!=((void*)(NULL))) {
  932. {T953*n=malloc(sizeof(*n));
  933. *n=M953;
  934. r953make(n,a4);
  935. C->_procedure_list=(T0*)n;
  936. }
  937. }
  938. /*FI*/}
  939. /*No:CREATION_CLAUSE.start_position*/
  940. void r583check_expanded_with(T583* C,T0* a1){
  941. T0* _rc=NULL;
  942. T0* _rf3=NULL;
  943. T0* _rf=NULL;
  944. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)==((void*)(NULL))) {
  945. r683add_position((((T583*)C))->_start_position/*0*/);
  946. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms6_583);
  947. r683fatal_error(((T683*)(oBC364eh)),b1);
  948. }/*]*/
  949. }
  950. /*FI*//*IF*/if ((/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/))))->_upper/*8*//*)*/)>(1)) {
  951. r683add_type(a1,((T0*)ms65_470));
  952. r683add_position((((T583*)C))->_start_position/*0*/);
  953. /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
  954. r683fatal_error(((T683*)(oBC364eh)),b1);
  955. }/*]*/
  956. /*]*/
  957. }
  958. /*FI*/_rc=X291run_class(a1);
  959. _rf=r368get_feature(((T368*)_rc),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/);
  960. /*IF*/if ((_rf)==((void*)(NULL))) {
  961. r683add_position((((T583*)C))->_start_position/*0*/);
  962. /*[IRF3.6append*/{T0* b1=((T0*)ms7_583);
  963. r7append(((T7*)(oBC683explanation)),b1);
  964. }/*]*/
  965. r683add_type(a1,((T0*)ms8_583));
  966. r683print_as_fatal_error(((T683*)(oBC364eh)));
  967. }
  968. /*FI*/_rf3=_rf;
  969. if(NULL!=(_rf3))switch(((T0*)_rf3)->id) {
  970. case 845: 
  971. break;
  972. default:
  973. _rf3=NULL;
  974. };/*IF*/if ((_rf3)==((void*)(NULL))) {
  975. r683add_position((((T583*)C))->_start_position/*0*/);
  976. r683add_position(X496start_position(_rf));
  977. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_583);
  978. r683fatal_error(((T683*)(oBC364eh)),b1);
  979. }/*]*/
  980. }
  981. /*FI*//*IF*/if ((r845arg_count(((T845*)_rf3)))>(0)) {
  982. r683add_type(a1,((T0*)ms65_470));
  983. r683add_position((((T583*)C))->_start_position/*0*/);
  984. r683add_position(/*(IRF4.6start_position*/r297start_position(((T297*)((((T845*)((T845*)_rf3)))->_base_feature/*44*/)))/*)*/);
  985. /*[IRF3.6append*/{T0* b1=((T0*)ms10_583);
  986. r7append(((T7*)(oBC683explanation)),b1);
  987. }/*]*/
  988. /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
  989. r683fatal_error(((T683*)(oBC364eh)),b1);
  990. }/*]*/
  991. /*]*/
  992. }
  993. /*FI*/}
  994. /*No:CREATION_CLAUSE.comment*/
  995. void r583pretty_print(T583* C){
  996. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
  997. /*]*/
  998. /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
  999. r238skip(((T238*)(oBC364fmt)),1);
  1000. }
  1001. else {
  1002. r238indent(((T238*)(oBC364fmt)));
  1003. }
  1004. /*FI*/r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_583));
  1005. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  1006. /*]*/
  1007. /*IF*/if (((((T583*)C))->_clients/*4*/)!=((void*)(NULL))) {
  1008. r636pretty_print(((T636*)((((T583*)C))->_clients/*4*/)));
  1009. }
  1010. /*FI*//*IF*/if (((((T583*)C))->_comment/*8*/)!=((void*)(NULL))) {
  1011. r393pretty_print(((T393*)((((T583*)C))->_comment/*8*/)));
  1012. }
  1013. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  1014. /*]*/
  1015. /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
  1016. r238indent(((T238*)(oBC364fmt)));
  1017. }
  1018. /*FI*//*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
  1019. r953pretty_print(((T953*)((((T583*)C))->_procedure_list/*12*/)));
  1020. }
  1021. /*FI*/}
  1022. int r583has(T583* C,T0* a1){
  1023. int R=0;
  1024. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
  1025. R=r953has(((T953*)((((T583*)C))->_procedure_list/*12*/)),a1);
  1026. }
  1027. /*FI*/return R;
  1028. }
  1029. T0* r583expanded_initializer(T583* C,T0* a1){
  1030. T0* R=NULL;
  1031. /*IF*/if (((((T583*)C))->_procedure_list/*12*/)!=((void*)(NULL))) {
  1032. R=r368get_feature(((T368*)(X291run_class(a1))),/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T583*)C))->_procedure_list/*12*/))))->_list/*0*/)),1)/*)*/);
  1033. if(NULL!=(R))switch(((T0*)R)->id) {
  1034. case 845: 
  1035. break;
  1036. default:
  1037. R=NULL;
  1038. };}
  1039. /*FI*/return R;
  1040. }
  1041. /*No:CREATION_CLAUSE.fz_cbe*/
  1042. /*No:CREATION_CLAUSE.clients*/
  1043. /*No:CREATION_CLAUSE.fatal_error_vtec_2*/
  1044. /*No:CREATION_CLAUSE.fatal_error*/
  1045. /*No:CREATION_CLAUSE.procedure_list*/
  1046. void r490make(T490* C,T0* a1,T0* a2){
  1047. C->_to_string=r902item(a1);
  1048. C->_start_position=a2;
  1049. }
  1050. /*No:TAG_NAME.to_string*/
  1051. /*No:TAG_NAME.start_position*/
  1052.  
  1053.