home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / pretty14.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  50.1 KB  |  1,499 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* r796add_comment(T796* 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 r796to_integer(T796* C){
  24. int R=0;
  25. r796error((((T796*)C))->_start_position/*12*/,((T0*)ms69_470));
  26. return R;
  27. }
  28. int r796is_a(T796* C,T0* a1){
  29. int R=0;
  30. R=X291is_a(/*(IRF4.4run_type*/((T0*)((T284*)r796result_type()))/*)*/,X291run_type(X662result_type(a1)));
  31. /*IF*/if (!(R)) {
  32. r683add_position((((T796*)C))->_start_position/*12*/);
  33. r796error(X662start_position(a1),((T0*)ms4_662));
  34. }
  35. /*FI*/return R;
  36. }
  37. /*No:E_VOID.is_current*/
  38. void r796make(T796* C,T0* a1){
  39. C->_start_position=a1;
  40. C->_to_string=((T0*)ms147_473);
  41. }
  42. /*No:E_VOID.print_as_target*/
  43. /*No:E_VOID.to_string*/
  44. /*No:E_VOID.fz_iinaiv*/
  45. /*No:E_VOID.start_position*/
  46. /*No:E_VOID.precedence*/
  47. T0* r796to_runnable(T796* C,T0* a1){
  48. T0* R=NULL;
  49. /*IF*/if (((((T796*)C))->_current_type/*4*/)==((void*)(NULL))) {
  50. C->_current_type=a1;
  51. R=(T0*)C;
  52. }
  53. else {
  54. R=r796twin(C);
  55. /*[IRF3.3set_current_type*/((((T796*)(((T796*)R))))->_current_type)=(a1);
  56. /*]*/
  57. }
  58. /*FI*/return R;
  59. }
  60. /*No:E_VOID.bracketed_pretty_print*/
  61. int fBC796result_type=0;
  62. T0*oBC796result_type=NULL;
  63. T0* r796result_type(void){
  64. if (fBC796result_type==0){
  65. T0* R=NULL;
  66. fBC796result_type=1;
  67. {T284*n=malloc(sizeof(*n));
  68. *n=M284;
  69. r284make(n,NULL);
  70. R=(T0*)n;
  71. }
  72. oBC796result_type=R;}
  73. return oBC796result_type;}
  74. T0* r796twin(T796* C){
  75. T0* R=NULL;
  76. R=malloc(sizeof(*C));
  77. *((T796*)R)=*C;
  78. return R;
  79. }
  80. /*No:E_VOID.set_current_type*/
  81. /*No:E_VOID.atomic_precedence*/
  82. /*No:E_VOID.pretty_print*/
  83. /*No:E_VOID.current_type*/
  84. /*No:E_VOID.is_manifest_string*/
  85. /*No:E_VOID.is_void*/
  86. /*No:E_VOID.us_void*/
  87. void r796error(T0* a1,T0* a2){
  88. r683add_position(a1);
  89. r683error(((T683*)(oBC364eh)),a2);
  90. }
  91. /*No:E_VOID.fatal_error*/
  92. void r404check_creation_clause(T404* C,T0* a1){
  93. T0* _args=NULL;
  94. T0* _top=NULL;
  95. T0* _bottom=NULL;
  96. T0* _fn=NULL;
  97. _fn=/*X173*/((T0*)(((T268*)((T268*)((((T404*)C))->_call/*20*/))))->_feature_name/*12*/);
  98. /*IF*/if (X291is_like_current(a1)) {
  99. _top=r627base_class(((T627*)(X776start_position(_fn))));
  100. _bottom=X291base_class(a1);
  101. _fn=r605new_name_of(((T605*)_bottom),_top,_fn);
  102. /*IF*/if ((_fn)==((void*)(NULL))) {
  103. _fn=/*X173*/((T0*)(((T268*)((T268*)((((T404*)C))->_call/*20*/))))->_feature_name/*12*/);
  104. r683add_position(X776start_position(_fn));
  105. /*[IRF3.6append*/{T0* b1=((T0*)ms143_470);
  106. r7append(((T7*)(oBC683explanation)),b1);
  107. }/*]*/
  108. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  109. r7append(((T7*)(oBC683explanation)),b1);
  110. }/*]*/
  111. /*[IRF3.6append*/{T0* b1=((T0*)ms1_394);
  112. r7append(((T7*)(oBC683explanation)),b1);
  113. }/*]*/
  114. /*[IRF3.6append*/{T0* b1=X291run_time_mark(a1);
  115. r7append(((T7*)(oBC683explanation)),b1);
  116. }/*]*/
  117. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470);
  118. r683fatal_error(((T683*)(oBC364eh)),b1);
  119. }/*]*/
  120. }
  121. /*FI*/}
  122. /*FI*/C->_run_feature=r368get_feature(((T368*)(X291run_class(a1))),_fn);
  123. /*IF*/if (((((T404*)C))->_run_feature/*16*/)==((void*)(NULL))) {
  124. r404cp_not_found(C,_fn);
  125. }
  126. /*FI*//*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
  127. }
  128.  else if (!(X291has_creation(a1,_fn))) {
  129. r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T404*)C))->_call/*20*/))))->_feature_name/*12*/)));
  130. r683add_position(X776start_position(_fn));
  131. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  132. r7append(((T7*)(oBC683explanation)),b1);
  133. }/*]*/
  134. /*[IRF3.6append*/{T0* b1=((T0*)ms2_394);
  135. r7append(((T7*)(oBC683explanation)),b1);
  136. }/*]*/
  137. r683add_type(a1,((T0*)ms67_470));
  138. r683print_as_fatal_error(((T683*)(oBC364eh)));
  139. }
  140. /*FI*/X496add_client((((T404*)C))->_run_feature/*16*/,r592run_class(((T592*)((((T404*)C))->_run_compound/*4*/))));
  141. /*IF*/if ((/*X496*/((T0*)(((T808*)((T808*)((((T404*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
  142. r683add_position(X496start_position((((T404*)C))->_run_feature/*16*/));
  143. r683add_position(X776start_position(_fn));
  144. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_394);
  145. r683fatal_error(((T683*)(oBC364eh)),b1);
  146. }/*]*/
  147. }
  148. /*FI*//*IF*/if (((r404arg_count(C))==(0))&&((/*X496*/((T0*)(((T808*)((T808*)((((T404*)C))->_run_feature/*16*/))))->_arguments/*20*/))!=((void*)(NULL)))) {
  149. r683add_position(X496start_position((((T404*)C))->_run_feature/*16*/));
  150. r683add_position((((T404*)C))->_start_position/*8*/);
  151. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_394);
  152. r683fatal_error(((T683*)(oBC364eh)),b1);
  153. }/*]*/
  154. }
  155. /*FI*//*IF*/if ((r404arg_count(C))>(0)) {
  156. _args=r431to_runnable(((T431*)(X173arguments((((T404*)C))->_call/*20*/))),r404current_type(C));
  157. /*IF*/if ((_args)==((void*)(NULL))) {
  158. r404error(r431start_position(((T431*)(X173arguments((((T404*)C))->_call/*20*/)))),((T0*)ms56_470));
  159. }
  160. else {
  161. r431match_with(((T431*)_args),(((T404*)C))->_run_feature/*16*/);
  162. }
  163. /*FI*/}
  164. /*FI*/C->_call=X173make_runnable((((T404*)C))->_call/*20*/,(((T404*)C))->_run_compound/*4*/,(((T404*)C))->_writable/*12*/,_args,(((T404*)C))->_run_feature/*16*/);
  165. }
  166. T0* r404add_comment(T404* C,T0* a1){
  167. T0* R=NULL;
  168. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  169. R=(T0*)C;
  170. }
  171. /*AF*/else {
  172. {T46*n=malloc(sizeof(*n));
  173. *n=M46;
  174. r46make(n,(T0*)C,a1);
  175. R=(T0*)n;
  176. }
  177. }
  178. /*FI*/return R;
  179. }
  180. void r404check_created_type(T404* C,T0* a1){
  181. T0* _rt=NULL;
  182. _rt=X291run_type(a1);
  183. /*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
  184. }
  185.  else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
  186. r683add_type(_rt,((T0*)ms2_747));
  187. r683add_position((((T404*)C))->_start_position/*8*/);
  188. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
  189. r683fatal_error(((T683*)(oBC364eh)),b1);
  190. }/*]*/
  191. }
  192. /*FI*//*IF*/if (X291is_formal_generic(a1)) {
  193. r683add_position((((T404*)C))->_start_position/*8*/);
  194. /*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
  195. r7append(((T7*)(oBC683explanation)),b1);
  196. }/*]*/
  197. r683add_type(a1,((T0*)ms5_747));
  198. r683print_as_fatal_error(((T683*)(oBC364eh)));
  199. }
  200. /*FI*/r368set_at_run_time(((T368*)(X291run_class(_rt))));
  201. }
  202. void r404cp_not_found(T404* C,T0* a1){
  203. r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T404*)C))->_call/*20*/))))->_feature_name/*12*/)));
  204. r683add_position(X776start_position(a1));
  205. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms5_394);
  206. r683fatal_error(((T683*)(oBC364eh)),b1);
  207. }/*]*/
  208. }
  209. /*No:CREATION_CALL_4.writable*/
  210. /*No:CREATION_CALL_4.fz_bad_arguments*/
  211. void r404make(T404* C,T0* a1,T0* a2,T0* a3,T0* a4){
  212. C->_start_position=a1;
  213. C->_type=a2;
  214. C->_writable=a3;
  215. C->_call=a4;
  216. }
  217. /*No:CREATION_CALL_4.type*/
  218. int r404arg_count(T404* C){
  219. int R=0;
  220. /*IF*/if (((((T404*)C))->_call/*20*/)!=((void*)(NULL))) {
  221. R=X173arg_count((((T404*)C))->_call/*20*/);
  222. }
  223. /*FI*/return R;
  224. }
  225. /*No:CREATION_CALL_4.call*/
  226. /*No:CREATION_CALL_4.run_feature*/
  227. /*No:CREATION_CALL_4.start_position*/
  228. T0* r404to_runnable(T404* C,T0* a1){
  229. T0* R=NULL;
  230. /*IF*/if (((((T404*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  231. r404check_writable(C,a1);
  232. r404check_explicit_type(C);
  233. r404check_created_type(C,(((T404*)C))->_type/*24*/);
  234. r404check_creation_clause(C,(((T404*)C))->_type/*24*/);
  235. R=(T0*)C;
  236. }
  237. else {
  238. {T404*n=malloc(sizeof(*n));
  239. *n=M404;
  240. r404make(n,(((T404*)C))->_start_position/*8*/,(((T404*)C))->_type/*24*/,(((T404*)C))->_writable/*12*/,(((T404*)C))->_call/*20*/);
  241. R=(T0*)n;
  242. }
  243. R=r404to_runnable(((T404*)R),a1);
  244. }
  245. /*FI*/return R;
  246. }
  247. /*No:CREATION_CALL_4.fz_03*/
  248. void r404pretty_print(T404* C){
  249. r238put_character(((T238*)(oBC364fmt)),'\41');
  250. X291pretty_print((((T404*)C))->_type/*24*/);
  251. r238put_character(((T238*)(oBC364fmt)),'\41');
  252. X173pretty_print((((T404*)C))->_call/*20*/);
  253. }
  254. T0* r404current_type(T404* C){
  255. T0* R=NULL;
  256. /*IF*/if (((((T404*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  257. R=(((T592*)((T592*)((((T404*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  258. }
  259. /*FI*/return R;
  260. }
  261. /*No:CREATION_CALL_4.fz_09*/
  262. /*No:CREATION_CALL_4.run_compound*/
  263. void r404check_explicit_type(T404* C){
  264. T0* _t=NULL;
  265. _t=X291to_runnable((((T404*)C))->_type/*24*/,r404current_type(C));
  266. /*IF*/if (((_t)==((void*)(NULL)))||(!(X291is_run_type(_t)))) {
  267. r683add_position(X291start_position((((T404*)C))->_type/*24*/));
  268. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_432);
  269. r683fatal_error(((T683*)(oBC364eh)),b1);
  270. }/*]*/
  271. }
  272. else {
  273. C->_type=_t;
  274. }
  275. /*FI*//*IF*/if (!(X291is_a((((T404*)C))->_type/*24*/,X662result_type((((T404*)C))->_writable/*12*/)))) {
  276. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_432);
  277. r683fatal_error(((T683*)(oBC364eh)),b1);
  278. }/*]*/
  279. }
  280. /*FI*/}
  281. /*No:CREATION_CALL_4.fz_dot*/
  282. void r404check_writable(T404* C,T0* a1){
  283. T0* _w=NULL;
  284. C->_run_compound=a1;
  285. _w=X662to_runnable((((T404*)C))->_writable/*12*/,r404current_type(C));
  286. /*IF*/if ((_w)==((void*)(NULL))) {
  287. r683add_position(X662start_position((((T404*)C))->_writable/*12*/));
  288. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
  289. r683fatal_error(((T683*)(oBC364eh)),b1);
  290. }/*]*/
  291. }
  292. else {
  293. C->_writable=_w;
  294. }
  295. /*FI*/}
  296. void r404error(T0* a1,T0* a2){
  297. r683add_position(a1);
  298. r683error(((T683*)(oBC364eh)),a2);
  299. }
  300. /*No:CREATION_CALL_4.fatal_error*/
  301. /*No:CREATION_CALL_4.end_mark_comment*/
  302. /*No:CALL_INFIX_INT_REM.arguments*/
  303. T0* r453add_comment(T453* C,T0* a1){
  304. T0* R=NULL;
  305. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  306. R=(T0*)C;
  307. }
  308. else {
  309. {T529*n=malloc(sizeof(*n));
  310. *n=M529;
  311. r529make(n,(T0*)C,a1);
  312. R=(T0*)n;
  313. }
  314. }
  315. /*FI*/return R;
  316. }
  317. int r453to_integer(T453* C){
  318. int R=0;
  319. r453error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T453*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  320. return R;
  321. }
  322. int r453is_a(T453* C,T0* a1){
  323. int R=0;
  324. R=X291is_a(X291run_type((((T453*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  325. /*IF*/if (!(R)) {
  326. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T453*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  327. r453error(X662start_position(a1),((T0*)ms4_662));
  328. }
  329. /*FI*/return R;
  330. }
  331. T576 oBC364switch_collection=0;
  332. /*No:CALL_INFIX_INT_REM.is_current*/
  333. void r453make(T453* C,T0* a1,T0* a2,T0* a3){
  334. T0* _eal=NULL;
  335. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  336. r683add_position(a2);
  337. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  338. r683fatal_error(((T683*)(oBC364eh)),b1);
  339. }/*]*/
  340. }
  341. /*FI*/{T454*n=malloc(sizeof(*n));
  342. *n=M454;
  343. r454make(n,((T0*)ms1_453),a2);
  344. C->_feature_name=(T0*)n;
  345. }
  346. {T431*n=malloc(sizeof(*n));
  347. *n=M431;
  348. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  349. /*]*/
  350. _eal=(T0*)n;
  351. }
  352. r453make_call_1(C,a1,(((T453*)C))->_feature_name/*24*/,_eal);
  353. }
  354. void r453print_as_target(T453* C){
  355. r238put_character(((T238*)(oBC364fmt)),'\50');
  356. r453pretty_print(C);
  357. r238put_character(((T238*)(oBC364fmt)),'\51');
  358. r238put_character(((T238*)(oBC364fmt)),'\56');
  359. }
  360. /*No:CALL_INFIX_INT_REM.nb_errors*/
  361. /*No:CALL_INFIX_INT_REM.feature_name*/
  362. /*No:CALL_INFIX_INT_REM.fz_iinaiv*/
  363. /*No:CALL_INFIX_INT_REM.run_feature*/
  364. /*No:CALL_INFIX_INT_REM.start_position*/
  365. /*No:CALL_INFIX_INT_REM.target*/
  366. /*No:CALL_INFIX_INT_REM.precedence*/
  367. T0* r453to_runnable(T453* C,T0* a1){
  368. T0* R=NULL;
  369. T0* _tla=NULL;
  370. T0* _a=NULL;
  371. /*IF*/if (((((T453*)C))->_current_type/*4*/)==((void*)(NULL))) {
  372. r453to_runnable_0(C,a1);
  373. _a=r431to_runnable(((T431*)((((T453*)C))->_arguments/*20*/)),a1);
  374. /*IF*/if ((_a)==((void*)(NULL))) {
  375. r453error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  376. }
  377. else {
  378. C->_arguments=_a;
  379. }
  380. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  381. r431match_with(((T431*)((((T453*)C))->_arguments/*20*/)),(((T453*)C))->_run_feature/*12*/);
  382. }
  383. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  384. _tla=(((T453*)C))->_result_type/*16*/;
  385. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  386. case 239: 
  387. break;
  388. default:
  389. _tla=NULL;
  390. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  391. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/));
  392. }
  393. /*FI*/}
  394. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  395. R=(T0*)C;
  396. }
  397. /*FI*/}
  398. else {
  399. R=r453twin(C);
  400. /*[IRF3.3set_current_type*/((((T453*)(((T453*)R))))->_current_type)=(NULL);
  401. /*]*/
  402. R=r453to_runnable(((T453*)R),a1);
  403. }
  404. /*FI*/return R;
  405. }
  406. void r453bracketed_pretty_print(T453* C){
  407. r238put_character(((T238*)(oBC364fmt)),'\50');
  408. r453pretty_print(C);
  409. r238put_character(((T238*)(oBC364fmt)),'\51');
  410. }
  411. /*No:CALL_INFIX_INT_REM.result_type*/
  412. T0* r453twin(T453* C){
  413. T0* R=NULL;
  414. R=malloc(sizeof(*C));
  415. *((T453*)R)=*C;
  416. return R;
  417. }
  418. /*No:CALL_INFIX_INT_REM.set_current_type*/
  419. /*No:CALL_INFIX_INT_REM.operator*/
  420. /*No:CALL_INFIX_INT_REM.atomic_precedence*/
  421. void r453pretty_print(T453* C){
  422. /*IF*/if ((X662precedence((((T453*)C))->_target/*8*/))==(13)) {
  423. X662pretty_print((((T453*)C))->_target/*8*/);
  424. r453print_op(C);
  425. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  426. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/);
  427. }
  428.  else if ((8)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/))) {
  429. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/);
  430. }
  431. else {
  432. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/);
  433. }
  434. /*FI*/}
  435.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  436. /*IF*/if ((X662precedence((((T453*)C))->_target/*8*/))>=(8)) {
  437. X662bracketed_pretty_print((((T453*)C))->_target/*8*/);
  438. }
  439. else {
  440. X662pretty_print((((T453*)C))->_target/*8*/);
  441. }
  442. /*FI*/r453print_op(C);
  443. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/);
  444. }
  445.  else if ((8)<=(X662precedence((((T453*)C))->_target/*8*/))) {
  446. X662bracketed_pretty_print((((T453*)C))->_target/*8*/);
  447. r453print_op(C);
  448. /*IF*/if ((8)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/))) {
  449. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/);
  450. }
  451. else {
  452. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/);
  453. }
  454. /*FI*/}
  455. else {
  456. X662pretty_print((((T453*)C))->_target/*8*/);
  457. r453print_op(C);
  458. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T453*)C))->_arguments/*20*/)))/*)*/);
  459. }
  460. /*FI*/}
  461. void r453print_op(T453* C){
  462. r238put_character(((T238*)(oBC364fmt)),'\40');
  463. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T453*)C))->_feature_name/*24*/));
  464. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  465. }/*]*/
  466. r238put_character(((T238*)(oBC364fmt)),'\40');
  467. }
  468. /*No:CALL_INFIX_INT_REM.current_type*/
  469. void r453make_call_1(T453* C,T0* a1,T0* a2,T0* a3){
  470. C->_target=a1;
  471. C->_feature_name=a2;
  472. C->_arguments=a3;
  473. }
  474. /*No:CALL_INFIX_INT_REM.is_manifest_string*/
  475. /*No:CALL_INFIX_INT_REM.is_void*/
  476. void r453to_runnable_0(T453* C,T0* a1){
  477. C->_current_type=a1;
  478. r453cpc_to_runnable(C,a1);
  479. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T453*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  480. /*IF*/if (((((T453*)C))->_result_type/*16*/)==((void*)(NULL))) {
  481. r683add_position(X496start_position((((T453*)C))->_run_feature/*12*/));
  482. r453error((((T454*)((T454*)((((T453*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  483. }
  484.  else if (X291is_like_current((((T453*)C))->_result_type/*16*/)) {
  485. C->_result_type=X662result_type((((T453*)C))->_target/*8*/);
  486. }
  487. /*FI*/}
  488. void r453cpc_to_runnable(T453* C,T0* a1){
  489. T0* _rc=NULL;
  490. T0* _t=NULL;
  491. _t=X662to_runnable((((T453*)C))->_target/*8*/,a1);
  492. /*IF*/if ((_t)==((void*)(NULL))) {
  493. r683add_position(X662start_position((((T453*)C))->_target/*8*/));
  494. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  495. r683fatal_error(((T683*)(oBC364eh)),b1);
  496. }/*]*/
  497. }
  498. /*FI*/C->_target=_t;
  499. _rc=X291run_class(X662result_type((((T453*)C))->_target/*8*/));
  500. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  501. r576update((((T453*)C))->_target/*8*/,(((T453*)C))->_run_feature/*12*/);
  502. }
  503. void r453error(T0* a1,T0* a2){
  504. r683add_position(a1);
  505. r683error(((T683*)(oBC364eh)),a2);
  506. }
  507. /*No:CALL_INFIX_INT_REM.fatal_error*/
  508. /*No:CALL_INFIX_INT_REM.fz_bad_argument*/
  509. /*No:CALL_INFIX_INT_REM.arg1*/
  510. /*No:ASSERTION.fz_is_not_boolean*/
  511. /*No:ASSERTION.fz_bad_assertion*/
  512. void r348make(T348* C,T0* a1,T0* a2,T0* a3){
  513. C->_tag=a1;
  514. C->_expression=a2;
  515. C->_comment=a3;
  516. }
  517. /*No:ASSERTION.expression*/
  518. T0* r348start_position(T348* C){
  519. T0* R=NULL;
  520. /*IF*/if (((((T348*)C))->_tag/*0*/)!=((void*)(NULL))) {
  521. R=(((T490*)((T490*)((((T348*)C))->_tag/*0*/))))->_start_position/*4*/;
  522. }
  523.  else if (((((T348*)C))->_expression/*4*/)!=((void*)(NULL))) {
  524. R=X662start_position((((T348*)C))->_expression/*4*/);
  525. }
  526. else {
  527. R=(((T393*)((T393*)((((T348*)C))->_comment/*8*/))))->_start_position/*0*/;
  528. }
  529. /*FI*/return R;
  530. }
  531. /*No:ASSERTION.comment*/
  532. T0* r348to_runnable(T348* C,T0* a1){
  533. T0* R=NULL;
  534. T0* _e=NULL;
  535. /*IF*/if (((((T348*)C))->_current_type/*12*/)==((void*)(NULL))) {
  536. C->_current_type=a1;
  537. R=(T0*)C;
  538. /*IF*/if (((((T348*)C))->_expression/*4*/)!=((void*)(NULL))) {
  539. _e=X662to_runnable((((T348*)C))->_expression/*4*/,a1);
  540. /*IF*/if ((_e)==((void*)(NULL))) {
  541. r348error(r348start_position(C),((T0*)ms57_470));
  542. }
  543. else {
  544. C->_expression=_e;
  545. /*IF*/if (!(X291is_boolean(X662result_type((((T348*)C))->_expression/*4*/)))) {
  546. r683add_type(X662result_type((((T348*)C))->_expression/*4*/),((T0*)ms73_470));
  547. r348error(r348start_position(C),((T0*)ms57_470));
  548. }
  549. /*FI*/}
  550. /*FI*/}
  551. /*FI*/}
  552. else {
  553. {T348*n=malloc(sizeof(*n));
  554. *n=M348;
  555. r348make(n,(((T348*)C))->_tag/*0*/,(((T348*)C))->_expression/*4*/,(((T348*)C))->_comment/*8*/);
  556. R=(T0*)n;
  557. }
  558. R=r348to_runnable(((T348*)R),a1);
  559. }
  560. /*FI*/return R;
  561. }
  562. /*No:ASSERTION.tag*/
  563. void r348pretty_print(T348* C){
  564. /*IF*/if (((((T348*)C))->_tag/*0*/)!=((void*)(NULL))) {
  565. r238put_string(((T238*)(oBC364fmt)),(((T490*)((T490*)((((T348*)C))->_tag/*0*/))))->_to_string/*0*/);
  566. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_348));
  567. }
  568. /*FI*//*IF*/if (((((T348*)C))->_expression/*4*/)!=((void*)(NULL))) {
  569. X662pretty_print((((T348*)C))->_expression/*4*/);
  570. /*IF*/if ((((T238*)((T238*)(oBC364fmt))))->_semi_colon_flag/*25*/) {
  571. r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_348));
  572. }
  573. /*FI*/}
  574. /*FI*//*IF*/if (((((T348*)C))->_comment/*8*/)!=((void*)(NULL))) {
  575. r393pretty_print(((T393*)((((T348*)C))->_comment/*8*/)));
  576. }
  577. /*FI*/}
  578. /*No:ASSERTION.current_type*/
  579. void r348error(T0* a1,T0* a2){
  580. r683add_position(a1);
  581. r683error(((T683*)(oBC364eh)),a2);
  582. }
  583. /*No:WHEN_ITEM_2.lower_value*/
  584. /*No:WHEN_ITEM_2.upper_value*/
  585. T0* r372to_runnable_integer(T372* C,T0* a1){
  586. T0* R=NULL;
  587. T0* _v=NULL;
  588. /*IF*/if (((((T372*)C))->_e_when/*4*/)==((void*)(NULL))) {
  589. C->_e_when=a1;
  590. _v=X662to_runnable((((T372*)C))->_lower/*12*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T372*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/);
  591. /*IF*/if (((_v)!=((void*)(NULL)))&&(X291is_integer(X662result_type(_v)))) {
  592. C->_lower=_v;
  593. C->_lower_value=X662to_integer((((T372*)C))->_lower/*12*/);
  594. }
  595. else {
  596. r372error(X662start_position((((T372*)C))->_lower/*12*/),((T0*)ms60_470));
  597. }
  598. /*FI*/_v=X662to_runnable((((T372*)C))->_upper/*8*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T372*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/);
  599. /*IF*/if (((_v)!=((void*)(NULL)))&&(X291is_integer(X662result_type(_v)))) {
  600. C->_upper=_v;
  601. C->_upper_value=X662to_integer((((T372*)C))->_upper/*8*/);
  602. }
  603. else {
  604. r372error(X662start_position((((T372*)C))->_upper/*8*/),((T0*)ms60_470));
  605. }
  606. /*FI*/r843add_when_item_2(((T843*)((((T372*)C))->_e_when/*4*/)),(T0*)C);
  607. R=(T0*)C;
  608. }
  609. else {
  610. {T372*n=malloc(sizeof(*n));
  611. *n=M372;
  612. r372make(n,(((T372*)C))->_lower/*12*/,(((T372*)C))->_upper/*8*/);
  613. R=(T0*)n;
  614. }
  615. R=r372to_runnable_integer(((T372*)R),a1);
  616. }
  617. /*FI*/return R;
  618. }
  619. void r372make(T372* C,T0* a1,T0* a2){
  620. C->_lower=a1;
  621. C->_upper=a2;
  622. }
  623. T0* r372start_position(T372* C){
  624. T0* R=NULL;
  625. R=X662start_position((((T372*)C))->_lower/*12*/);
  626. return R;
  627. }
  628. /*No:WHEN_ITEM_2.clear_e_when*/
  629. /*No:WHEN_ITEM_2.fz_bcv*/
  630. T0* r372twin(T372* C){
  631. T0* R=NULL;
  632. R=malloc(sizeof(*C));
  633. *((T372*)R)=*C;
  634. return R;
  635. }
  636. void r372pretty_print(T372* C){
  637. X662pretty_print((((T372*)C))->_lower/*12*/);
  638. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_372));
  639. X662pretty_print((((T372*)C))->_upper/*8*/);
  640. }
  641. /*No:WHEN_ITEM_2.current_type*/
  642. /*No:WHEN_ITEM_2.fz_biv*/
  643. /*No:WHEN_ITEM_2.lower*/
  644. /*No:WHEN_ITEM_2.upper*/
  645. void r372error(T0* a1,T0* a2){
  646. r683add_position(a1);
  647. r683error(((T683*)(oBC364eh)),a2);
  648. }
  649. T0* r372to_runnable_character(T372* C,T0* a1){
  650. T0* R=NULL;
  651. T0* _v=NULL;
  652. /*IF*/if (((((T372*)C))->_e_when/*4*/)==((void*)(NULL))) {
  653. C->_e_when=a1;
  654. _v=X662to_runnable((((T372*)C))->_lower/*12*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T372*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/);
  655. /*IF*/if (((_v)!=((void*)(NULL)))&&(X291is_character(X662result_type(_v)))) {
  656. C->_lower=_v;
  657. C->_lower_value=X662to_integer((((T372*)C))->_lower/*12*/);
  658. }
  659. else {
  660. r372error(X662start_position((((T372*)C))->_lower/*12*/),((T0*)ms58_470));
  661. }
  662. /*FI*/_v=X662to_runnable((((T372*)C))->_upper/*8*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T372*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/);
  663. /*IF*/if (((_v)!=((void*)(NULL)))&&(X291is_character(X662result_type(_v)))) {
  664. C->_upper=_v;
  665. C->_upper_value=X662to_integer((((T372*)C))->_upper/*8*/);
  666. }
  667. else {
  668. r372error(X662start_position((((T372*)C))->_upper/*8*/),((T0*)ms58_470));
  669. }
  670. /*FI*/r843add_when_item_2(((T843*)((((T372*)C))->_e_when/*4*/)),(T0*)C);
  671. R=(T0*)C;
  672. }
  673. else {
  674. {T372*n=malloc(sizeof(*n));
  675. *n=M372;
  676. r372make(n,(((T372*)C))->_lower/*12*/,(((T372*)C))->_upper/*8*/);
  677. R=(T0*)n;
  678. }
  679. R=r372to_runnable_character(((T372*)R),a1);
  680. }
  681. /*FI*/return R;
  682. }
  683. /*No:WHEN_ITEM_2.e_when*/
  684. void r153add_into(T153* C,T0* a1){
  685. T0* _f=NULL;
  686. int _i=0;
  687. /*IF*/if (((((T153*)C))->_list/*8*/)!=((void*)(NULL))) {
  688. _i=0;
  689. while (!((_i)>((((T352*)((T352*)((((T153*)C))->_list/*8*/))))->_upper/*8*/))) {
  690. _f=/*(IRF4.6item*/((((T352*)((T352*)((((T153*)C))->_list/*8*/))))->_storage/*0*/)[_i]/*)*/;
  691. X359set_clients(_f,(((T153*)C))->_clients/*0*/);
  692. X359add_into(_f,a1);
  693. _i=(_i)+(1);
  694. }
  695. }
  696. /*FI*/}
  697. void r153make(T153* C,T0* a1,T0* a2,T0* a3){
  698. C->_clients=a1;
  699. C->_comment=a2;
  700. C->_list=a3;
  701. }
  702. /*No:FEATURE_CLAUSE.fz_feature*/
  703. /*No:FEATURE_CLAUSE.comment*/
  704. void r153pretty_print(T153* C){
  705. int _i=0;
  706. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
  707. /*]*/
  708. /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
  709. r238skip(((T238*)(oBC364fmt)),1);
  710. }
  711. else {
  712. r238indent(((T238*)(oBC364fmt)));
  713. }
  714. /*FI*/r238keyword(((T238*)(oBC364fmt)),((T0*)ms18_470));
  715. r636pretty_print(((T636*)((((T153*)C))->_clients/*0*/)));
  716. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
  717. /*]*/
  718. /*IF*/if (((((T153*)C))->_comment/*4*/)!=((void*)(NULL))) {
  719. /*IF*/if (r238zen_mode(((T238*)(oBC364fmt)))) {
  720. }
  721.  else if (((((T238*)((T238*)(oBC364fmt))))->_column/*8*/)>(15)) {
  722. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  723. /*]*/
  724. r238indent(((T238*)(oBC364fmt)));
  725. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
  726. /*]*/
  727. }
  728. /*FI*/r393pretty_print(((T393*)((((T153*)C))->_comment/*4*/)));
  729. /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
  730. r238skip(((T238*)(oBC364fmt)),1);
  731. }
  732. /*FI*/}
  733. /*FI*//*IF*/if (((((T153*)C))->_list/*8*/)!=((void*)(NULL))) {
  734. _i=0;
  735. while (!((_i)>((((T352*)((T352*)((((T153*)C))->_list/*8*/))))->_upper/*8*/))) {
  736. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  737. /*]*/
  738. r238indent(((T238*)(oBC364fmt)));
  739. /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
  740. r238skip(((T238*)(oBC364fmt)),1);
  741. }
  742. /*FI*/X359pretty_print(/*(IRF4.6item*/((((T352*)((T352*)((((T153*)C))->_list/*8*/))))->_storage/*0*/)[_i]/*)*/);
  743. _i=(_i)+(1);
  744. }
  745. }
  746. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(0);
  747. /*]*/
  748. /*IF*/if (!(r238zen_mode(((T238*)(oBC364fmt))))) {
  749. r238skip(((T238*)(oBC364fmt)),1);
  750. }
  751. /*FI*/}
  752. /*No:FEATURE_CLAUSE.list*/
  753. /*No:FEATURE_CLAUSE.clients*/
  754. /*No:CALL_INFIX_INT_DIV.arguments*/
  755. T0* r460add_comment(T460* C,T0* a1){
  756. T0* R=NULL;
  757. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  758. R=(T0*)C;
  759. }
  760. else {
  761. {T529*n=malloc(sizeof(*n));
  762. *n=M529;
  763. r529make(n,(T0*)C,a1);
  764. R=(T0*)n;
  765. }
  766. }
  767. /*FI*/return R;
  768. }
  769. int r460to_integer(T460* C){
  770. int R=0;
  771. r460error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T460*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  772. return R;
  773. }
  774. int r460is_a(T460* C,T0* a1){
  775. int R=0;
  776. R=X291is_a(X291run_type((((T460*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  777. /*IF*/if (!(R)) {
  778. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T460*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  779. r460error(X662start_position(a1),((T0*)ms4_662));
  780. }
  781. /*FI*/return R;
  782. }
  783. /*No:CALL_INFIX_INT_DIV.is_current*/
  784. void r460make(T460* C,T0* a1,T0* a2,T0* a3){
  785. T0* _eal=NULL;
  786. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  787. r683add_position(a2);
  788. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  789. r683fatal_error(((T683*)(oBC364eh)),b1);
  790. }/*]*/
  791. }
  792. /*FI*/{T454*n=malloc(sizeof(*n));
  793. *n=M454;
  794. r454make(n,((T0*)ms1_460),a2);
  795. C->_feature_name=(T0*)n;
  796. }
  797. {T431*n=malloc(sizeof(*n));
  798. *n=M431;
  799. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  800. /*]*/
  801. _eal=(T0*)n;
  802. }
  803. r460make_call_1(C,a1,(((T460*)C))->_feature_name/*24*/,_eal);
  804. }
  805. void r460print_as_target(T460* C){
  806. r238put_character(((T238*)(oBC364fmt)),'\50');
  807. r460pretty_print(C);
  808. r238put_character(((T238*)(oBC364fmt)),'\51');
  809. r238put_character(((T238*)(oBC364fmt)),'\56');
  810. }
  811. /*No:CALL_INFIX_INT_DIV.nb_errors*/
  812. /*No:CALL_INFIX_INT_DIV.feature_name*/
  813. /*No:CALL_INFIX_INT_DIV.fz_iinaiv*/
  814. /*No:CALL_INFIX_INT_DIV.run_feature*/
  815. /*No:CALL_INFIX_INT_DIV.start_position*/
  816. /*No:CALL_INFIX_INT_DIV.target*/
  817. /*No:CALL_INFIX_INT_DIV.precedence*/
  818. T0* r460to_runnable(T460* C,T0* a1){
  819. T0* R=NULL;
  820. T0* _tla=NULL;
  821. T0* _a=NULL;
  822. /*IF*/if (((((T460*)C))->_current_type/*4*/)==((void*)(NULL))) {
  823. r460to_runnable_0(C,a1);
  824. _a=r431to_runnable(((T431*)((((T460*)C))->_arguments/*20*/)),a1);
  825. /*IF*/if ((_a)==((void*)(NULL))) {
  826. r460error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  827. }
  828. else {
  829. C->_arguments=_a;
  830. }
  831. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  832. r431match_with(((T431*)((((T460*)C))->_arguments/*20*/)),(((T460*)C))->_run_feature/*12*/);
  833. }
  834. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  835. _tla=(((T460*)C))->_result_type/*16*/;
  836. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  837. case 239: 
  838. break;
  839. default:
  840. _tla=NULL;
  841. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  842. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/));
  843. }
  844. /*FI*/}
  845. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  846. R=(T0*)C;
  847. }
  848. /*FI*/}
  849. else {
  850. R=r460twin(C);
  851. /*[IRF3.3set_current_type*/((((T460*)(((T460*)R))))->_current_type)=(NULL);
  852. /*]*/
  853. R=r460to_runnable(((T460*)R),a1);
  854. }
  855. /*FI*/return R;
  856. }
  857. void r460bracketed_pretty_print(T460* C){
  858. r238put_character(((T238*)(oBC364fmt)),'\50');
  859. r460pretty_print(C);
  860. r238put_character(((T238*)(oBC364fmt)),'\51');
  861. }
  862. /*No:CALL_INFIX_INT_DIV.result_type*/
  863. T0* r460twin(T460* C){
  864. T0* R=NULL;
  865. R=malloc(sizeof(*C));
  866. *((T460*)R)=*C;
  867. return R;
  868. }
  869. /*No:CALL_INFIX_INT_DIV.set_current_type*/
  870. /*No:CALL_INFIX_INT_DIV.operator*/
  871. /*No:CALL_INFIX_INT_DIV.atomic_precedence*/
  872. void r460pretty_print(T460* C){
  873. /*IF*/if ((X662precedence((((T460*)C))->_target/*8*/))==(13)) {
  874. X662pretty_print((((T460*)C))->_target/*8*/);
  875. r460print_op(C);
  876. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  877. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/);
  878. }
  879.  else if ((8)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/))) {
  880. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/);
  881. }
  882. else {
  883. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/);
  884. }
  885. /*FI*/}
  886.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  887. /*IF*/if ((X662precedence((((T460*)C))->_target/*8*/))>=(8)) {
  888. X662bracketed_pretty_print((((T460*)C))->_target/*8*/);
  889. }
  890. else {
  891. X662pretty_print((((T460*)C))->_target/*8*/);
  892. }
  893. /*FI*/r460print_op(C);
  894. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/);
  895. }
  896.  else if ((8)<=(X662precedence((((T460*)C))->_target/*8*/))) {
  897. X662bracketed_pretty_print((((T460*)C))->_target/*8*/);
  898. r460print_op(C);
  899. /*IF*/if ((8)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/))) {
  900. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/);
  901. }
  902. else {
  903. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/);
  904. }
  905. /*FI*/}
  906. else {
  907. X662pretty_print((((T460*)C))->_target/*8*/);
  908. r460print_op(C);
  909. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T460*)C))->_arguments/*20*/)))/*)*/);
  910. }
  911. /*FI*/}
  912. void r460print_op(T460* C){
  913. r238put_character(((T238*)(oBC364fmt)),'\40');
  914. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T460*)C))->_feature_name/*24*/));
  915. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  916. }/*]*/
  917. r238put_character(((T238*)(oBC364fmt)),'\40');
  918. }
  919. /*No:CALL_INFIX_INT_DIV.current_type*/
  920. void r460make_call_1(T460* C,T0* a1,T0* a2,T0* a3){
  921. C->_target=a1;
  922. C->_feature_name=a2;
  923. C->_arguments=a3;
  924. }
  925. /*No:CALL_INFIX_INT_DIV.is_manifest_string*/
  926. /*No:CALL_INFIX_INT_DIV.is_void*/
  927. void r460to_runnable_0(T460* C,T0* a1){
  928. C->_current_type=a1;
  929. r460cpc_to_runnable(C,a1);
  930. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T460*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  931. /*IF*/if (((((T460*)C))->_result_type/*16*/)==((void*)(NULL))) {
  932. r683add_position(X496start_position((((T460*)C))->_run_feature/*12*/));
  933. r460error((((T454*)((T454*)((((T460*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  934. }
  935.  else if (X291is_like_current((((T460*)C))->_result_type/*16*/)) {
  936. C->_result_type=X662result_type((((T460*)C))->_target/*8*/);
  937. }
  938. /*FI*/}
  939. void r460cpc_to_runnable(T460* C,T0* a1){
  940. T0* _rc=NULL;
  941. T0* _t=NULL;
  942. _t=X662to_runnable((((T460*)C))->_target/*8*/,a1);
  943. /*IF*/if ((_t)==((void*)(NULL))) {
  944. r683add_position(X662start_position((((T460*)C))->_target/*8*/));
  945. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  946. r683fatal_error(((T683*)(oBC364eh)),b1);
  947. }/*]*/
  948. }
  949. /*FI*/C->_target=_t;
  950. _rc=X291run_class(X662result_type((((T460*)C))->_target/*8*/));
  951. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  952. r576update((((T460*)C))->_target/*8*/,(((T460*)C))->_run_feature/*12*/);
  953. }
  954. void r460error(T0* a1,T0* a2){
  955. r683add_position(a1);
  956. r683error(((T683*)(oBC364eh)),a2);
  957. }
  958. /*No:CALL_INFIX_INT_DIV.fatal_error*/
  959. /*No:CALL_INFIX_INT_DIV.fz_bad_argument*/
  960. /*No:CALL_INFIX_INT_DIV.arg1*/
  961. T0* r180add_comment(T180* C,T0* a1){
  962. T0* R=NULL;
  963. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  964. R=(T0*)C;
  965. }
  966. else {
  967. {T529*n=malloc(sizeof(*n));
  968. *n=M529;
  969. r529make(n,(T0*)C,a1);
  970. R=(T0*)n;
  971. }
  972. }
  973. /*FI*/return R;
  974. }
  975. int r180to_integer(T180* C){
  976. int R=0;
  977. T0* _rf1=NULL;
  978. _rf1=(((T180*)C))->_run_feature/*12*/;
  979. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  980. case 808: 
  981. break;
  982. default:
  983. _rf1=NULL;
  984. };/*IF*/if ((_rf1)==((void*)(NULL))) {
  985. r180error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  986. }
  987. else {
  988. R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*36*/);
  989. }
  990. /*FI*/return R;
  991. }
  992. int r180is_a(T180* C,T0* a1){
  993. int R=0;
  994. R=X291is_a(X291run_type((((T180*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  995. /*IF*/if (!(R)) {
  996. r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/);
  997. r180error(X662start_position(a1),((T0*)ms4_662));
  998. }
  999. /*FI*/return R;
  1000. }
  1001. /*No:CALL_PREFIX_NOT.is_current*/
  1002. void r180make(T180* C,T0* a1,T0* a2){
  1003. {T406*n=malloc(sizeof(*n));
  1004. *n=M406;
  1005. r406make(n,r180operator(),a1);
  1006. C->_feature_name=(T0*)n;
  1007. }
  1008. r180make_call0(C,a2,(((T180*)C))->_feature_name/*20*/);
  1009. }
  1010. void r180print_as_target(T180* C){
  1011. r238put_character(((T238*)(oBC364fmt)),'\50');
  1012. r180pretty_print(C);
  1013. r238put_character(((T238*)(oBC364fmt)),'\51');
  1014. r238put_character(((T238*)(oBC364fmt)),'\56');
  1015. }
  1016. /*No:CALL_PREFIX_NOT.nb_errors*/
  1017. /*No:CALL_PREFIX_NOT.feature_name*/
  1018. /*No:CALL_PREFIX_NOT.fz_iinaiv*/
  1019. /*No:CALL_PREFIX_NOT.run_feature*/
  1020. /*No:CALL_PREFIX_NOT.start_position*/
  1021. /*No:CALL_PREFIX_NOT.target*/
  1022. /*No:CALL_PREFIX_NOT.precedence*/
  1023. T0* r180to_runnable(T180* C,T0* a1){
  1024. T0* R=NULL;
  1025. /*IF*/if (((((T180*)C))->_current_type/*4*/)==((void*)(NULL))) {
  1026. r180to_runnable_0(C,a1);
  1027. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T180*)C))->_run_feature/*12*/))>(0))) {
  1028. r683add_position((((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*/);
  1029. r180error(X496start_position((((T180*)C))->_run_feature/*12*/),((T0*)ms1_752));
  1030. }
  1031. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1032. R=(T0*)C;
  1033. }
  1034. /*FI*/}
  1035. else {
  1036. R=r180twin(C);
  1037. /*[IRF3.3set_current_type*/((((T180*)(((T180*)R))))->_current_type)=(NULL);
  1038. /*]*/
  1039. R=r180to_runnable(((T180*)R),a1);
  1040. }
  1041. /*FI*/return R;
  1042. }
  1043. void r180bracketed_pretty_print(T180* C){
  1044. r238put_character(((T238*)(oBC364fmt)),'\50');
  1045. r180pretty_print(C);
  1046. r238put_character(((T238*)(oBC364fmt)),'\51');
  1047. }
  1048. /*No:CALL_PREFIX_NOT.result_type*/
  1049. T0* r180twin(T180* C){
  1050. T0* R=NULL;
  1051. R=malloc(sizeof(*C));
  1052. *((T180*)R)=*C;
  1053. return R;
  1054. }
  1055. /*No:CALL_PREFIX_NOT.set_current_type*/
  1056. T0* r180operator(void){
  1057. T0* R=NULL;
  1058. R=((T0*)ms40_473);
  1059. return R;
  1060. }
  1061. void r180pretty_print(T180* C){
  1062. /*[IRF3.6pretty_print*/{T406* C1=((T406*)((((T180*)C))->_feature_name/*20*/));
  1063. r238put_string(((T238*)(oBC364fmt)),(((T406*)C1))->_to_string/*4*/);
  1064. }/*]*/
  1065. r238put_character(((T238*)(oBC364fmt)),'\40');
  1066. /*IF*/if ((X662precedence((((T180*)C))->_target/*8*/))<(11)) {
  1067. r238put_character(((T238*)(oBC364fmt)),'\50');
  1068. X662pretty_print((((T180*)C))->_target/*8*/);
  1069. r238put_character(((T238*)(oBC364fmt)),'\51');
  1070. }
  1071. else {
  1072. X662pretty_print((((T180*)C))->_target/*8*/);
  1073. }
  1074. /*FI*/}
  1075. /*No:CALL_PREFIX_NOT.current_type*/
  1076. /*No:CALL_PREFIX_NOT.is_manifest_string*/
  1077. /*No:CALL_PREFIX_NOT.is_void*/
  1078. void r180to_runnable_0(T180* C,T0* a1){
  1079. C->_current_type=a1;
  1080. r180cpc_to_runnable(C,a1);
  1081. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T180*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  1082. /*IF*/if (((((T180*)C))->_result_type/*16*/)==((void*)(NULL))) {
  1083. r683add_position(X496start_position((((T180*)C))->_run_feature/*12*/));
  1084. r180error((((T406*)((T406*)((((T180*)C))->_feature_name/*20*/))))->_start_position/*8*/,((T0*)ms1_295));
  1085. }
  1086.  else if (X291is_like_current((((T180*)C))->_result_type/*16*/)) {
  1087. C->_result_type=X662result_type((((T180*)C))->_target/*8*/);
  1088. }
  1089. /*FI*/}
  1090. void r180cpc_to_runnable(T180* C,T0* a1){
  1091. T0* _rc=NULL;
  1092. T0* _t=NULL;
  1093. _t=X662to_runnable((((T180*)C))->_target/*8*/,a1);
  1094. /*IF*/if ((_t)==((void*)(NULL))) {
  1095. r683add_position(X662start_position((((T180*)C))->_target/*8*/));
  1096. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1097. r683fatal_error(((T683*)(oBC364eh)),b1);
  1098. }/*]*/
  1099. }
  1100. /*FI*/C->_target=_t;
  1101. _rc=X291run_class(X662result_type((((T180*)C))->_target/*8*/));
  1102. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  1103. r576update((((T180*)C))->_target/*8*/,(((T180*)C))->_run_feature/*12*/);
  1104. }
  1105. /*No:CALL_PREFIX_NOT.us_not*/
  1106. void r180make_call0(T180* C,T0* a1,T0* a2){
  1107. C->_target=a1;
  1108. C->_feature_name=a2;
  1109. }
  1110. void r180error(T0* a1,T0* a2){
  1111. r683add_position(a1);
  1112. r683error(((T683*)(oBC364eh)),a2);
  1113. }
  1114. /*No:CALL_PREFIX_NOT.fatal_error*/
  1115. void r158make(T158* C,T0* a1,T0* a2,T0* a3){
  1116. C->_comment=a3;
  1117. C->_tag=a1;
  1118. C->_expression=a2;
  1119. }
  1120. /*No:LOOP_VARIANT_2.nb_errors*/
  1121. /*No:LOOP_VARIANT_2.expression*/
  1122. T0* r158start_position(T158* C){
  1123. T0* R=NULL;
  1124. R=X662start_position((((T158*)C))->_expression/*8*/);
  1125. return R;
  1126. }
  1127. /*No:LOOP_VARIANT_2.comment*/
  1128. T0* r158to_runnable(T158* C,T0* a1){
  1129. T0* R=NULL;
  1130. T0* _e=NULL;
  1131. /*IF*/if (((((T158*)C))->_current_type/*12*/)==((void*)(NULL))) {
  1132. C->_current_type=a1;
  1133. _e=X662to_runnable((((T158*)C))->_expression/*8*/,a1);
  1134. /*IF*/if ((_e)==((void*)(NULL))) {
  1135. r158error(r158start_position(C),((T0*)ms1_856));
  1136. }
  1137. else {
  1138. C->_expression=_e;
  1139. /*IF*/if (!(X291is_integer(X662result_type((((T158*)C))->_expression/*8*/)))) {
  1140. r158error(X662start_position((((T158*)C))->_expression/*8*/),((T0*)ms2_856));
  1141. }
  1142. /*FI*/}
  1143. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1144. R=(T0*)C;
  1145. }
  1146. /*FI*/}
  1147. else {
  1148. R=r158twin(C);
  1149. /*[IRF3.3set_current_type*/((((T158*)(((T158*)R))))->_current_type)=(NULL);
  1150. /*]*/
  1151. R=r158to_runnable(((T158*)R),a1);
  1152. }
  1153. /*FI*/return R;
  1154. }
  1155. T0* r158twin(T158* C){
  1156. T0* R=NULL;
  1157. R=malloc(sizeof(*C));
  1158. *((T158*)R)=*C;
  1159. return R;
  1160. }
  1161. /*No:LOOP_VARIANT_2.set_current_type*/
  1162. /*No:LOOP_VARIANT_2.tag*/
  1163. void r158pretty_print(T158* C){
  1164. /*IF*/if (((((T158*)C))->_comment/*4*/)!=((void*)(NULL))) {
  1165. r393pretty_print(((T393*)((((T158*)C))->_comment/*4*/)));
  1166. }
  1167. else {
  1168. r238indent(((T238*)(oBC364fmt)));
  1169. }
  1170. /*FI*/r238put_string(((T238*)(oBC364fmt)),(((T490*)((T490*)((((T158*)C))->_tag/*16*/))))->_to_string/*0*/);
  1171. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_158));
  1172. X662pretty_print((((T158*)C))->_expression/*8*/);
  1173. }
  1174. /*No:LOOP_VARIANT_2.current_type*/
  1175. void r158error(T0* a1,T0* a2){
  1176. r683add_position(a1);
  1177. r683error(((T683*)(oBC364eh)),a2);
  1178. }
  1179. /*No:DEFERRED_FUNCTION.arguments*/
  1180. T0* r649try_to_undefine(T649* C,T0* a1,T0* a2){
  1181. T0* R=NULL;
  1182. X776undefine_in(a1,a2);
  1183. R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/;
  1184. /*IF*/if ((R)!=((void*)(NULL))) {
  1185. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T649*)C))->_clients/*20*/);
  1186. /*]*/
  1187. }
  1188. else {
  1189. r605fatal_undefine(((T605*)a2),a1);
  1190. }
  1191. /*FI*/return R;
  1192. }
  1193. /*No:DEFERRED_FUNCTION.is_deferred*/
  1194. /*No:DEFERRED_FUNCTION.rescue_compound*/
  1195. void r649add_into(T649* C,T0* a1){
  1196. T0* _fn=NULL;
  1197. int _i=0;
  1198. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  1199. _i=1;
  1200. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1201. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  1202. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  1203. _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)/*)*//*)*/);
  1204. r683add_position(X776start_position(_fn));
  1205. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  1206. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  1207. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  1208. r7append(((T7*)(oBC683explanation)),b1);
  1209. }/*]*/
  1210. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1211. }
  1212. else {
  1213. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  1214. }
  1215. /*FI*/_i=(_i)+(1);
  1216. }
  1217. }
  1218. /*No:DEFERRED_FUNCTION.end_comment*/
  1219. /*No:DEFERRED_FUNCTION.try_to_undefine_aux*/
  1220. void r649make(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
  1221. r649make_routine(C,a1,a2,a4,a5,a6);
  1222. C->_result_type=a3;
  1223. }
  1224. /*No:DEFERRED_FUNCTION.nb_errors*/
  1225. void r649pretty_print_one_name(T0* a1){
  1226. /*IF*/if (X776is_frozen(a1)) {
  1227. r238keyword(((T238*)(oBC364fmt)),((T0*)ms10_359));
  1228. }
  1229. /*FI*/X776definition_pretty_print(a1);
  1230. }
  1231. void r649make_routine(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1232. r649make_e_feature(C,a1,NULL);
  1233. C->_header_comment=a4;
  1234. C->_arguments=a2;
  1235. C->_obsolete_mark=a3;
  1236. C->_require_assertion=a5;
  1237. }
  1238. void r649set_header_comment(T649* C,T0* a1){
  1239. /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) {
  1240. C->_end_comment=a1;
  1241. }
  1242. /*FI*/}
  1243. T0* r649start_position(T649* C){
  1244. T0* R=NULL;
  1245. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  1246. return R;
  1247. }
  1248. T0* r649to_run_feature(T649* C,T0* a1,T0* a2){
  1249. T0* R=NULL;
  1250. r649check_obsolete(C);
  1251. {T904*n=malloc(sizeof(*n));
  1252. *n=M904;
  1253. r904make(n,a1,a2,(T0*)C);
  1254. R=(T0*)n;
  1255. }
  1256. return R;
  1257. }
  1258. /*No:DEFERRED_FUNCTION.ensure_assertion*/
  1259. /*No:DEFERRED_FUNCTION.code_require*/
  1260. /*No:DEFERRED_FUNCTION.result_type*/
  1261. /*No:DEFERRED_FUNCTION.fz_03*/
  1262. /*No:DEFERRED_FUNCTION.em1*/
  1263. void r649pretty_print(T649* C){
  1264. T0* _fn=NULL;
  1265. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(1);
  1266. /*]*/
  1267. r238indent(((T238*)(oBC364fmt)));
  1268. r649pretty_print_profile(C);
  1269. r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_355));
  1270. /*IF*/if (((((T649*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) {
  1271. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1272. /*]*/
  1273. r238indent(((T238*)(oBC364fmt)));
  1274. r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_355));
  1275. r805pretty_print(((T805*)((((T649*)C))->_obsolete_mark/*28*/)));
  1276. }
  1277. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1278. /*]*/
  1279. r238indent(((T238*)(oBC364fmt)));
  1280. /*IF*/if (((((T649*)C))->_header_comment/*16*/)!=((void*)(NULL))) {
  1281. r393pretty_print(((T393*)((((T649*)C))->_header_comment/*16*/)));
  1282. }
  1283. /*FI*//*IF*/if (((((T649*)C))->_require_assertion/*32*/)!=((void*)(NULL))) {
  1284. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1285. /*]*/
  1286. r343pretty_print(((T343*)((((T649*)C))->_require_assertion/*32*/)));
  1287. }
  1288. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1289. /*]*/
  1290. r238indent(((T238*)(oBC364fmt)));
  1291. /*[IRF3.2pretty_print_routine_body*/r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_249));
  1292. /*]*/
  1293. /*IF*/if (((((T649*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  1294. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1295. /*]*/
  1296. r633pretty_print(((T633*)((((T649*)C))->_ensure_assertion/*36*/)));
  1297. }
  1298. /*FI*//*IF*/if (((((T649*)C))->_rescue_compound/*40*/)!=((void*)(NULL))) {
  1299. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1300. /*]*/
  1301. r238indent(((T238*)(oBC364fmt)));
  1302. r238keyword(((T238*)(oBC364fmt)),((T0*)ms3_355));
  1303. r592pretty_print(((T592*)((((T649*)C))->_rescue_compound/*40*/)));
  1304. }
  1305. /*FI*//*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1306. /*]*/
  1307. r238indent(((T238*)(oBC364fmt)));
  1308. r238keyword(((T238*)(oBC364fmt)),((T0*)ms4_355));
  1309. /*IF*/if ((((((T649*)C))->_end_comment/*44*/)!=((void*)(NULL)))&&(!(r393dummy(((T393*)((((T649*)C))->_end_comment/*44*/)))))) {
  1310. r393pretty_print(((T393*)((((T649*)C))->_end_comment/*44*/)));
  1311. }
  1312.  else if (r238print_end_routine(((T238*)(oBC364fmt)))) {
  1313. r238put_string(((T238*)(oBC364fmt)),((T0*)ms5_355));
  1314. _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
  1315. X776definition_pretty_print(_fn);
  1316. }
  1317. /*FI*/r238put_character(((T238*)(oBC364fmt)),'\n');
  1318. }
  1319. /*No:DEFERRED_FUNCTION.obsolete_mark*/
  1320. /*No:DEFERRED_FUNCTION.em2*/
  1321. /*No:DEFERRED_FUNCTION.set_clients*/
  1322. /*No:DEFERRED_FUNCTION.names*/
  1323. /*No:DEFERRED_FUNCTION.require_assertion*/
  1324. void r649from_effective(T649* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
  1325. {T953*n=malloc(sizeof(*n));
  1326. *n=M953;
  1327. r953make(n,se_ma855(1,a1));
  1328. C->_names=(T0*)n;
  1329. }
  1330. r649make(C,(((T649*)C))->_names/*8*/,a2,a3,NULL,NULL,a4);
  1331. /*[IRF3.3set_ensure_assertion*/((((T649*)(C)))->_ensure_assertion)=(a5);
  1332. /*]*/
  1333. C->_base_class=a6;
  1334. }
  1335. void r649set_rescue_compound(T649* C,T0* a1){
  1336. /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.2is_deferred*/(1)/*)*/)) {
  1337. r649error(r649start_position(C),((T0*)ms6_355));
  1338. }
  1339. /*FI*/C->_rescue_compound=a1;
  1340. }
  1341. void r649pretty_print_profile(T649* C){
  1342. r649pretty_print_names(C);
  1343. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(2);
  1344. /*]*/
  1345. r649pretty_print_arguments(C);
  1346. /*[IRF3.3set_indent_level*/((((T238*)(((T238*)(oBC364fmt)))))->_indent_level)=(3);
  1347. /*]*/
  1348. /*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1349. r238put_string(((T238*)(oBC364fmt)),((T0*)ms8_359));
  1350. X291pretty_print((((T649*)C))->_result_type/*12*/);
  1351. }
  1352. /*FI*/}
  1353. void r649pretty_print_names(T649* C){
  1354. int _i=0;
  1355. _i=1;
  1356. r649pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1357. _i=(_i)+(1);
  1358. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  1359. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_359));
  1360. r649pretty_print_one_name(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T649*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/);
  1361. _i=(_i)+(1);
  1362. }
  1363. }
  1364. int r649can_hide(T649* C,T0* a1,T0* a2){
  1365. int R=0;
  1366. /*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1367. /*IF*/if ((((((T649*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1368. r683add_position(X359start_position(a1));
  1369. r649error(r649start_position(C),((T0*)ms5_359));
  1370. }
  1371. /*FI*/}
  1372. /*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) {
  1373. /*IF*/if ((((((T649*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  1374. r683add_position(X359start_position(a1));
  1375. r649error(r649start_position(C),((T0*)ms6_359));
  1376. }
  1377.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T649*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  1378. r683add_position(X359start_position(a1));
  1379. r649error(r649start_position(C),((T0*)ms7_359));
  1380. }
  1381. /*FI*/}
  1382. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1383. /*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1384. /*IF*/if (!(X291is_a_in((((T649*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1385. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1386. r7append(((T7*)(oBC683explanation)),b1);
  1387. }/*]*/
  1388. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  1389. r7append(((T7*)(oBC683explanation)),b1);
  1390. }/*]*/
  1391. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1392. }
  1393. /*FI*/}
  1394. /*FI*/}
  1395. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1396. /*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(NULL))) {
  1397. /*IF*/if (!(r31is_a_in(((T31*)((((T649*)C))->_arguments/*24*/)),X359arguments(a1),a2))) {
  1398. r683add_position(X359start_position(a1));
  1399. r683add_position(r649start_position(C));
  1400. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  1401. r7append(((T7*)(oBC683explanation)),b1);
  1402. }/*]*/
  1403. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  1404. r7append(((T7*)(oBC683explanation)),b1);
  1405. }/*]*/
  1406. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  1407. }
  1408. /*FI*/}
  1409. /*FI*/}
  1410. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1411. return R;
  1412. }
  1413. /*No:DEFERRED_FUNCTION.header_comment*/
  1414. int r649is_merge_with(T649* C,T0* a1,T0* a2){
  1415. int R=0;
  1416. /*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  1417. /*IF*/if ((((((T649*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  1418. r683add_position(X359start_position(a1));
  1419. r649error(r649start_position(C),((T0*)ms2_359));
  1420. }
  1421. /*FI*/}
  1422. /*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) {
  1423. /*IF*/if ((((((T649*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) {
  1424. r683add_position(X359start_position(a1));
  1425. r649error(r649start_position(C),((T0*)ms3_359));
  1426. }
  1427.  else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T649*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  1428. r683add_position(X359start_position(a1));
  1429. r649error(r649start_position(C),((T0*)ms4_359));
  1430. }
  1431. /*FI*/}
  1432. /*FI*//*IF*/if (((((T649*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  1433. /*IF*/if (!(X291is_a_in((((T649*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  1434. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  1435. }
  1436. /*FI*/}
  1437. /*FI*//*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(NULL))) {
  1438. /*IF*/if (!(r31is_a_in(((T31*)((((T649*)C))->_arguments/*24*/)),X359arguments(a1),a2))) {
  1439. r683add_position(X359start_position(a1));
  1440. r649error(r649start_position(C),((T0*)ms12_359));
  1441. }
  1442. /*FI*/}
  1443. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  1444. return R;
  1445. }
  1446. /*No:DEFERRED_FUNCTION.fz_dot*/
  1447. /*No:DEFERRED_FUNCTION.set_ensure_assertion*/
  1448. /*No:DEFERRED_FUNCTION.first_name*/
  1449. /*No:DEFERRED_FUNCTION.clients*/
  1450. void r649collect_for(T649* C,int a1){
  1451. /*IF*/if ((a1)==(1001)) {
  1452. /*IF*/if (((((T649*)C))->_require_assertion/*32*/)!=((void*)(NULL))) {
  1453. /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T649*)C))->_require_assertion/*32*/))) {
  1454. r522add_last(((T522*)(oBC359require_collector)),(((T649*)C))->_require_assertion/*32*/);
  1455. }
  1456. /*FI*/}
  1457. /*FI*/}
  1458. else {
  1459. /*IF*/if (((((T649*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
  1460. /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T649*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/);
  1461. /*]*/
  1462. r633add_into(((T633*)((((T649*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector);
  1463. }
  1464. /*FI*/}
  1465. /*FI*/}
  1466. void r649error(T0* a1,T0* a2){
  1467. r683add_position(a1);
  1468. r683error(((T683*)(oBC364eh)),a2);
  1469. }
  1470. /*No:DEFERRED_FUNCTION.base_class*/
  1471. void r649pretty_print_arguments(T649* C){
  1472. /*IF*/if (((((T649*)C))->_arguments/*24*/)!=((void*)(NULL))) {
  1473. r31pretty_print(((T31*)((((T649*)C))->_arguments/*24*/)));
  1474. }
  1475. /*FI*/}
  1476. /*No:DEFERRED_FUNCTION.pretty_print_routine_body*/
  1477. void r649make_e_feature(T649* C,T0* a1,T0* a2){
  1478. C->_names=a1;
  1479. C->_result_type=a2;
  1480. }
  1481. void r649check_obsolete(T649* C){
  1482. /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
  1483. /*IF*/if (((((T649*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) {
  1484. /*[IRF3.6append*/{T0* b1=((T0*)ms7_355);
  1485. r7append(((T7*)(oBC683explanation)),b1);
  1486. }/*]*/
  1487. /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T649*)C))->_obsolete_mark/*28*/))))->_to_string/*12*/;
  1488. r7append(((T7*)(oBC683explanation)),b1);
  1489. }/*]*/
  1490. r649warning(r649start_position(C),((T0*)ms137_470));
  1491. }
  1492. /*FI*/}
  1493. /*FI*/}
  1494. void r649warning(T0* a1,T0* a2){
  1495. r683add_position(a1);
  1496. r683warning(((T683*)(oBC364eh)),a2);
  1497. }
  1498.  
  1499.