home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / pretty25.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  44.8 KB  |  1,325 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. T0* r715add_comment(T715* C,T0* a1){
  10. T0* R=NULL;
  11. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  12. R=(T0*)C;
  13. }
  14. else {
  15. {T529*n=malloc(sizeof(*n));
  16. *n=M529;
  17. r529make(n,(T0*)C,a1);
  18. R=(T0*)n;
  19. }
  20. }
  21. /*FI*/return R;
  22. }
  23. int r715to_integer(T715* C){
  24. int R=0;
  25. r715error((((T715*)C))->_start_position/*12*/,((T0*)ms69_470));
  26. return R;
  27. }
  28. int r715is_a(T715* C,T0* a1){
  29. int R=0;
  30. R=X291is_a(X291run_type((((T715*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  31. /*IF*/if (!(R)) {
  32. r683add_position((((T715*)C))->_start_position/*12*/);
  33. r715error(X662start_position(a1),((T0*)ms4_662));
  34. }
  35. /*FI*/return R;
  36. }
  37. /*No:E_RESULT.is_current*/
  38. void r715make(T715* C,T0* a1){
  39. C->_to_string=((T0*)ms146_473);
  40. C->_start_position=a1;
  41. }
  42. /*No:E_RESULT.print_as_target*/
  43. /*No:E_RESULT.to_string*/
  44. /*No:E_RESULT.fz_iinaiv*/
  45. /*No:E_RESULT.start_position*/
  46. /*No:E_RESULT.precedence*/
  47. T0* r715to_runnable(T715* C,T0* a1){
  48. T0* R=NULL;
  49. /*IF*/if (((((T715*)C))->_current_type/*4*/)==((void*)(NULL))) {
  50. C->_current_type=a1;
  51. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)(r604top_rf(((T604*)(oBC364small_eiffel)))))))->_result_type/*24*/);
  52. R=(T0*)C;
  53. }
  54. else {
  55. {T715*n=malloc(sizeof(*n));
  56. *n=M715;
  57. r715make(n,(((T715*)C))->_start_position/*12*/);
  58. R=(T0*)n;
  59. }
  60. R=r715to_runnable(((T715*)R),a1);
  61. }
  62. /*FI*/return R;
  63. }
  64. /*No:E_RESULT.bracketed_pretty_print*/
  65. /*No:E_RESULT.result_type*/
  66. /*No:E_RESULT.atomic_precedence*/
  67. /*No:E_RESULT.pretty_print*/
  68. /*No:E_RESULT.us_result*/
  69. /*No:E_RESULT.current_type*/
  70. /*No:E_RESULT.is_manifest_string*/
  71. /*No:E_RESULT.is_void*/
  72. void r715error(T0* a1,T0* a2){
  73. r683add_position(a1);
  74. r683error(((T683*)(oBC364eh)),a2);
  75. }
  76. /*No:CREATION_CLAUSE_LIST.make*/
  77. T0* r378start_position(T378* C){
  78. T0* R=NULL;
  79. R=(((T583*)((T583*)(r235first(((T235*)((((T378*)C))->_list/*0*/)))))))->_start_position/*0*/;
  80. return R;
  81. }
  82. void r378check_expanded_with(T378* C,T0* a1){
  83. /*IF*/if (((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/)>(1)) {
  84. r683add_type(a1,((T0*)ms65_470));
  85. r683add_position((((T583*)((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1)))))->_start_position/*0*/);
  86. r683add_position((((T583*)((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),2)))))->_start_position/*0*/);
  87. /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364);
  88. r683fatal_error(((T683*)(oBC364eh)),b1);
  89. }/*]*/
  90. /*]*/
  91. }
  92. /*FI*/r583check_expanded_with(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1))),a1);
  93. }
  94. T0* r378get_clause(T378* C,T0* a1){
  95. T0* R=NULL;
  96. int _i=0;
  97. _i=1;
  98. while (!(((_i)>((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/))||(r583has(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),_i))),a1)))) {
  99. _i=(_i)+(1);
  100. }
  101. /*IF*/if ((_i)<=((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/)) {
  102. R=r235item(((T235*)((((T378*)C))->_list/*0*/)),_i);
  103. }
  104. /*FI*/return R;
  105. }
  106. void r378pretty_print(T378* C){
  107. int _i=0;
  108. _i=1;
  109. while (!((_i)>((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/))) {
  110. r583pretty_print(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),_i))));
  111. /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
  112. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
  113. /*]*/
  114. r238skip(((T238*)(oBC364fmt)),1);
  115. }
  116. /*FI*/_i=(_i)+(1);
  117. }
  118. }
  119. /*No:CREATION_CLAUSE_LIST.list*/
  120. T0* r378expanded_initializer(T378* C,T0* a1){
  121. T0* R=NULL;
  122. R=r583expanded_initializer(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1))),a1);
  123. return R;
  124. }
  125. /*No:CREATION_CLAUSE_LIST.fz_cbe*/
  126. /*No:CREATION_CLAUSE_LIST.fatal_error_vtec_2*/
  127. /*No:CREATION_CLAUSE_LIST.add_last*/
  128. /*No:CREATION_CLAUSE_LIST.fatal_error*/
  129. /*No:RUN_REQUIRE.make*/
  130. /*No:RUN_REQUIRE.list*/
  131. /*No:CALL_INFIX_AND.arguments*/
  132. T0* r313add_comment(T313* C,T0* a1){
  133. T0* R=NULL;
  134. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  135. R=(T0*)C;
  136. }
  137. else {
  138. {T529*n=malloc(sizeof(*n));
  139. *n=M529;
  140. r529make(n,(T0*)C,a1);
  141. R=(T0*)n;
  142. }
  143. }
  144. /*FI*/return R;
  145. }
  146. int r313to_integer(T313* C){
  147. int R=0;
  148. r313error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T313*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  149. return R;
  150. }
  151. int r313is_a(T313* C,T0* a1){
  152. int R=0;
  153. R=X291is_a(X291run_type((((T313*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  154. /*IF*/if (!(R)) {
  155. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T313*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  156. r313error(X662start_position(a1),((T0*)ms4_662));
  157. }
  158. /*FI*/return R;
  159. }
  160. /*No:CALL_INFIX_AND.is_current*/
  161. /*No:CALL_INFIX_AND.us_and*/
  162. void r313make(T313* C,T0* a1,T0* a2,T0* a3){
  163. T0* _eal=NULL;
  164. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  165. r683add_position(a2);
  166. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  167. r683fatal_error(((T683*)(oBC364eh)),b1);
  168. }/*]*/
  169. }
  170. /*FI*/{T454*n=malloc(sizeof(*n));
  171. *n=M454;
  172. r454make(n,r313operator(),a2);
  173. C->_feature_name=(T0*)n;
  174. }
  175. {T431*n=malloc(sizeof(*n));
  176. *n=M431;
  177. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  178. /*]*/
  179. _eal=(T0*)n;
  180. }
  181. r313make_call_1(C,a1,(((T313*)C))->_feature_name/*24*/,_eal);
  182. }
  183. void r313print_as_target(T313* C){
  184. r238put_character(((T238*)(oBC364fmt)),'\50');
  185. r313pretty_print(C);
  186. r238put_character(((T238*)(oBC364fmt)),'\51');
  187. r238put_character(((T238*)(oBC364fmt)),'\56');
  188. }
  189. /*No:CALL_INFIX_AND.nb_errors*/
  190. /*No:CALL_INFIX_AND.feature_name*/
  191. /*No:CALL_INFIX_AND.fz_iinaiv*/
  192. /*No:CALL_INFIX_AND.run_feature*/
  193. /*No:CALL_INFIX_AND.start_position*/
  194. /*No:CALL_INFIX_AND.target*/
  195. /*No:CALL_INFIX_AND.precedence*/
  196. T0* r313to_runnable(T313* C,T0* a1){
  197. T0* R=NULL;
  198. T0* _tla=NULL;
  199. T0* _a=NULL;
  200. /*IF*/if (((((T313*)C))->_current_type/*4*/)==((void*)(NULL))) {
  201. r313to_runnable_0(C,a1);
  202. _a=r431to_runnable(((T431*)((((T313*)C))->_arguments/*20*/)),a1);
  203. /*IF*/if ((_a)==((void*)(NULL))) {
  204. r313error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  205. }
  206. else {
  207. C->_arguments=_a;
  208. }
  209. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  210. r431match_with(((T431*)((((T313*)C))->_arguments/*20*/)),(((T313*)C))->_run_feature/*12*/);
  211. }
  212. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  213. _tla=(((T313*)C))->_result_type/*16*/;
  214. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  215. case 239: 
  216. break;
  217. default:
  218. _tla=NULL;
  219. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  220. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/));
  221. }
  222. /*FI*/}
  223. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  224. R=(T0*)C;
  225. }
  226. /*FI*/}
  227. else {
  228. R=r313twin(C);
  229. /*[IRF3.3set_current_type*/((((T313*)(((T313*)R))))->_current_type)=(NULL);
  230. /*]*/
  231. R=r313to_runnable(((T313*)R),a1);
  232. }
  233. /*FI*/return R;
  234. }
  235. void r313bracketed_pretty_print(T313* C){
  236. r238put_character(((T238*)(oBC364fmt)),'\50');
  237. r313pretty_print(C);
  238. r238put_character(((T238*)(oBC364fmt)),'\51');
  239. }
  240. /*No:CALL_INFIX_AND.result_type*/
  241. T0* r313twin(T313* C){
  242. T0* R=NULL;
  243. R=malloc(sizeof(*C));
  244. *((T313*)R)=*C;
  245. return R;
  246. }
  247. /*No:CALL_INFIX_AND.set_current_type*/
  248. T0* r313operator(void){
  249. T0* R=NULL;
  250. R=((T0*)ms27_473);
  251. return R;
  252. }
  253. /*No:CALL_INFIX_AND.atomic_precedence*/
  254. void r313pretty_print(T313* C){
  255. /*IF*/if ((X662precedence((((T313*)C))->_target/*8*/))==(13)) {
  256. X662pretty_print((((T313*)C))->_target/*8*/);
  257. r313print_op(C);
  258. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  259. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/);
  260. }
  261.  else if ((5)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/))) {
  262. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/);
  263. }
  264. else {
  265. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/);
  266. }
  267. /*FI*/}
  268.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  269. /*IF*/if ((X662precedence((((T313*)C))->_target/*8*/))>=(5)) {
  270. X662bracketed_pretty_print((((T313*)C))->_target/*8*/);
  271. }
  272. else {
  273. X662pretty_print((((T313*)C))->_target/*8*/);
  274. }
  275. /*FI*/r313print_op(C);
  276. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/);
  277. }
  278.  else if ((5)<=(X662precedence((((T313*)C))->_target/*8*/))) {
  279. X662bracketed_pretty_print((((T313*)C))->_target/*8*/);
  280. r313print_op(C);
  281. /*IF*/if ((5)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/))) {
  282. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/);
  283. }
  284. else {
  285. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/);
  286. }
  287. /*FI*/}
  288. else {
  289. X662pretty_print((((T313*)C))->_target/*8*/);
  290. r313print_op(C);
  291. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T313*)C))->_arguments/*20*/)))/*)*/);
  292. }
  293. /*FI*/}
  294. void r313print_op(T313* C){
  295. r238put_character(((T238*)(oBC364fmt)),'\40');
  296. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T313*)C))->_feature_name/*24*/));
  297. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  298. }/*]*/
  299. r238put_character(((T238*)(oBC364fmt)),'\40');
  300. }
  301. /*No:CALL_INFIX_AND.current_type*/
  302. void r313make_call_1(T313* C,T0* a1,T0* a2,T0* a3){
  303. C->_target=a1;
  304. C->_feature_name=a2;
  305. C->_arguments=a3;
  306. }
  307. /*No:CALL_INFIX_AND.is_manifest_string*/
  308. /*No:CALL_INFIX_AND.is_void*/
  309. void r313to_runnable_0(T313* C,T0* a1){
  310. C->_current_type=a1;
  311. r313cpc_to_runnable(C,a1);
  312. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T313*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  313. /*IF*/if (((((T313*)C))->_result_type/*16*/)==((void*)(NULL))) {
  314. r683add_position(X496start_position((((T313*)C))->_run_feature/*12*/));
  315. r313error((((T454*)((T454*)((((T313*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  316. }
  317.  else if (X291is_like_current((((T313*)C))->_result_type/*16*/)) {
  318. C->_result_type=X662result_type((((T313*)C))->_target/*8*/);
  319. }
  320. /*FI*/}
  321. void r313cpc_to_runnable(T313* C,T0* a1){
  322. T0* _rc=NULL;
  323. T0* _t=NULL;
  324. _t=X662to_runnable((((T313*)C))->_target/*8*/,a1);
  325. /*IF*/if ((_t)==((void*)(NULL))) {
  326. r683add_position(X662start_position((((T313*)C))->_target/*8*/));
  327. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  328. r683fatal_error(((T683*)(oBC364eh)),b1);
  329. }/*]*/
  330. }
  331. /*FI*/C->_target=_t;
  332. _rc=X291run_class(X662result_type((((T313*)C))->_target/*8*/));
  333. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  334. r576update((((T313*)C))->_target/*8*/,(((T313*)C))->_run_feature/*12*/);
  335. }
  336. void r313error(T0* a1,T0* a2){
  337. r683add_position(a1);
  338. r683error(((T683*)(oBC364eh)),a2);
  339. }
  340. /*No:CALL_INFIX_AND.fatal_error*/
  341. /*No:CALL_INFIX_AND.fz_bad_argument*/
  342. /*No:CALL_INFIX_AND.arg1*/
  343. /*No:CALL_INFIX_GT.arguments*/
  344. T0* r57add_comment(T57* C,T0* a1){
  345. T0* R=NULL;
  346. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  347. R=(T0*)C;
  348. }
  349. else {
  350. {T529*n=malloc(sizeof(*n));
  351. *n=M529;
  352. r529make(n,(T0*)C,a1);
  353. R=(T0*)n;
  354. }
  355. }
  356. /*FI*/return R;
  357. }
  358. int r57to_integer(T57* C){
  359. int R=0;
  360. r57error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T57*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  361. return R;
  362. }
  363. int r57is_a(T57* C,T0* a1){
  364. int R=0;
  365. R=X291is_a(X291run_type((((T57*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  366. /*IF*/if (!(R)) {
  367. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T57*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  368. r57error(X662start_position(a1),((T0*)ms4_662));
  369. }
  370. /*FI*/return R;
  371. }
  372. /*No:CALL_INFIX_GT.is_current*/
  373. void r57make(T57* C,T0* a1,T0* a2,T0* a3){
  374. T0* _eal=NULL;
  375. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  376. r683add_position(a2);
  377. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  378. r683fatal_error(((T683*)(oBC364eh)),b1);
  379. }/*]*/
  380. }
  381. /*FI*/{T454*n=malloc(sizeof(*n));
  382. *n=M454;
  383. r454make(n,r57operator(),a2);
  384. C->_feature_name=(T0*)n;
  385. }
  386. {T431*n=malloc(sizeof(*n));
  387. *n=M431;
  388. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  389. /*]*/
  390. _eal=(T0*)n;
  391. }
  392. r57make_call_1(C,a1,(((T57*)C))->_feature_name/*24*/,_eal);
  393. }
  394. void r57print_as_target(T57* C){
  395. r238put_character(((T238*)(oBC364fmt)),'\50');
  396. r57pretty_print(C);
  397. r238put_character(((T238*)(oBC364fmt)),'\51');
  398. r238put_character(((T238*)(oBC364fmt)),'\56');
  399. }
  400. /*No:CALL_INFIX_GT.nb_errors*/
  401. /*No:CALL_INFIX_GT.feature_name*/
  402. /*No:CALL_INFIX_GT.fz_iinaiv*/
  403. /*No:CALL_INFIX_GT.run_feature*/
  404. /*No:CALL_INFIX_GT.start_position*/
  405. /*No:CALL_INFIX_GT.target*/
  406. /*No:CALL_INFIX_GT.precedence*/
  407. T0* r57to_runnable(T57* C,T0* a1){
  408. T0* R=NULL;
  409. T0* _tla=NULL;
  410. T0* _a=NULL;
  411. /*IF*/if (((((T57*)C))->_current_type/*4*/)==((void*)(NULL))) {
  412. r57to_runnable_0(C,a1);
  413. _a=r431to_runnable(((T431*)((((T57*)C))->_arguments/*20*/)),a1);
  414. /*IF*/if ((_a)==((void*)(NULL))) {
  415. r57error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  416. }
  417. else {
  418. C->_arguments=_a;
  419. }
  420. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  421. r431match_with(((T431*)((((T57*)C))->_arguments/*20*/)),(((T57*)C))->_run_feature/*12*/);
  422. }
  423. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  424. _tla=(((T57*)C))->_result_type/*16*/;
  425. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  426. case 239: 
  427. break;
  428. default:
  429. _tla=NULL;
  430. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  431. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/));
  432. }
  433. /*FI*/}
  434. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  435. R=(T0*)C;
  436. }
  437. /*FI*/}
  438. else {
  439. R=r57twin(C);
  440. /*[IRF3.3set_current_type*/((((T57*)(((T57*)R))))->_current_type)=(NULL);
  441. /*]*/
  442. R=r57to_runnable(((T57*)R),a1);
  443. }
  444. /*FI*/return R;
  445. }
  446. void r57bracketed_pretty_print(T57* C){
  447. r238put_character(((T238*)(oBC364fmt)),'\50');
  448. r57pretty_print(C);
  449. r238put_character(((T238*)(oBC364fmt)),'\51');
  450. }
  451. /*No:CALL_INFIX_GT.result_type*/
  452. T0* r57twin(T57* C){
  453. T0* R=NULL;
  454. R=malloc(sizeof(*C));
  455. *((T57*)R)=*C;
  456. return R;
  457. }
  458. /*No:CALL_INFIX_GT.set_current_type*/
  459. T0* r57operator(void){
  460. T0* R=NULL;
  461. R=((T0*)ms33_473);
  462. return R;
  463. }
  464. /*No:CALL_INFIX_GT.atomic_precedence*/
  465. void r57pretty_print(T57* C){
  466. /*IF*/if ((X662precedence((((T57*)C))->_target/*8*/))==(13)) {
  467. X662pretty_print((((T57*)C))->_target/*8*/);
  468. r57print_op(C);
  469. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  470. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/);
  471. }
  472.  else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/))) {
  473. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/);
  474. }
  475. else {
  476. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/);
  477. }
  478. /*FI*/}
  479.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  480. /*IF*/if ((X662precedence((((T57*)C))->_target/*8*/))>=(6)) {
  481. X662bracketed_pretty_print((((T57*)C))->_target/*8*/);
  482. }
  483. else {
  484. X662pretty_print((((T57*)C))->_target/*8*/);
  485. }
  486. /*FI*/r57print_op(C);
  487. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/);
  488. }
  489.  else if ((6)<=(X662precedence((((T57*)C))->_target/*8*/))) {
  490. X662bracketed_pretty_print((((T57*)C))->_target/*8*/);
  491. r57print_op(C);
  492. /*IF*/if ((6)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/))) {
  493. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/);
  494. }
  495. else {
  496. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/);
  497. }
  498. /*FI*/}
  499. else {
  500. X662pretty_print((((T57*)C))->_target/*8*/);
  501. r57print_op(C);
  502. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T57*)C))->_arguments/*20*/)))/*)*/);
  503. }
  504. /*FI*/}
  505. void r57print_op(T57* C){
  506. r238put_character(((T238*)(oBC364fmt)),'\40');
  507. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T57*)C))->_feature_name/*24*/));
  508. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  509. }/*]*/
  510. r238put_character(((T238*)(oBC364fmt)),'\40');
  511. }
  512. /*No:CALL_INFIX_GT.current_type*/
  513. void r57make_call_1(T57* C,T0* a1,T0* a2,T0* a3){
  514. C->_target=a1;
  515. C->_feature_name=a2;
  516. C->_arguments=a3;
  517. }
  518. /*No:CALL_INFIX_GT.is_manifest_string*/
  519. /*No:CALL_INFIX_GT.is_void*/
  520. void r57to_runnable_0(T57* C,T0* a1){
  521. C->_current_type=a1;
  522. r57cpc_to_runnable(C,a1);
  523. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T57*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  524. /*IF*/if (((((T57*)C))->_result_type/*16*/)==((void*)(NULL))) {
  525. r683add_position(X496start_position((((T57*)C))->_run_feature/*12*/));
  526. r57error((((T454*)((T454*)((((T57*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  527. }
  528.  else if (X291is_like_current((((T57*)C))->_result_type/*16*/)) {
  529. C->_result_type=X662result_type((((T57*)C))->_target/*8*/);
  530. }
  531. /*FI*/}
  532. void r57cpc_to_runnable(T57* C,T0* a1){
  533. T0* _rc=NULL;
  534. T0* _t=NULL;
  535. _t=X662to_runnable((((T57*)C))->_target/*8*/,a1);
  536. /*IF*/if ((_t)==((void*)(NULL))) {
  537. r683add_position(X662start_position((((T57*)C))->_target/*8*/));
  538. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  539. r683fatal_error(((T683*)(oBC364eh)),b1);
  540. }/*]*/
  541. }
  542. /*FI*/C->_target=_t;
  543. _rc=X291run_class(X662result_type((((T57*)C))->_target/*8*/));
  544. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  545. r576update((((T57*)C))->_target/*8*/,(((T57*)C))->_run_feature/*12*/);
  546. }
  547. void r57error(T0* a1,T0* a2){
  548. r683add_position(a1);
  549. r683error(((T683*)(oBC364eh)),a2);
  550. }
  551. /*No:CALL_INFIX_GT.us_gt*/
  552. /*No:CALL_INFIX_GT.fatal_error*/
  553. /*No:CALL_INFIX_GT.fz_bad_argument*/
  554. /*No:CALL_INFIX_GT.arg1*/
  555. /*No:WRITABLE_ATTRIBUTE.arguments*/
  556. T0* r106try_to_undefine(T106* C,T0* a1,T0* a2){
  557. T0* R=NULL;
  558. X776undefine_in(a1,a2);
  559. R=r106try_to_undefine_aux(C,a1,a2);
  560. /*IF*/if ((R)!=((void*)(NULL))) {
  561. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T106*)C))->_clients/*20*/);
  562. /*]*/
  563. }
  564. else {
  565. r605fatal_undefine(((T605*)a2),a1);
  566. }
  567. /*FI*/return R;
  568. }
  569. /*No:WRITABLE_ATTRIBUTE.is_deferred*/
  570. /*No:WRITABLE_ATTRIBUTE.pretty_tail*/
  571. void r106add_into(T106* C,T0* a1){
  572. T0* _fn=NULL;
  573. int _i=0;
  574. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  575. _i=1;
  576. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  577. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  578. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  579. _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)/*)*//*)*/);
  580. r683add_position(X776start_position(_fn));
  581. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  582. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  583. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  584. r7append(((T7*)(oBC683explanation)),b1);
  585. }/*]*/
  586. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  587. }
  588. else {
  589. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  590. }
  591. /*FI*/_i=(_i)+(1);
  592. }
  593. }
  594. T0* r106try_to_undefine_aux(T106* C,T0* a1,T0* a2){
  595. T0* R=NULL;
  596. r683add_position(r106start_position(C));
  597. r106error(X776start_position(a1),((T0*)ms1_308));
  598. r605fatal_undefine(((T605*)a2),a1);
  599. return R;
  600. }
  601. void r106make(T106* C,T0* a1,T0* a2){
  602. C->_names=a1;
  603. C->_result_type=a2;
  604. }
  605. /*No:WRITABLE_ATTRIBUTE.nb_errors*/
  606. void r106pretty_print_one_name(T0* a1){
  607. /*IF*/if (X776is_frozen(a1)) {
  608. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  609. }
  610. /*FI*/X776definition_pretty_print(a1);
  611. }
  612. /*No:WRITABLE_ATTRIBUTE.set_header_comment*/
  613. T0* r106start_position(T106* C){
  614. T0* R=NULL;
  615. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  616. return R;
  617. }
  618. T0* r106to_run_feature(T106* C,T0* a1,T0* a2){
  619. T0* R=NULL;
  620. {T820*n=malloc(sizeof(*n));
  621. *n=M820;
  622. r820make(n,a1,a2,(T0*)C);
  623. R=(T0*)n;
  624. }
  625. return R;
  626. }
  627. /*No:WRITABLE_ATTRIBUTE.ensure_assertion*/
  628. /*No:WRITABLE_ATTRIBUTE.code_require*/
  629. /*No:WRITABLE_ATTRIBUTE.result_type*/
  630. /*No:WRITABLE_ATTRIBUTE.em1*/
  631. void r106pretty_print(T106* C){
  632. r106pretty_print_profile(C);
  633. /*[IRF3.1pretty_tail*//*]*/
  634. r238put_character(((T238*)(oBC364fmt)),'\73');
  635. /*IF*/if (((((T106*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  636. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  637. /*]*/
  638. r238indent(((T238*)(oBC364fmt)));
  639. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  640. /*]*/
  641. r393pretty_print(((T393*)((((T106*)C))->_header_comment/*16*/)));
  642. }
  643. /*FI*/}
  644. /*No:WRITABLE_ATTRIBUTE.set_clients*/
  645. /*No:WRITABLE_ATTRIBUTE.em2*/
  646. /*No:WRITABLE_ATTRIBUTE.require_assertion*/
  647. /*No:WRITABLE_ATTRIBUTE.names*/
  648. void r106pretty_print_profile(T106* C){
  649. r106pretty_print_names(C);
  650. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  651. /*]*/
  652. /*[IRF3.1pretty_print_arguments*//*]*/
  653. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  654. /*]*/
  655. /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  656. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  657. X291pretty_print((((T106*)C))->_result_type/*12*/);
  658. }
  659. /*FI*/}
  660. void r106pretty_print_names(T106* C){
  661. int _i=0;
  662. _i=1;
  663. r106pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  664. _i=(_i)+(1);
  665. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  666. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  667. r106pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  668. _i=(_i)+(1);
  669. }
  670. }
  671. int r106can_hide(T106* C,T0* a1,T0* a2){
  672. int R=0;
  673. /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  674. /*IF*/if ((((((T106*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  675. r683add_position(X359start_position(a1));
  676. r106error(r106start_position(C),((T0*)ms5_359));
  677. }
  678. /*FI*/}
  679. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  680. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  681. r106error(r106start_position(C),((T0*)ms6_359));
  682. }
  683. /*FI*/}
  684. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  685. /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  686. /*IF*/if (!(X291is_a_in((((T106*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  687. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  688. r7append(((T7*)(oBC683explanation)),b1);
  689. }/*]*/
  690. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  691. r7append(((T7*)(oBC683explanation)),b1);
  692. }/*]*/
  693. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  694. }
  695. /*FI*/}
  696. /*FI*/}
  697. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  698. /*IF*//*AF*//*AE*/
  699. /*FI*/}
  700. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  701. return R;
  702. }
  703. /*No:WRITABLE_ATTRIBUTE.header_comment*/
  704. int r106is_merge_with(T106* C,T0* a1,T0* a2){
  705. int R=0;
  706. /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  707. /*IF*/if ((((((T106*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  708. r683add_position(X359start_position(a1));
  709. r106error(r106start_position(C),((T0*)ms2_359));
  710. }
  711. /*FI*/}
  712. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  713. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  714. r106error(r106start_position(C),((T0*)ms3_359));
  715. }
  716. /*FI*/}
  717. /*FI*//*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  718. /*IF*/if (!(X291is_a_in((((T106*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  719. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  720. }
  721. /*FI*/}
  722. /*FI*//*IF*//*AF*//*AE*/
  723. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  724. return R;
  725. }
  726. /*No:WRITABLE_ATTRIBUTE.fz_dot*/
  727. /*No:WRITABLE_ATTRIBUTE.first_name*/
  728. /*No:WRITABLE_ATTRIBUTE.clients*/
  729. void r106collect_for(int a1){
  730. /*IF*/if ((a1)==(1001)) {
  731. /*IF*//*AF*//*AE*/
  732. /*FI*/}
  733. else {
  734. /*IF*//*AF*//*AE*/
  735. /*FI*/}
  736. /*FI*/}
  737. void r106error(T0* a1,T0* a2){
  738. r683add_position(a1);
  739. r683error(((T683*)(oBC364eh)),a2);
  740. }
  741. /*No:WRITABLE_ATTRIBUTE.base_class*/
  742. /*No:WRITABLE_ATTRIBUTE.pretty_print_arguments*/
  743. /*No:PROC_CALL_0.arguments*/
  744. T0* r268add_comment(T268* C,T0* a1){
  745. T0* R=NULL;
  746. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  747. R=(T0*)C;
  748. }
  749. /*AF*/else {
  750. {T46*n=malloc(sizeof(*n));
  751. *n=M46;
  752. r46make(n,(T0*)C,a1);
  753. R=(T0*)n;
  754. }
  755. }
  756. /*FI*/return R;
  757. }
  758. void r268make(T268* C,T0* a1,T0* a2){
  759. C->_target=a1;
  760. C->_feature_name=a2;
  761. }
  762. /*No:PROC_CALL_0.nb_errors*/
  763. /*No:PROC_CALL_0.feature_name*/
  764. /*No:PROC_CALL_0.arg_count*/
  765. /*No:PROC_CALL_0.run_feature*/
  766. /*No:PROC_CALL_0.set_run_compound*/
  767. T0* r268start_position(T268* C){
  768. T0* R=NULL;
  769. R=X776start_position((((T268*)C))->_feature_name/*12*/);
  770. return R;
  771. }
  772. /*No:PROC_CALL_0.target*/
  773. /*No:PROC_CALL_0.set_run_feature*/
  774. T0* r268to_runnable(T268* C,T0* a1){
  775. T0* R=NULL;
  776. /*IF*/if (((((T268*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  777. r268to_runnable_0(C,a1);
  778. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T268*)C))->_run_feature/*16*/))>(0))) {
  779. r683add_position(X776start_position((((T268*)C))->_feature_name/*12*/));
  780. r268error(X496start_position((((T268*)C))->_run_feature/*16*/),((T0*)ms1_268));
  781. }
  782. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  783. R=(T0*)C;
  784. }
  785. /*FI*/}
  786. else {
  787. {T268*n=malloc(sizeof(*n));
  788. *n=M268;
  789. r268make(n,(((T268*)C))->_target/*8*/,(((T268*)C))->_feature_name/*12*/);
  790. R=(T0*)n;
  791. }
  792. R=r268to_runnable(((T268*)R),a1);
  793. }
  794. /*FI*/return R;
  795. }
  796. void r268pretty_print(T268* C){
  797. X662print_as_target((((T268*)C))->_target/*8*/);
  798. r238put_string(((T238*)(oBC364fmt)),X776to_string((((T268*)C))->_feature_name/*12*/));
  799. /*IF*/if ((((T238*)((T238*)(oBC364fmt))))->_semi_colon_flag/*25*/) {
  800. r238put_character(((T238*)(oBC364fmt)),'\73');
  801. }
  802. /*FI*/}
  803. T0* r268current_type(T268* C){
  804. T0* R=NULL;
  805. /*IF*/if (((((T268*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  806. R=(((T592*)((T592*)((((T268*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  807. }
  808. /*FI*/return R;
  809. }
  810. /*No:PROC_CALL_0.run_compound*/
  811. void r268to_runnable_0(T268* C,T0* a1){
  812. C->_run_compound=a1;
  813. r268cpc_to_runnable(C,r268current_type(C));
  814. /*IF*/if ((/*X496*/((T0*)(((T808*)((T808*)((((T268*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
  815. r683add_position(X496start_position((((T268*)C))->_run_feature/*16*/));
  816. r268error(X776start_position((((T268*)C))->_feature_name/*12*/),((T0*)ms1_173));
  817. }
  818. /*FI*/}
  819. void r268cpc_to_runnable(T268* C,T0* a1){
  820. T0* _rc=NULL;
  821. T0* _t=NULL;
  822. _t=X662to_runnable((((T268*)C))->_target/*8*/,a1);
  823. /*IF*/if ((_t)==((void*)(NULL))) {
  824. r683add_position(X662start_position((((T268*)C))->_target/*8*/));
  825. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  826. r683fatal_error(((T683*)(oBC364eh)),b1);
  827. }/*]*/
  828. }
  829. /*FI*/C->_target=_t;
  830. _rc=X291run_class(X662result_type((((T268*)C))->_target/*8*/));
  831. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  832. r576update((((T268*)C))->_target/*8*/,(((T268*)C))->_run_feature/*16*/);
  833. }
  834. void r268error(T0* a1,T0* a2){
  835. r683add_position(a1);
  836. r683error(((T683*)(oBC364eh)),a2);
  837. }
  838. /*No:PROC_CALL_0.fatal_error*/
  839. /*No:PROC_CALL_0.end_mark_comment*/
  840. T0* r268make_runnable(T268* C,T0* a1,T0* a2,T0* a3,T0* a4){
  841. T0* R=NULL;
  842. /*IF*/if (((((T268*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  843. R=(T0*)C;
  844. r268make(((T268*)R),a2,(((T268*)C))->_feature_name/*12*/);
  845. C->_run_compound=a1;
  846. C->_run_feature=a4;
  847. }
  848. else {
  849. {T268*n=malloc(sizeof(*n));
  850. *n=M268;
  851. r268make(n,a2,(((T268*)C))->_feature_name/*12*/);
  852. R=(T0*)n;
  853. }
  854. /*[IRF3.3set_run_compound*/((((T268*)(((T268*)R))))->_run_compound)=(a1);
  855. /*]*/
  856. /*[IRF3.3set_run_feature*/((((T268*)(((T268*)R))))->_run_feature)=(a4);
  857. /*]*/
  858. }
  859. /*FI*/return R;
  860. }
  861. T0* r39add_comment(T39* C,T0* a1){
  862. T0* R=NULL;
  863. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  864. R=(T0*)C;
  865. }
  866. else {
  867. {T529*n=malloc(sizeof(*n));
  868. *n=M529;
  869. r529make(n,(T0*)C,a1);
  870. R=(T0*)n;
  871. }
  872. }
  873. /*FI*/return R;
  874. }
  875. int r39to_integer(T39* C){
  876. int R=0;
  877. r39error((((T39*)C))->_start_position/*12*/,((T0*)ms69_470));
  878. return R;
  879. }
  880. int r39is_a(T39* C,T0* a1){
  881. int R=0;
  882. R=X291is_a(X291run_type((((T39*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  883. /*IF*/if (!(R)) {
  884. r683add_position((((T39*)C))->_start_position/*12*/);
  885. r39error(X662start_position(a1),((T0*)ms4_662));
  886. }
  887. /*FI*/return R;
  888. }
  889. /*No:LOCAL_NAME1.set_is_used*/
  890. void r39name_clash(T39* C){
  891. T0* _rf=NULL;
  892. T0* _rc=NULL;
  893. /*IF*/if (r605has_feature(((T605*)(r39base_class_written(C))),(((T39*)C))->_to_string/*8*/)) {
  894. _rc=X291run_class((((T39*)C))->_current_type/*4*/);
  895. _rf=r368get_feature_with(((T368*)_rc),(((T39*)C))->_to_string/*8*/);
  896. /*IF*/if ((_rf)!=((void*)(NULL))) {
  897. r683add_position(X496start_position(_rf));
  898. }
  899. /*FI*/r683add_position((((T39*)C))->_start_position/*12*/);
  900. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_447);
  901. r683fatal_error(((T683*)(oBC364eh)),b1);
  902. }/*]*/
  903. }
  904. /*FI*/}
  905. /*No:LOCAL_NAME1.is_current*/
  906. T0* r39written_in(T39* C){
  907. T0* R=NULL;
  908. T0* _sp=NULL;
  909. _sp=(((T39*)C))->_start_position/*12*/;
  910. /*IF*/if ((_sp)!=((void*)(NULL))) {
  911. R=(((T627*)((T627*)_sp)))->_base_class_name/*0*/;
  912. }
  913. /*FI*/return R;
  914. }
  915. void r39make(T39* C,T0* a1,T0* a2){
  916. C->_start_position=a1;
  917. C->_to_string=r902item(a2);
  918. }
  919. void r39print_as_target(T39* C){
  920. r238put_string(((T238*)(oBC364fmt)),(((T39*)C))->_to_string/*8*/);
  921. r238put_character(((T238*)(oBC364fmt)),'\56');
  922. }
  923. /*No:LOCAL_NAME1.to_string*/
  924. /*No:LOCAL_NAME1.fz_iinaiv*/
  925. /*No:LOCAL_NAME1.em_bl*/
  926. /*No:LOCAL_NAME1.set_result_type*/
  927. /*No:LOCAL_NAME1.start_position*/
  928. /*No:LOCAL_NAME1.precedence*/
  929. T0* r39to_runnable(T39* C,T0* a1){
  930. T0* R=NULL;
  931. T0* _t2=NULL;
  932. T0* _t1=NULL;
  933. _t1=(((T39*)C))->_result_type/*20*/;
  934. _t2=X291to_runnable(_t1,a1);
  935. /*IF*/if ((_t2)==((void*)(NULL))) {
  936. r683add_position(X291start_position(_t1));
  937. r39error((((T39*)C))->_start_position/*12*/,((T0*)ms6_361));
  938. }
  939. /*FI*//*IF*/if (((((T39*)C))->_current_type/*4*/)==((void*)(NULL))) {
  940. C->_current_type=a1;
  941. C->_result_type=_t2;
  942. R=(T0*)C;
  943. }
  944. else {
  945. {T39*n=malloc(sizeof(*n));
  946. *n=M39;
  947. r39make_runnable(n,(T0*)C,a1,_t2);
  948. R=(T0*)n;
  949. }
  950. }
  951. /*FI*/return R;
  952. }
  953. /*No:LOCAL_NAME1.set_rank*/
  954. /*No:LOCAL_NAME1.bracketed_pretty_print*/
  955. /*No:LOCAL_NAME1.rank*/
  956. /*No:LOCAL_NAME1.result_type*/
  957. /*No:LOCAL_NAME1.atomic_precedence*/
  958. /*No:LOCAL_NAME1.pretty_print*/
  959. T0* r39base_class_written(T39* C){
  960. T0* R=NULL;
  961. R=r451base_class(((T451*)(r39written_in(C))));
  962. return R;
  963. }
  964. /*No:LOCAL_NAME1.current_type*/
  965. /*No:LOCAL_NAME1.is_used*/
  966. /*No:LOCAL_NAME1.is_manifest_string*/
  967. /*No:LOCAL_NAME1.is_void*/
  968. void r39error(T0* a1,T0* a2){
  969. r683add_position(a1);
  970. r683error(((T683*)(oBC364eh)),a2);
  971. }
  972. /*No:LOCAL_NAME1.fatal_error*/
  973. void r39make_runnable(T39* C,T0* a1,T0* a2,T0* a3){
  974. *((T39*)(C))=*((T39*)(a1));
  975. C->_current_type=a2;
  976. C->_result_type=a3;
  977. }
  978. /*No:DEFERRED_PROCEDURE.arguments*/
  979. T0* r853try_to_undefine(T853* C,T0* a1,T0* a2){
  980. T0* R=NULL;
  981. X776undefine_in(a1,a2);
  982. R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/;
  983. /*IF*/if ((R)!=((void*)(NULL))) {
  984. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T853*)C))->_clients/*20*/);
  985. /*]*/
  986. }
  987. else {
  988. r605fatal_undefine(((T605*)a2),a1);
  989. }
  990. /*FI*/return R;
  991. }
  992. /*No:DEFERRED_PROCEDURE.is_deferred*/
  993. /*No:DEFERRED_PROCEDURE.rescue_compound*/
  994. void r853add_into(T853* C,T0* a1){
  995. T0* _fn=NULL;
  996. int _i=0;
  997. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  998. _i=1;
  999. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1000. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  1001. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  1002. _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)/*)*//*)*/);
  1003. r683add_position(X776start_position(_fn));
  1004. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  1005. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  1006. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  1007. r7append(((T7*)(oBC683explanation)),b1);
  1008. }/*]*/
  1009. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1010. }
  1011. else {
  1012. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  1013. }
  1014. /*FI*/_i=(_i)+(1);
  1015. }
  1016. }
  1017. /*No:DEFERRED_PROCEDURE.end_comment*/
  1018. /*No:DEFERRED_PROCEDURE.try_to_undefine_aux*/
  1019. /*No:DEFERRED_PROCEDURE.make*/
  1020. /*No:DEFERRED_PROCEDURE.nb_errors*/
  1021. void r853pretty_print_one_name(T0* a1){
  1022. /*IF*/if (X776is_frozen(a1)) {
  1023. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  1024. }
  1025. /*FI*/X776definition_pretty_print(a1);
  1026. }
  1027. void r853make_routine(T853* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1028. r853make_e_feature(C,a1,NULL);
  1029. C->_header_comment=a4;
  1030. C->_arguments=a2;
  1031. C->_obsolete_mark=a3;
  1032. C->_require_assertion=a5;
  1033. }
  1034. void r853set_header_comment(T853* C,T0* a1){
  1035. /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
  1036. C->_end_comment=a1;
  1037. }
  1038. /*FI*/}
  1039. T0* r853start_position(T853* C){
  1040. T0* R=NULL;
  1041. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1042. return R;
  1043. }
  1044. T0* r853to_run_feature(T853* C,T0* a1,T0* a2){
  1045. T0* R=NULL;
  1046. r853check_obsolete(C);
  1047. {T904*n=malloc(sizeof(*n));
  1048. *n=M904;
  1049. r904make(n,a1,a2,(T0*)C);
  1050. R=(T0*)n;
  1051. }
  1052. return R;
  1053. }
  1054. /*No:DEFERRED_PROCEDURE.ensure_assertion*/
  1055. /*No:DEFERRED_PROCEDURE.code_require*/
  1056. /*No:DEFERRED_PROCEDURE.result_type*/
  1057. /*No:DEFERRED_PROCEDURE.fz_03*/
  1058. /*No:DEFERRED_PROCEDURE.em1*/
  1059. void r853pretty_print(T853* C){
  1060. T0* _fn=NULL;
  1061. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  1062. /*]*/
  1063. r238indent(((T238*)(oBC364fmt)));
  1064. r853pretty_print_profile(C);
  1065. r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_355));
  1066. /*IF*/if (((((T853*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) {
  1067. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1068. /*]*/
  1069. r238indent(((T238*)(oBC364fmt)));
  1070. r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_355));
  1071. r805pretty_print(((T805*)((((T853*)C))->_obsolete_mark/*28*/)));
  1072. }
  1073. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1074. /*]*/
  1075. r238indent(((T238*)(oBC364fmt)));
  1076. /*IF*/if (((((T853*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  1077. r393pretty_print(((T393*)((((T853*)C))->_header_comment/*16*/)));
  1078. }
  1079. /*FI*//*IF*/if (((((T853*)C))->_require_assertion/*32*/)!=((void*)(NULL))) {
  1080. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1081. /*]*/
  1082. r343pretty_print(((T343*)((((T853*)C))->_require_assertion/*32*/)));
  1083. }
  1084. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1085. /*]*/
  1086. r238indent(((T238*)(oBC364fmt)));
  1087. /*[IRF3.2pretty_print_routine_body*/r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_249));
  1088. /*]*/
  1089. /*IF*/if (((((T853*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  1090. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1091. /*]*/
  1092. r633pretty_print(((T633*)((((T853*)C))->_ensure_assertion/*36*/)));
  1093. }
  1094. /*FI*//*IF*/if (((((T853*)C))->_rescue_compound/*40*/)!=((void*)(NULL))) {
  1095. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1096. /*]*/
  1097. r238indent(((T238*)(oBC364fmt)));
  1098. r238keyword(((T238*)(oBC364fmt)),((T0*)ms3_355));
  1099. r592pretty_print(((T592*)((((T853*)C))->_rescue_compound/*40*/)));
  1100. }
  1101. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1102. /*]*/
  1103. r238indent(((T238*)(oBC364fmt)));
  1104. r238keyword(((T238*)(oBC364fmt)),((T0*)ms4_355));
  1105. /*IF*/if ((((((T853*)C))->_end_comment/*44*/)!=((void*)(NULL)))&&(!(r393dummy(((T393*)((((T853*)C))->_end_comment/*44*/)))))) {
  1106. r393pretty_print(((T393*)((((T853*)C))->_end_comment/*44*/)));
  1107. }
  1108.  else if (r238print_end_routine(((T238*)(oBC364fmt)))) {
  1109. r238put_string(((T238*)(oBC364fmt)),((T0*)ms5_355));
  1110. _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
  1111. X776definition_pretty_print(_fn);
  1112. }
  1113. /*FI*/r238put_character(((T238*)(oBC364fmt)),'\n');
  1114. }
  1115. /*No:DEFERRED_PROCEDURE.obsolete_mark*/
  1116. /*No:DEFERRED_PROCEDURE.em2*/
  1117. /*No:DEFERRED_PROCEDURE.set_clients*/
  1118. /*No:DEFERRED_PROCEDURE.names*/
  1119. /*No:DEFERRED_PROCEDURE.require_assertion*/
  1120. void r853from_effective(T853* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1121. {T953*n=malloc(sizeof(*n));
  1122. *n=M953;
  1123. r953make(n,se_ma855(1,a1));
  1124. C->_names=(T0*)n;
  1125. }
  1126. r853make_routine(C,(((T853*)C))->_names/*8*/,a2,NULL,NULL,a3);
  1127. /*[IRF3.3set_ensure_assertion*/((((T853*)(C)))->_ensure_assertion)=(a4);
  1128. /*]*/
  1129. C->_base_class=a5;
  1130. }
  1131. void r853set_rescue_compound(T853* C,T0* a1){
  1132. /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.2is_deferred*/(1)/*)*/)) {
  1133. r853error(r853start_position(C),((T0*)ms6_355));
  1134. }
  1135. /*FI*/C->_rescue_compound=a1;
  1136. }
  1137. void r853pretty_print_profile(T853* C){
  1138. r853pretty_print_names(C);
  1139. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1140. /*]*/
  1141. r853pretty_print_arguments(C);
  1142. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  1143. /*]*/
  1144. /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1145. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  1146. X291pretty_print((((T853*)C))->_result_type/*12*/);
  1147. }
  1148. /*FI*/}
  1149. void r853pretty_print_names(T853* C){
  1150. int _i=0;
  1151. _i=1;
  1152. r853pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1153. _i=(_i)+(1);
  1154. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1155. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  1156. r853pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1157. _i=(_i)+(1);
  1158. }
  1159. }
  1160. int r853can_hide(T853* C,T0* a1,T0* a2){
  1161. int R=0;
  1162. /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1163. /*IF*/if ((((((T853*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1164. r683add_position(X359start_position(a1));
  1165. r853error(r853start_position(C),((T0*)ms5_359));
  1166. }
  1167. /*FI*/}
  1168. /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) {
  1169. /*IF*/if ((((((T853*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  1170. r683add_position(X359start_position(a1));
  1171. r853error(r853start_position(C),((T0*)ms6_359));
  1172. }
  1173.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T853*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  1174. r683add_position(X359start_position(a1));
  1175. r853error(r853start_position(C),((T0*)ms7_359));
  1176. }
  1177. /*FI*/}
  1178. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1179. /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1180. /*IF*/if (!(X291is_a_in((((T853*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1181. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1182. r7append(((T7*)(oBC683explanation)),b1);
  1183. }/*]*/
  1184. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  1185. r7append(((T7*)(oBC683explanation)),b1);
  1186. }/*]*/
  1187. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1188. }
  1189. /*FI*/}
  1190. /*FI*/}
  1191. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1192. /*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) {
  1193. /*IF*/if (!(r31is_a_in(((T31*)((((T853*)C))->_arguments/*24*/)),X359arguments(a1),a2))) {
  1194. r683add_position(X359start_position(a1));
  1195. r683add_position(r853start_position(C));
  1196. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1197. r7append(((T7*)(oBC683explanation)),b1);
  1198. }/*]*/
  1199. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  1200. r7append(((T7*)(oBC683explanation)),b1);
  1201. }/*]*/
  1202. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1203. }
  1204. /*FI*/}
  1205. /*FI*/}
  1206. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1207. return R;
  1208. }
  1209. /*No:DEFERRED_PROCEDURE.header_comment*/
  1210. int r853is_merge_with(T853* C,T0* a1,T0* a2){
  1211. int R=0;
  1212. /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1213. /*IF*/if ((((((T853*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1214. r683add_position(X359start_position(a1));
  1215. r853error(r853start_position(C),((T0*)ms2_359));
  1216. }
  1217. /*FI*/}
  1218. /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) {
  1219. /*IF*/if ((((((T853*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  1220. r683add_position(X359start_position(a1));
  1221. r853error(r853start_position(C),((T0*)ms3_359));
  1222. }
  1223.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T853*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  1224. r683add_position(X359start_position(a1));
  1225. r853error(r853start_position(C),((T0*)ms4_359));
  1226. }
  1227. /*FI*/}
  1228. /*FI*//*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1229. /*IF*/if (!(X291is_a_in((((T853*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1230. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  1231. }
  1232. /*FI*/}
  1233. /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) {
  1234. /*IF*/if (!(r31is_a_in(((T31*)((((T853*)C))->_arguments/*24*/)),X359arguments(a1),a2))) {
  1235. r683add_position(X359start_position(a1));
  1236. r853error(r853start_position(C),((T0*)ms12_359));
  1237. }
  1238. /*FI*/}
  1239. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1240. return R;
  1241. }
  1242. /*No:DEFERRED_PROCEDURE.fz_dot*/
  1243. /*No:DEFERRED_PROCEDURE.set_ensure_assertion*/
  1244. /*No:DEFERRED_PROCEDURE.first_name*/
  1245. /*No:DEFERRED_PROCEDURE.clients*/
  1246. void r853collect_for(T853* C,int a1){
  1247. /*IF*/if ((a1)==(1001)) {
  1248. /*IF*/if (((((T853*)C))->_require_assertion/*32*/)!=((void*)(NULL))) {
  1249. /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T853*)C))->_require_assertion/*32*/))) {
  1250. r522add_last(((T522*)(oBC359require_collector)),(((T853*)C))->_require_assertion/*32*/);
  1251. }
  1252. /*FI*/}
  1253. /*FI*/}
  1254. else {
  1255. /*IF*/if (((((T853*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  1256. /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T853*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/);
  1257. /*]*/
  1258. r633add_into(((T633*)((((T853*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector);
  1259. }
  1260. /*FI*/}
  1261. /*FI*/}
  1262. void r853error(T0* a1,T0* a2){
  1263. r683add_position(a1);
  1264. r683error(((T683*)(oBC364eh)),a2);
  1265. }
  1266. /*No:DEFERRED_PROCEDURE.base_class*/
  1267. void r853pretty_print_arguments(T853* C){
  1268. /*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) {
  1269. r31pretty_print(((T31*)((((T853*)C))->_arguments/*24*/)));
  1270. }
  1271. /*FI*/}
  1272. /*No:DEFERRED_PROCEDURE.pretty_print_routine_body*/
  1273. void r853make_e_feature(T853* C,T0* a1,T0* a2){
  1274. C->_names=a1;
  1275. C->_result_type=a2;
  1276. }
  1277. void r853check_obsolete(T853* C){
  1278. /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
  1279. /*IF*/if (((((T853*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) {
  1280. /*[IRF3.6append*/{T0* b1=((T0*)ms7_355);
  1281. r7append(((T7*)(oBC683explanation)),b1);
  1282. }/*]*/
  1283. /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T853*)C))->_obsolete_mark/*28*/))))->_to_string/*12*/;
  1284. r7append(((T7*)(oBC683explanation)),b1);
  1285. }/*]*/
  1286. r853warning(r853start_position(C),((T0*)ms137_470));
  1287. }
  1288. /*FI*/}
  1289. /*FI*/}
  1290. void r853warning(T0* a1,T0* a2){
  1291. r683add_position(a1);
  1292. r683warning(((T683*)(oBC364eh)),a2);
  1293. }
  1294. void r782add_index_value(T782* C,T0* a1){
  1295. /*IF*/if (((((T782*)C))->_list/*4*/)==((void*)(NULL))) {
  1296. C->_list=se_ma96(1,a1);
  1297. }
  1298. else {
  1299. X96add_last((((T782*)C))->_list/*4*/,a1);
  1300. }
  1301. /*FI*/}
  1302. /*No:INDEX_CLAUSE.make*/
  1303. void r782pretty_print(T782* C){
  1304. int _i=0;
  1305. /*IF*/if (((((T782*)C))->_index/*0*/)!=((void*)(NULL))) {
  1306. r238put_string(((T238*)(oBC364fmt)),(((T782*)C))->_index/*0*/);
  1307. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_782));
  1308. }
  1309. /*FI*//*IF*/if (((((T782*)C))->_list/*4*/)!=((void*)(NULL))) {
  1310. r238level_incr(((T238*)(oBC364fmt)));
  1311. _i=/*X96*/((int)(((T96*)((T96*)((((T782*)C))->_list/*4*/))))->_lower/*16*/);
  1312. while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T782*)C))->_list/*4*/))))->_upper/*12*/)))) {
  1313. X662pretty_print(/*X96*/((T0*)r96item(((T96*)((((T782*)C))->_list/*4*/)),_i)));
  1314. _i=(_i)+(1);
  1315. /*IF*/if ((_i)<=(/*X96*/((int)(((T96*)((T96*)((((T782*)C))->_list/*4*/))))->_upper/*12*/))) {
  1316. r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_782));
  1317. }
  1318. /*FI*/}
  1319. r238level_decr(((T238*)(oBC364fmt)));
  1320. }
  1321. /*FI*/}
  1322. /*No:INDEX_CLAUSE.list*/
  1323. /*No:INDEX_CLAUSE.index*/
  1324.  
  1325.