home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / pretty21.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  30.1 KB  |  1,045 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. int r393dummy(T393* C){
  10. int R=0;
  11. T0* _str=NULL;
  12. /*IF*/if ((r52count(((T52*)((((T393*)C))->_list/*4*/))))==(1)) {
  13. _str=r52first(((T52*)((((T393*)C))->_list/*4*/)));
  14. R=((((T7*)((T7*)_str)))->_count/*4*/)<(10);
  15. }
  16. /*FI*/return R;
  17. }
  18. void r393good_end(T393* C,T0* a1){
  19. /*IF*/if (!(r7has_string(((T7*)(r52item(((T52*)((((T393*)C))->_list/*4*/)),1))),(((T451*)((T451*)a1)))->_to_string/*0*/))) {
  20. r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/);
  21. r393warning((((T393*)C))->_start_position/*0*/,((T0*)ms10_393));
  22. }
  23. /*FI*/}
  24. void r393make(T393* C,T0* a1,T0* a2){
  25. C->_start_position=a1;
  26. C->_list=a2;
  27. }
  28. /*No:COMMENT.start_position*/
  29. void r393pretty_print(T393* C){
  30. int _column=0;
  31. int _i=0;
  32. /*IF*/if (r6_px_and(((((T238*)((T238*)(oBC364fmt))))->_column/*8*/)>(1),((((T238*)((T238*)(oBC364fmt))))->_last_character/*20*/)!=('\40'))) {
  33. r238put_character(((T238*)(oBC364fmt)),'\40');
  34. }
  35. /*FI*/_column=(((T238*)((T238*)(oBC364fmt))))->_column/*8*/;
  36. _i=(((T52*)((T52*)((((T393*)C))->_list/*4*/))))->_lower/*12*/;
  37. while (!((_i)>((((T52*)((T52*)((((T393*)C))->_list/*4*/))))->_upper/*8*/))) {
  38. r238put_string(((T238*)(oBC364fmt)),((T0*)ms9_393));
  39. r238put_string(((T238*)(oBC364fmt)),r52item(((T52*)((((T393*)C))->_list/*4*/)),_i));
  40. _i=(_i)+(1);
  41. /*IF*/if ((_i)<=((((T52*)((T52*)((((T393*)C))->_list/*4*/))))->_upper/*8*/)) {
  42. r238put_character(((T238*)(oBC364fmt)),'\n');
  43. while (!(((((T238*)((T238*)(oBC364fmt))))->_column/*8*/)==(_column))) {
  44. r238put_character(((T238*)(oBC364fmt)),'\40');
  45. }
  46. }
  47. /*FI*/}
  48. r238put_character(((T238*)(oBC364fmt)),'\n');
  49. r238indent(((T238*)(oBC364fmt)));
  50. }
  51. /*No:COMMENT.list*/
  52. /*No:COMMENT.count*/
  53. /*No:COMMENT.add_last*/
  54. void r393append(T393* C,T0* a1){
  55. int _i=0;
  56. _i=1;
  57. while (!((_i)>((((T52*)((T52*)((((T393*)((T393*)a1)))->_list/*4*/))))->_upper/*8*/))) {
  58. /*[IRF3.5add_last*/r52add_last(((T52*)((((T393*)C))->_list/*4*/)),r52item(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)),_i));
  59. /*]*/
  60. _i=(_i)+(1);
  61. }
  62. }
  63. void r393warning(T0* a1,T0* a2){
  64. r683add_position(a1);
  65. r683warning(((T683*)(oBC364eh)),a2);
  66. }
  67. void r723make(T723* C,T0* a1,T0* a2){
  68. C->_name=a1;
  69. /*X361*//*[IRF3.3set_result_type*/((((T886*)(((T886*)((((T723*)C))->_name/*4*/)))))->_result_type)=(a2);
  70. /*]*/
  71. }
  72. /*No:DECLARATION_1.name*/
  73. void r723append_in(T723* C,T0* a1){
  74. X535add_last(a1,(((T723*)C))->_name/*4*/);
  75. }
  76. void r723pretty_print(T723* C){
  77. X361pretty_print((((T723*)C))->_name/*4*/);
  78. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_723));
  79. X291pretty_print(/*X361*/((T0*)(((T886*)((T886*)((((T723*)C))->_name/*4*/))))->_result_type/*20*/));
  80. }
  81. /*No:DECLARATION_1.count*/
  82. /*No:INDEX_LIST.make*/
  83. /*No:INDEX_LIST.fz_00*/
  84. void r688pretty_print(T688* C){
  85. int _i=0;
  86. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_688));
  87. r238level_incr(((T238*)(oBC364fmt)));
  88. r238indent(((T238*)(oBC364fmt)));
  89. _i=1;
  90. while (!((_i)>((((T848*)((T848*)((((T688*)C))->_list/*0*/))))->_upper/*8*/))) {
  91. r782pretty_print(((T782*)(r848item(((T848*)((((T688*)C))->_list/*0*/)),_i))));
  92. _i=(_i)+(1);
  93. /*IF*/if ((_i)<=((((T848*)((T848*)((((T688*)C))->_list/*0*/))))->_upper/*8*/)) {
  94. r238put_string(((T238*)(oBC364fmt)),((T0*)ms134_470));
  95. }
  96. /*FI*/}
  97. r238put_character(((T238*)(oBC364fmt)),'\73');
  98. r238level_decr(((T238*)(oBC364fmt)));
  99. r238indent(((T238*)(oBC364fmt)));
  100. }
  101. /*No:INDEX_LIST.list*/
  102. void r31make(T31* C,T0* a1,T0* a2){
  103. T0* _an2=NULL;
  104. int _rank=0;
  105. int _i=0;
  106. T0* _tla2=NULL;
  107. T0* _tla=NULL;
  108. T0* _tlf=NULL;
  109. T0* _an=NULL;
  110. r31standard_make(C,a1,a2);
  111. _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/;
  112. while (!((_i)==(0))) {
  113. _an=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i);
  114. _tlf=(((T873*)((T873*)_an)))->_result_type/*20*/;
  115. if(NULL!=(_tlf))switch(((T0*)_tlf)->id) {
  116. case 648: 
  117. break;
  118. default:
  119. _tlf=NULL;
  120. };/*IF*/if ((_tlf)!=((void*)(NULL))) {
  121. _rank=r31rank_of(C,X776to_string((((T648*)((T648*)_tlf)))->_like_what/*12*/));
  122. /*IF*/if ((_rank)==(_i)) {
  123. r683add_position((((T648*)((T648*)_tlf)))->_start_position/*4*/);
  124. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
  125. r683fatal_error(((T683*)(oBC364eh)),b1);
  126. }/*]*/
  127. }
  128.  else if ((_rank)>(0)) {
  129. {T886*n=malloc(sizeof(*n));
  130. *n=M886;
  131. r886refer_to(n,X776start_position((((T648*)((T648*)_tlf)))->_like_what/*12*/),(T0*)C,_rank);
  132. _an2=(T0*)n;
  133. }
  134. {T239*n=malloc(sizeof(*n));
  135. *n=M239;
  136. r239make(n,(((T648*)((T648*)_tlf)))->_start_position/*4*/,_an2);
  137. _tla=(T0*)n;
  138. }
  139. /*[IRF3.3set_result_type*/((((T873*)(((T873*)_an))))->_result_type)=(_tla);
  140. /*]*/
  141. }
  142. /*FI*/}
  143. /*FI*/_i=(_i)-(1);
  144. }
  145. /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
  146. _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/;
  147. while (!((_i)==(0))) {
  148. _tla=(((T873*)((T873*)(r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i)))))->_result_type/*20*/;
  149. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  150. case 239: 
  151. break;
  152. default:
  153. _tla=NULL;
  154. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  155. _rank=r31rank_of(C,(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_to_string/*8*/);
  156. _tla2=(((T873*)((T873*)(r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_rank)))))->_result_type/*20*/;
  157. if(NULL!=(_tla2))switch(((T0*)_tla2)->id) {
  158. case 239: 
  159. break;
  160. default:
  161. _tla2=NULL;
  162. };/*IF*/if ((_tla2)!=((void*)(NULL))) {
  163. r683add_position((((T239*)((T239*)_tla)))->_start_position/*4*/);
  164. r683add_position((((T239*)((T239*)_tla2)))->_start_position/*4*/);
  165. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
  166. r683fatal_error(((T683*)(oBC364eh)),b1);
  167. }/*]*/
  168. }
  169. /*FI*/}
  170. /*FI*/_i=(_i)-(1);
  171. }
  172. }
  173. /*FI*/}
  174. /*No:FORMAL_ARG_LIST.name*/
  175. /*No:FORMAL_ARG_LIST.nb_errors*/
  176. T0* r31type(T31* C,int a1){
  177. T0* R=NULL;
  178. R=(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),a1)/*)*/))))->_result_type/*20*/;
  179. return R;
  180. }
  181. void r31standard_make(T31* C,T0* a1,T0* a2){
  182. int _actual_count=0;
  183. int _il=0;
  184. C->_start_position=a1;
  185. C->_list=a2;
  186. _il=1;
  187. while (!((_il)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) {
  188. _actual_count=(_actual_count)+(X411count(r382item(((T382*)((((T31*)C))->_list/*8*/)),_il)));
  189. _il=(_il)+(1);
  190. }
  191. {T65*n=malloc(sizeof(*n));
  192. *n=M65;
  193. r65make(n,1,_actual_count);
  194. C->_flat_list=(T0*)n;
  195. }
  196. _il=1;
  197. while (!((_il)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) {
  198. X411append_in(r382item(((T382*)((((T31*)C))->_list/*8*/)),_il),(T0*)C);
  199. _il=(_il)+(1);
  200. }
  201. }
  202. /*No:FORMAL_ARG_LIST.start_position*/
  203. T0* r31to_runnable(T31* C,T0* a1){
  204. T0* R=NULL;
  205. T0* _n2=NULL;
  206. T0* _n1=NULL;
  207. int _i=0;
  208. /*IF*/if (((((T31*)C))->_current_type/*16*/)==((void*)(NULL))) {
  209. C->_current_type=a1;
  210. R=(T0*)C;
  211. _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/;
  212. while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  213. _n1=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i);
  214. _n2=r873to_runnable(((T873*)_n1),a1);
  215. /*IF*/if ((_n2)==((void*)(NULL))) {
  216. r31error((((T873*)((T873*)_n1)))->_start_position/*12*/,((T0*)ms3_535));
  217. }
  218.  else if ((_n1)!=((void*)(_n2))) {
  219. /*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/));
  220. T0* b1=_n2;
  221. int b2=_i;
  222. ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1);
  223. }/*]*/
  224. }
  225. /*FI*/r873name_clash(((T873*)_n2));
  226. _i=(_i)-(1);
  227. }
  228. }
  229. else {
  230. {T31*n=malloc(sizeof(*n));
  231. *n=M31;
  232. r31runnable_from_current(n,(T0*)C,a1);
  233. R=(T0*)n;
  234. }
  235. }
  236. /*FI*/return R;
  237. }
  238. /*No:FORMAL_ARG_LIST.em1*/
  239. void r31pretty_print(T31* C){
  240. int _i=0;
  241. r238put_character(((T238*)(oBC364fmt)),'\50');
  242. r238level_incr(((T238*)(oBC364fmt)));
  243. _i=1;
  244. while (!((_i)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) {
  245. X411pretty_print(r382item(((T382*)((((T31*)C))->_list/*8*/)),_i));
  246. _i=(_i)+(1);
  247. /*IF*/if ((_i)<=((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/)) {
  248. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_31));
  249. }
  250. /*FI*/}
  251. r238level_decr(((T238*)(oBC364fmt)));
  252. r238put_character(((T238*)(oBC364fmt)),'\51');
  253. }
  254. /*No:FORMAL_ARG_LIST.list*/
  255. int r31rank_of(T31* C,T0* a1){
  256. int R=0;
  257. R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/;
  258. while (!(((R)==(0))||((a1)==((void*)((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),R)/*)*/))))->_to_string/*8*/))))) {
  259. R=(R)-(1);
  260. }
  261. return R;
  262. }
  263. /*No:FORMAL_ARG_LIST.current_type*/
  264. int r31is_a_in(T31* C,T0* a1,T0* a2){
  265. int R=0;
  266. T0* _t2=NULL;
  267. T0* _t1=NULL;
  268. int _i=0;
  269. /*IF*/if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)a1)))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
  270. r683add_position((((T31*)((T31*)a1)))->_start_position/*4*/);
  271. r31error((((T31*)C))->_start_position/*4*/,((T0*)ms8_31));
  272. }
  273. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  274. R=1;
  275. _i=1;
  276. while (!((!(R))||((_i)>((((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/)))) {
  277. _t1=r31type(C,_i);
  278. _t2=r31type(((T31*)a1),_i);
  279. /*IF*/if (!(X291is_a_in(_t1,_t2,a2))) {
  280. R=0;
  281. r683print_as_error(((T683*)(oBC364eh)));
  282. r683add_position(X291start_position(_t1));
  283. r683add_position(X291start_position(_t2));
  284. /*[IRF3.6append*/{T0* b1=((T0*)ms9_31);
  285. r7append(((T7*)(oBC683explanation)),b1);
  286. }/*]*/
  287. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  288. r7append(((T7*)(oBC683explanation)),b1);
  289. }/*]*/
  290. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  291. }
  292. /*FI*/_i=(_i)+(1);
  293. }
  294. }
  295. /*FI*/return R;
  296. }
  297. /*No:FORMAL_ARG_LIST.fz_cad*/
  298. /*No:FORMAL_ARG_LIST.fz_dot*/
  299. void r31runnable_from_current(T31* C,T0* a1,T0* a2){
  300. T0* _n2=NULL;
  301. T0* _n1=NULL;
  302. int _i=0;
  303. C->_start_position=(((T31*)((T31*)a1)))->_start_position/*4*/;
  304. C->_list=(((T31*)((T31*)a1)))->_list/*8*/;
  305. C->_current_type=a2;
  306. C->_flat_list=r65twin(((T65*)((((T31*)((T31*)a1)))->_flat_list/*12*/)));
  307. _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/;
  308. while (!((_i)==(0))) {
  309. _n1=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i);
  310. _n2=r873to_runnable(((T873*)_n1),a2);
  311. /*IF*/if ((_n2)==((void*)(NULL))) {
  312. r31error((((T873*)((T873*)_n1)))->_start_position/*12*/,((T0*)ms3_535));
  313. }
  314. /*FI*//*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/));
  315. T0* b1=_n2;
  316. int b2=_i;
  317. ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1);
  318. }/*]*/
  319. _i=(_i)-(1);
  320. }
  321. }
  322. void r31error(T0* a1,T0* a2){
  323. r683add_position(a1);
  324. r683error(((T683*)(oBC364eh)),a2);
  325. }
  326. void r31add_last(T31* C,T0* a1){
  327. T0* _n2=NULL;
  328. int _i=0;
  329. _i=1;
  330. while (!((r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i))==((void*)(NULL)))) {
  331. _n2=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i);
  332. /*IF*/if (((((T873*)((T873*)_n2)))->_to_string/*8*/)==((void*)((((T873*)((T873*)a1)))->_to_string/*8*/))) {
  333. r683add_position((((T873*)((T873*)a1)))->_start_position/*12*/);
  334. r683add_position((((T873*)((T873*)_n2)))->_start_position/*12*/);
  335. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_535);
  336. r683fatal_error(((T683*)(oBC364eh)),b1);
  337. }/*]*/
  338. }
  339. /*FI*/_i=(_i)+(1);
  340. }
  341. /*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/));
  342. T0* b1=a1;
  343. int b2=_i;
  344. ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1);
  345. }/*]*/
  346. /*[IRF3.3set_rank*/((((T873*)(((T873*)a1))))->_rank)=(_i);
  347. /*]*/
  348. }
  349. /*No:FORMAL_ARG_LIST.count*/
  350. /*No:FORMAL_ARG_LIST.fatal_error*/
  351. /*No:FORMAL_ARG_LIST.flat_list*/
  352. int r33gives_permission_to_any(T33* C){
  353. int R=0;
  354. int _i=0;
  355. _i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/;
  356. while (!((R)||((_i)==(0)))) {
  357. R=((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)))))->_to_string/*0*/)==((void*)(((T0*)ms1_473)));
  358. _i=(_i)-(1);
  359. }
  360. return R;
  361. }
  362. void r33merge(T33* C,T0* a1,T0* a2){
  363. T0* _a=NULL;
  364. T0* _cn=NULL;
  365. int _i=0;
  366. C->_list=r901twin(((T901*)((((T33*)((T33*)a1)))->_list/*0*/)));
  367. _a=(((T33*)((T33*)a2)))->_list/*0*/;
  368. _i=(((T901*)((T901*)_a)))->_upper/*8*/;
  369. while (!((_i)==(0))) {
  370. _cn=r901item(((T901*)_a),_i);
  371. /*IF*/if (!(r33gives_permission_to(C,_cn))) {
  372. r901add_last(((T901*)((((T33*)C))->_list/*0*/)),_cn);
  373. }
  374. /*FI*/_i=(_i)-(1);
  375. }
  376. }
  377. void r33make(T33* C,T0* a1){
  378. int _i2=0;
  379. int _i=0;
  380. C->_list=a1;
  381. _i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/;
  382. while (!((_i)==(0))) {
  383. _i2=r33index_of(C,r901item(((T901*)((((T33*)C))->_list/*0*/)),_i));
  384. /*IF*/if ((_i2)!=(_i)) {
  385. r683add_position((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i2)))))->_start_position/*4*/);
  386. r33warning((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)))))->_start_position/*4*/,((T0*)ms1_33));
  387. }
  388. /*FI*/_i=(_i)-(1);
  389. }
  390. }
  391. int r33gives_permission_to(T33* C,T0* a1){
  392. int R=0;
  393. int _i=0;
  394. /*IF*/if ((r33index_of(C,a1))>(0)) {
  395. R=1;
  396. }
  397. else {
  398. _i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/;
  399. while (!((R)||((_i)==(0)))) {
  400. R=r451is_subclass_of(((T451*)a1),r901item(((T901*)((((T33*)C))->_list/*0*/)),_i));
  401. _i=(_i)-(1);
  402. }
  403. }
  404. /*FI*/return R;
  405. }
  406. void r33pretty_print(T33* C){
  407. int _i=0;
  408. _i=1;
  409. while (!((_i)>((((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/))) {
  410. /*[IRF3.6pretty_print*/{T451* C1=((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)));
  411. r238put_string(((T238*)(oBC364fmt)),(((T451*)C1))->_to_string/*0*/);
  412. }/*]*/
  413. _i=(_i)+(1);
  414. /*IF*/if ((_i)<=((((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/)) {
  415. r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_33));
  416. }
  417. /*FI*/}
  418. }
  419. /*No:CLASS_NAME_LIST.list*/
  420. int r33index_of(T33* C,T0* a1){
  421. int R=0;
  422. T0* _to_string=NULL;
  423. _to_string=(((T451*)((T451*)a1)))->_to_string/*0*/;
  424. R=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/;
  425. while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),R)))))->_to_string/*0*/))))) {
  426. R=(R)-(1);
  427. }
  428. return R;
  429. }
  430. /*No:CLASS_NAME_LIST.us_any*/
  431. void r33warning(T0* a1,T0* a2){
  432. r683add_position(a1);
  433. r683warning(((T683*)(oBC364eh)),a2);
  434. }
  435. /*No:TYPE_BIT_REF.has_creation*/
  436. /*No:TYPE_BIT_REF.is_anchored*/
  437. /*No:TYPE_BIT_REF.is_array*/
  438. int r963is_a(T963* C,T0* a1){
  439. int R=0;
  440. /*IF*/if (((((T963*)C))->_run_time_mark/*12*/)==((void*)(X291run_time_mark(a1)))) {
  441. R=1;
  442. }
  443. else {
  444. R=r605is_subclass_of(((T605*)(r963base_class(C))),X291base_class(a1));
  445. /*IF*/if (!(R)) {
  446. r683add_type((T0*)C,((T0*)ms71_470));
  447. r683add_type(a1,((T0*)ms67_470));
  448. }
  449. /*FI*/}
  450. /*FI*/return R;
  451. }
  452. /*No:TYPE_BIT_REF.is_pointer*/
  453. /*No:TYPE_BIT_REF.run_type*/
  454. /*No:TYPE_BIT_REF.is_string*/
  455. /*No:TYPE_BIT_REF.is_like_feature*/
  456. /*No:TYPE_BIT_REF.is_like_current*/
  457. void r963make(T963* C,T0* a1){
  458. C->_type_bit=a1;
  459. C->_run_time_mark=((T0*)ms1_963);
  460. r2append_in(X609nb((((T963*)C))->_type_bit/*4*/),(((T963*)C))->_run_time_mark/*12*/);
  461. r7append(((T7*)((((T963*)C))->_run_time_mark/*12*/)),((T0*)ms2_963));
  462. C->_run_time_mark=r902item((((T963*)C))->_run_time_mark/*12*/);
  463. C->_written_mark=(((T963*)C))->_run_time_mark/*12*/;
  464. }
  465. T0* r963type_any(void){
  466. if (fBC364type_any==0){
  467. T0* R=NULL;
  468. fBC364type_any=1;
  469. {T669*n=malloc(sizeof(*n));
  470. *n=M669;
  471. r669make(n,NULL);
  472. R=(T0*)n;
  473. }
  474. oBC364type_any=R;}
  475. return oBC364type_any;}
  476. /*No:TYPE_BIT_REF.start_position*/
  477. /*No:TYPE_BIT_REF.fz_inako*/
  478. /*No:TYPE_BIT_REF.is_character*/
  479. /*No:TYPE_BIT_REF.written_mark*/
  480. /*No:TYPE_BIT_REF.is_run_type*/
  481. /*No:TYPE_BIT_REF.to_runnable*/
  482. T0* r963generic_list(T963* C){
  483. T0* R=NULL;
  484. r963fatal_error_generic_list(C);
  485. return R;
  486. }
  487. /*No:TYPE_BIT_REF.is_formal_generic*/
  488. /*No:TYPE_BIT_REF.is_real*/
  489. /*No:TYPE_BIT_REF.is_bit*/
  490. void r963fatal_error_generic_list(T963* C){
  491. r683add_type((T0*)C,((T0*)ms12_291));
  492. r683print_as_fatal_error(((T683*)(oBC364eh)));
  493. }
  494. /*No:TYPE_BIT_REF.pretty_print*/
  495. T0* r963smallest_ancestor(T963* C,T0* a1){
  496. T0* R=NULL;
  497. /*IF*/if (((((T963*)C))->_run_time_mark/*12*/)==((void*)(X291run_time_mark(a1)))) {
  498. R=(T0*)C;
  499. }
  500. else {
  501. R=r963type_any();
  502. }
  503. /*FI*/return R;
  504. }
  505. /*No:TYPE_BIT_REF.is_boolean*/
  506. /*No:TYPE_BIT_REF.is_double*/
  507. T0* r963run_class(T963* C){
  508. T0* R=NULL;
  509. R=r604run_class(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  510. return R;
  511. }
  512. /*No:TYPE_BIT_REF.run_time_mark*/
  513. int r963is_a_in(T963* C,T0* a1,T0* a2){
  514. int R=0;
  515. T0* _ct=NULL;
  516. T0* _t2=NULL;
  517. T0* _t1=NULL;
  518. /*IF*/if (((((T963*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
  519. R=1;
  520. }
  521. else {
  522. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  523. _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
  524. _t2=X291to_runnable(a1,_ct);
  525. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  526. R=1;
  527. }
  528. else {
  529. R=X291is_a(_t1,_t2);
  530. }
  531. /*FI*/}
  532. /*FI*/return R;
  533. }
  534. T0* r963look_up_for(T963* C,T0* a1,T0* a2){
  535. T0* R=NULL;
  536. R=r605look_up_for(((T605*)(r963base_class(C))),a1,a2);
  537. return R;
  538. }
  539. /*No:TYPE_BIT_REF.expanded_initializer*/
  540. /*No:TYPE_BIT_REF.fz_dot*/
  541. /*No:TYPE_BIT_REF.is_generic*/
  542. /*No:TYPE_BIT_REF.used_as_reference*/
  543. /*No:TYPE_BIT_REF.us_bit_n_ref*/
  544. /*No:TYPE_BIT_REF.type_bit*/
  545. /*No:TYPE_BIT_REF.is_reference*/
  546. T0* r963base_class(T963* C){
  547. T0* R=NULL;
  548. T0* _bcn=NULL;
  549. _bcn=r963base_class_name();
  550. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  551. R=r451base_class(((T451*)_bcn));
  552. }
  553. else {
  554. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  555. r7append(((T7*)(oBC683explanation)),b1);
  556. }/*]*/
  557. r683add_type((T0*)C,((T0*)ms67_470));
  558. r683print_as_fatal_error(((T683*)(oBC364eh)));
  559. }
  560. /*FI*/return R;
  561. }
  562. /*No:TYPE_BIT_REF.is_any*/
  563. int fBC963base_class_name=0;
  564. T0*oBC963base_class_name=NULL;
  565. T0* r963base_class_name(void){
  566. if (fBC963base_class_name==0){
  567. T0* R=NULL;
  568. fBC963base_class_name=1;
  569. {T451*n=malloc(sizeof(*n));
  570. *n=M451;
  571. r451make(n,((T0*)ms5_473),NULL);
  572. R=(T0*)n;
  573. }
  574. oBC963base_class_name=R;}
  575. return oBC963base_class_name;}
  576. /*No:TYPE_BIT_REF.is_expanded*/
  577. /*No:TYPE_BIT_REF.is_basic_eiffel_expanded*/
  578. /*No:TYPE_BIT_REF.is_none*/
  579. /*No:TYPE_BIT_REF.is_integer*/
  580. int r707has_creation(T707* C,T0* a1){
  581. int R=0;
  582. r683add_position(X776start_position(a1));
  583. r707error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T707*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
  584. return R;
  585. }
  586. /*No:TYPE_BOOLEAN.is_anchored*/
  587. /*No:TYPE_BOOLEAN.is_array*/
  588. int r707is_a(T707* C,T0* a1){
  589. int R=0;
  590. /*IF*/if (X291is_boolean(a1)) {
  591. R=1;
  592. }
  593. else {
  594. R=r605is_subclass_of(((T605*)(r707base_class(C))),X291base_class(a1));
  595. /*IF*/if (R) {
  596. r707used_as_reference();
  597. }
  598. /*FI*/}
  599. /*FI*//*IF*/if (!(R)) {
  600. r683add_type((T0*)C,((T0*)ms71_470));
  601. r683add_type(a1,((T0*)ms67_470));
  602. }
  603. /*FI*/return R;
  604. }
  605. /*No:TYPE_BOOLEAN.run_type*/
  606. /*No:TYPE_BOOLEAN.is_pointer*/
  607. /*No:TYPE_BOOLEAN.is_string*/
  608. /*No:TYPE_BOOLEAN.is_like_feature*/
  609. /*No:TYPE_BOOLEAN.is_like_current*/
  610. void r707make(T707* C,T0* a1){
  611. {T451*n=malloc(sizeof(*n));
  612. *n=M451;
  613. r451make(n,((T0*)ms6_473),a1);
  614. C->_base_class_name=(T0*)n;
  615. }
  616. }
  617. /*No:TYPE_BOOLEAN.us_item*/
  618. void r707load_ref(T0* a1){
  619. T0* _rf=NULL;
  620. T0* _rc=NULL;
  621. T0* _cn=NULL;
  622. {T451*n=malloc(sizeof(*n));
  623. *n=M451;
  624. r451make(n,a1,NULL);
  625. _cn=(T0*)n;
  626. }
  627. _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
  628. r368set_at_run_time(((T368*)_rc));
  629. _rf=r368get_feature_with(((T368*)_rc),((T0*)ms86_473));
  630. }
  631. /*No:TYPE_BOOLEAN.nb_errors*/
  632. int fBC707check_type=0;
  633. void r707check_type(T707* C){
  634. if (fBC707check_type==0){
  635. T0* _rc=NULL;
  636. T0* _bc=NULL;
  637. fBC707check_type=1;
  638. _bc=r707base_class(C);
  639. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  640. _rc=r707run_class(C);
  641. }
  642. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  643. /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
  644. r707error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T707*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_707));
  645. }
  646. /*FI*/}
  647. /*FI*/}}
  648. /*No:TYPE_BOOLEAN.start_position*/
  649. /*No:TYPE_BOOLEAN.fz_inako*/
  650. /*No:TYPE_BOOLEAN.is_character*/
  651. T0* r707written_mark(void){
  652. T0* R=NULL;
  653. R=((T0*)ms6_473);
  654. return R;
  655. }
  656. T0* r707to_runnable(T707* C,T0* a1){
  657. T0* R=NULL;
  658. R=(T0*)C;
  659. r707check_type(C);
  660. return R;
  661. }
  662. /*No:TYPE_BOOLEAN.is_run_type*/
  663. /*No:TYPE_BOOLEAN.is_formal_generic*/
  664. T0* r707generic_list(T707* C){
  665. T0* R=NULL;
  666. r707fatal_error_generic_list(C);
  667. return R;
  668. }
  669. /*No:TYPE_BOOLEAN.is_real*/
  670. /*No:TYPE_BOOLEAN.is_bit*/
  671. int fBC364type_boolean_ref=0;
  672. T0*oBC364type_boolean_ref=NULL;
  673. T0* r707type_boolean_ref(void){
  674. if (fBC364type_boolean_ref==0){
  675. T0* R=NULL;
  676. T0* _boolean_ref=NULL;
  677. fBC364type_boolean_ref=1;
  678. {T451*n=malloc(sizeof(*n));
  679. *n=M451;
  680. r451make(n,((T0*)ms7_473),NULL);
  681. _boolean_ref=(T0*)n;
  682. }
  683. {T657*n=malloc(sizeof(*n));
  684. *n=M657;
  685. /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_boolean_ref);
  686. /*]*/
  687. R=(T0*)n;
  688. }
  689. oBC364type_boolean_ref=R;}
  690. return oBC364type_boolean_ref;}
  691. void r707fatal_error_generic_list(T707* C){
  692. r683add_type((T0*)C,((T0*)ms12_291));
  693. r683print_as_fatal_error(((T683*)(oBC364eh)));
  694. }
  695. /*No:TYPE_BOOLEAN.pretty_print*/
  696. T0* r707smallest_ancestor(T707* C,T0* a1){
  697. T0* R=NULL;
  698. T0* _rto=NULL;
  699. _rto=X291run_type(a1);
  700. /*IF*/if (X291is_boolean(_rto)) {
  701. R=(T0*)C;
  702. }
  703. else {
  704. R=r657smallest_ancestor(((T657*)(r707type_boolean_ref())),_rto);
  705. }
  706. /*FI*/return R;
  707. }
  708. /*No:TYPE_BOOLEAN.is_boolean*/
  709. /*No:TYPE_BOOLEAN.is_double*/
  710. T0* r707run_class(T707* C){
  711. T0* R=NULL;
  712. R=r604run_class((T0*)C);
  713. return R;
  714. }
  715. T0* r707run_time_mark(void){
  716. T0* R=NULL;
  717. R=((T0*)ms6_473);
  718. return R;
  719. }
  720. int r707is_a_in(T707* C,T0* a1,T0* a2){
  721. int R=0;
  722. T0* _ct=NULL;
  723. T0* _t2=NULL;
  724. T0* _t1=NULL;
  725. /*IF*/if ((r707written_mark())==((void*)(X291written_mark(a1)))) {
  726. R=1;
  727. }
  728. else {
  729. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  730. _t1=r707to_runnable(C,_ct);
  731. _t2=X291to_runnable(a1,_ct);
  732. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  733. R=1;
  734. }
  735. else {
  736. R=X291is_a(_t1,_t2);
  737. }
  738. /*FI*/}
  739. /*FI*/return R;
  740. }
  741. T0* r707look_up_for(T707* C,T0* a1,T0* a2){
  742. T0* R=NULL;
  743. R=r605look_up_for(((T605*)(r707base_class(C))),a1,a2);
  744. return R;
  745. }
  746. /*No:TYPE_BOOLEAN.us_boolean*/
  747. /*No:TYPE_BOOLEAN.expanded_initializer*/
  748. /*No:TYPE_BOOLEAN.fz_dot*/
  749. /*No:TYPE_BOOLEAN.is_generic*/
  750. int fBC707used_as_reference=0;
  751. void r707used_as_reference(void){
  752. if (fBC707used_as_reference==0){
  753. fBC707used_as_reference=1;
  754. r707load_ref(((T0*)ms7_473));
  755. }}
  756. /*No:TYPE_BOOLEAN.is_reference*/
  757. void r707error(T0* a1,T0* a2){
  758. r683add_position(a1);
  759. r683error(((T683*)(oBC364eh)),a2);
  760. }
  761. T0* r707base_class(T707* C){
  762. T0* R=NULL;
  763. T0* _bcn=NULL;
  764. _bcn=(((T707*)C))->_base_class_name/*4*/;
  765. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  766. R=r451base_class(((T451*)_bcn));
  767. }
  768. else {
  769. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  770. r7append(((T7*)(oBC683explanation)),b1);
  771. }/*]*/
  772. r683add_type((T0*)C,((T0*)ms67_470));
  773. r683print_as_fatal_error(((T683*)(oBC364eh)));
  774. }
  775. /*FI*/return R;
  776. }
  777. /*No:TYPE_BOOLEAN.is_any*/
  778. /*No:TYPE_BOOLEAN.us_boolean_ref*/
  779. /*No:TYPE_BOOLEAN.base_class_name*/
  780. /*No:TYPE_BOOLEAN.is_expanded*/
  781. /*No:TYPE_BOOLEAN.is_basic_eiffel_expanded*/
  782. /*No:TYPE_BOOLEAN.is_none*/
  783. /*No:TYPE_BOOLEAN.is_integer*/
  784. /*No:COUNTER.value*/
  785. void r417increment(T417* C){
  786. C->_value=((((T417*)C))->_value/*0*/)+(1);
  787. }
  788. /*No:IFTHENLIST.make*/
  789. /*No:IFTHENLIST.nb_errors*/
  790. T0* r712to_runnable(T712* C,T0* a1){
  791. T0* R=NULL;
  792. int _i=0;
  793. /*IF*/if (((((T712*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  794. {T712*n=malloc(sizeof(*n));
  795. *n=M712;
  796. /*[IRF3.3make*/((((T712*)(n)))->_list)=(r948twin(((T948*)((((T712*)C))->_list/*0*/))));
  797. /*]*/
  798. R=(T0*)n;
  799. }
  800. R=r712to_runnable(((T712*)R),a1);
  801. }
  802. else {
  803. C->_run_compound=a1;
  804. _i=1;
  805. while (!(((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  806. /*[IRF3.6put*/{T948* C1=((T948*)((((T712*)C))->_list/*0*/));
  807. T0* b1=r809to_runnable(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))),a1);
  808. int b2=_i;
  809. ((((T948*)C1))->_storage/*0*/)[(b2)-((((T948*)C1))->_lower/*12*/)]=(b1);
  810. }/*]*/
  811. _i=(_i)+(1);
  812. }
  813. R=(T0*)C;
  814. }
  815. /*FI*/return R;
  816. }
  817. void r712pretty_print(T712* C){
  818. int _i=0;
  819. _i=1;
  820. while (!((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/))) {
  821. r809pretty_print(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))));
  822. _i=(_i)+(1);
  823. /*IF*/if ((_i)<=((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/)) {
  824. r238indent(((T238*)(oBC364fmt)));
  825. r238keyword(((T238*)(oBC364fmt)),((T0*)ms1_712));
  826. }
  827. /*FI*/}
  828. }
  829. /*No:IFTHENLIST.list*/
  830. /*No:IFTHENLIST.run_compound*/
  831. /*No:IFTHENLIST.add_last*/
  832. /*No:CALL_INFIX_XOR.arguments*/
  833. T0* r760add_comment(T760* C,T0* a1){
  834. T0* R=NULL;
  835. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  836. R=(T0*)C;
  837. }
  838. else {
  839. {T529*n=malloc(sizeof(*n));
  840. *n=M529;
  841. r529make(n,(T0*)C,a1);
  842. R=(T0*)n;
  843. }
  844. }
  845. /*FI*/return R;
  846. }
  847. int r760to_integer(T760* C){
  848. int R=0;
  849. r760error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T760*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  850. return R;
  851. }
  852. int r760is_a(T760* C,T0* a1){
  853. int R=0;
  854. R=X291is_a(X291run_type((((T760*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  855. /*IF*/if (!(R)) {
  856. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T760*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  857. r760error(X662start_position(a1),((T0*)ms4_662));
  858. }
  859. /*FI*/return R;
  860. }
  861. /*No:CALL_INFIX_XOR.is_current*/
  862. void r760make(T760* C,T0* a1,T0* a2,T0* a3){
  863. T0* _eal=NULL;
  864. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  865. r683add_position(a2);
  866. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  867. r683fatal_error(((T683*)(oBC364eh)),b1);
  868. }/*]*/
  869. }
  870. /*FI*/{T454*n=malloc(sizeof(*n));
  871. *n=M454;
  872. r454make(n,r760operator(),a2);
  873. C->_feature_name=(T0*)n;
  874. }
  875. {T431*n=malloc(sizeof(*n));
  876. *n=M431;
  877. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  878. /*]*/
  879. _eal=(T0*)n;
  880. }
  881. r760make_call_1(C,a1,(((T760*)C))->_feature_name/*24*/,_eal);
  882. }
  883. void r760print_as_target(T760* C){
  884. r238put_character(((T238*)(oBC364fmt)),'\50');
  885. r760pretty_print(C);
  886. r238put_character(((T238*)(oBC364fmt)),'\51');
  887. r238put_character(((T238*)(oBC364fmt)),'\56');
  888. }
  889. /*No:CALL_INFIX_XOR.nb_errors*/
  890. /*No:CALL_INFIX_XOR.feature_name*/
  891. /*No:CALL_INFIX_XOR.fz_iinaiv*/
  892. /*No:CALL_INFIX_XOR.run_feature*/
  893. /*No:CALL_INFIX_XOR.start_position*/
  894. /*No:CALL_INFIX_XOR.target*/
  895. /*No:CALL_INFIX_XOR.precedence*/
  896. T0* r760to_runnable(T760* C,T0* a1){
  897. T0* R=NULL;
  898. T0* _tla=NULL;
  899. T0* _a=NULL;
  900. /*IF*/if (((((T760*)C))->_current_type/*4*/)==((void*)(NULL))) {
  901. r760to_runnable_0(C,a1);
  902. _a=r431to_runnable(((T431*)((((T760*)C))->_arguments/*20*/)),a1);
  903. /*IF*/if ((_a)==((void*)(NULL))) {
  904. r760error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  905. }
  906. else {
  907. C->_arguments=_a;
  908. }
  909. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  910. r431match_with(((T431*)((((T760*)C))->_arguments/*20*/)),(((T760*)C))->_run_feature/*12*/);
  911. }
  912. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  913. _tla=(((T760*)C))->_result_type/*16*/;
  914. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  915. case 239: 
  916. break;
  917. default:
  918. _tla=NULL;
  919. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  920. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/));
  921. }
  922. /*FI*/}
  923. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  924. R=(T0*)C;
  925. }
  926. /*FI*/}
  927. else {
  928. R=r760twin(C);
  929. /*[IRF3.3set_current_type*/((((T760*)(((T760*)R))))->_current_type)=(NULL);
  930. /*]*/
  931. R=r760to_runnable(((T760*)R),a1);
  932. }
  933. /*FI*/return R;
  934. }
  935. void r760bracketed_pretty_print(T760* C){
  936. r238put_character(((T238*)(oBC364fmt)),'\50');
  937. r760pretty_print(C);
  938. r238put_character(((T238*)(oBC364fmt)),'\51');
  939. }
  940. /*No:CALL_INFIX_XOR.result_type*/
  941. T0* r760twin(T760* C){
  942. T0* R=NULL;
  943. R=malloc(sizeof(*C));
  944. *((T760*)R)=*C;
  945. return R;
  946. }
  947. /*No:CALL_INFIX_XOR.set_current_type*/
  948. T0* r760operator(void){
  949. T0* R=NULL;
  950. R=((T0*)ms50_473);
  951. return R;
  952. }
  953. /*No:CALL_INFIX_XOR.atomic_precedence*/
  954. void r760pretty_print(T760* C){
  955. /*IF*/if ((X662precedence((((T760*)C))->_target/*8*/))==(13)) {
  956. X662pretty_print((((T760*)C))->_target/*8*/);
  957. r760print_op(C);
  958. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  959. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/);
  960. }
  961.  else if ((4)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/))) {
  962. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/);
  963. }
  964. else {
  965. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/);
  966. }
  967. /*FI*/}
  968.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  969. /*IF*/if ((X662precedence((((T760*)C))->_target/*8*/))>=(4)) {
  970. X662bracketed_pretty_print((((T760*)C))->_target/*8*/);
  971. }
  972. else {
  973. X662pretty_print((((T760*)C))->_target/*8*/);
  974. }
  975. /*FI*/r760print_op(C);
  976. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/);
  977. }
  978.  else if ((4)<=(X662precedence((((T760*)C))->_target/*8*/))) {
  979. X662bracketed_pretty_print((((T760*)C))->_target/*8*/);
  980. r760print_op(C);
  981. /*IF*/if ((4)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/))) {
  982. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/);
  983. }
  984. else {
  985. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/);
  986. }
  987. /*FI*/}
  988. else {
  989. X662pretty_print((((T760*)C))->_target/*8*/);
  990. r760print_op(C);
  991. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T760*)C))->_arguments/*20*/)))/*)*/);
  992. }
  993. /*FI*/}
  994. void r760print_op(T760* C){
  995. r238put_character(((T238*)(oBC364fmt)),'\40');
  996. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T760*)C))->_feature_name/*24*/));
  997. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  998. }/*]*/
  999. r238put_character(((T238*)(oBC364fmt)),'\40');
  1000. }
  1001. /*No:CALL_INFIX_XOR.current_type*/
  1002. void r760make_call_1(T760* C,T0* a1,T0* a2,T0* a3){
  1003. C->_target=a1;
  1004. C->_feature_name=a2;
  1005. C->_arguments=a3;
  1006. }
  1007. /*No:CALL_INFIX_XOR.is_manifest_string*/
  1008. /*No:CALL_INFIX_XOR.is_void*/
  1009. /*No:CALL_INFIX_XOR.us_xor*/
  1010. void r760to_runnable_0(T760* C,T0* a1){
  1011. C->_current_type=a1;
  1012. r760cpc_to_runnable(C,a1);
  1013. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T760*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  1014. /*IF*/if (((((T760*)C))->_result_type/*16*/)==((void*)(NULL))) {
  1015. r683add_position(X496start_position((((T760*)C))->_run_feature/*12*/));
  1016. r760error((((T454*)((T454*)((((T760*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  1017. }
  1018.  else if (X291is_like_current((((T760*)C))->_result_type/*16*/)) {
  1019. C->_result_type=X662result_type((((T760*)C))->_target/*8*/);
  1020. }
  1021. /*FI*/}
  1022. void r760cpc_to_runnable(T760* C,T0* a1){
  1023. T0* _rc=NULL;
  1024. T0* _t=NULL;
  1025. _t=X662to_runnable((((T760*)C))->_target/*8*/,a1);
  1026. /*IF*/if ((_t)==((void*)(NULL))) {
  1027. r683add_position(X662start_position((((T760*)C))->_target/*8*/));
  1028. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1029. r683fatal_error(((T683*)(oBC364eh)),b1);
  1030. }/*]*/
  1031. }
  1032. /*FI*/C->_target=_t;
  1033. _rc=X291run_class(X662result_type((((T760*)C))->_target/*8*/));
  1034. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  1035. r576update((((T760*)C))->_target/*8*/,(((T760*)C))->_run_feature/*12*/);
  1036. }
  1037. void r760error(T0* a1,T0* a2){
  1038. r683add_position(a1);
  1039. r683error(((T683*)(oBC364eh)),a2);
  1040. }
  1041. /*No:CALL_INFIX_XOR.fatal_error*/
  1042. /*No:CALL_INFIX_XOR.fz_bad_argument*/
  1043. /*No:CALL_INFIX_XOR.arg1*/
  1044.  
  1045.