home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / pretty24.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  51.0 KB  |  1,792 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "pretty.h"
  9. /*No:TMP_FEATURE.arguments*/
  10. T0* r505n(void){
  11. T0* R=NULL;
  12. {T953*n=malloc(sizeof(*n));
  13. *n=M953;
  14. r953make(n,r855twin(((T855*)(oBC505names))));
  15. R=(T0*)n;
  16. }
  17. return R;
  18. }
  19. T0* r505to_cst_att_integer(T505* C,T0* a1){
  20. T0* R=NULL;
  21. /*IF*/if (((((T505*)C))->_type/*4*/)!=((void*)(NULL))) {
  22. /*IF*/if (X291is_integer((((T505*)C))->_type/*4*/)) {
  23. {T689*n=malloc(sizeof(*n));
  24. *n=M689;
  25. r689make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
  26. R=(T0*)n;
  27. }
  28. }
  29.  else if (X291is_real((((T505*)C))->_type/*4*/)) {
  30. {T835*n=malloc(sizeof(*n));
  31. *n=M835;
  32. r835make(n,r505n(),(((T505*)C))->_type/*4*/,r342to_real_constant(((T342*)a1)));
  33. R=(T0*)n;
  34. }
  35. }
  36.  else if (X291is_double((((T505*)C))->_type/*4*/)) {
  37. {T118*n=malloc(sizeof(*n));
  38. *n=M118;
  39. r118make(n,r505n(),(((T505*)C))->_type/*4*/,r342to_real_constant(((T342*)a1)));
  40. R=(T0*)n;
  41. }
  42. }
  43. else {
  44. r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms6_505));
  45. }
  46. /*FI*/}
  47. else {
  48. r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms7_505));
  49. }
  50. /*FI*/return R;
  51. }
  52. /*No:TMP_FEATURE.add_synonym*/
  53. /*No:TMP_FEATURE.set_type*/
  54. T0* r505to_writable_attribute(T505* C){
  55. T0* R=NULL;
  56. /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
  57. r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms1_505));
  58. }
  59.  else if (((((T505*)C))->_arguments/*0*/)!=((void*)(NULL))) {
  60. r505error(r818current_position(((T818*)(oBC364eiffel_parser))),((T0*)ms2_505));
  61. }
  62. /*FI*/{T106*n=malloc(sizeof(*n));
  63. *n=M106;
  64. r106make(n,r505n(),(((T505*)C))->_type/*4*/);
  65. R=(T0*)n;
  66. }
  67. return R;
  68. }
  69. T0* r505to_cst_att_boolean(T505* C,T0* a1){
  70. T0* R=NULL;
  71. /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_boolean((((T505*)C))->_type/*4*/))) {
  72. {T580*n=malloc(sizeof(*n));
  73. *n=M580;
  74. r580make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
  75. R=(T0*)n;
  76. }
  77. }
  78. else {
  79. r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms3_505));
  80. }
  81. /*FI*/return R;
  82. }
  83. /*No:TMP_FEATURE.type*/
  84. /*No:TMP_FEATURE.local_vars*/
  85. /*No:TMP_FEATURE.set_header_comment*/
  86. void r505set_require(T505* C,T0* a1,T0* a2,T0* a3){
  87. /*IF*/if (((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))) {
  88. {T343*n=malloc(sizeof(*n));
  89. *n=M343;
  90. r343make(n,a1,a2,a3);
  91. C->_require_assertion=(T0*)n;
  92. }
  93. }
  94. /*FI*/}
  95. /*No:TMP_FEATURE.set_local_vars*/
  96. T0* r505to_deferred_routine(T505* C){
  97. T0* R=NULL;
  98. /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
  99. {T853*n=malloc(sizeof(*n));
  100. *n=M853;
  101. /*[IRF3.6make*/{T853* C1=n;
  102. T0* b1=r505n();
  103. T0* b2=(((T505*)C))->_arguments/*0*/;
  104. T0* b3=(((T505*)C))->_obsolete_mark/*12*/;
  105. T0* b4=(((T505*)C))->_header_comment/*8*/;
  106. T0* b5=(((T505*)C))->_require_assertion/*16*/;
  107. r853make_routine(C1,b1,b2,b3,b4,b5);
  108. }/*]*/
  109. R=(T0*)n;
  110. }
  111. }
  112. else {
  113. {T649*n=malloc(sizeof(*n));
  114. *n=M649;
  115. r649make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/);
  116. R=(T0*)n;
  117. }
  118. }
  119. /*FI*/return R;
  120. }
  121. T0* r505to_procedure_or_function(T505* C){
  122. T0* R=NULL;
  123. /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
  124. {T297*n=malloc(sizeof(*n));
  125. *n=M297;
  126. r297make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/);
  127. R=(T0*)n;
  128. }
  129. }
  130. else {
  131. {T696*n=malloc(sizeof(*n));
  132. *n=M696;
  133. r696make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/);
  134. R=(T0*)n;
  135. }
  136. }
  137. /*FI*/return R;
  138. }
  139. /*No:TMP_FEATURE.obsolete_mark*/
  140. /*No:TMP_FEATURE.require_assertion*/
  141. T0*oBC505names=NULL;
  142. T0* r505to_cst_att_real(T505* C,T0* a1){
  143. T0* R=NULL;
  144. /*IF*/if (((((T505*)C))->_type/*4*/)!=((void*)(NULL))) {
  145. /*IF*/if (X291is_real((((T505*)C))->_type/*4*/)) {
  146. {T835*n=malloc(sizeof(*n));
  147. *n=M835;
  148. r835make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
  149. R=(T0*)n;
  150. }
  151. }
  152.  else if (X291is_double((((T505*)C))->_type/*4*/)) {
  153. {T118*n=malloc(sizeof(*n));
  154. *n=M118;
  155. r118make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
  156. R=(T0*)n;
  157. }
  158. }
  159. else {
  160. r683add_position((((T936*)((T936*)a1)))->_start_position/*8*/);
  161. r683add_position(X776start_position(r855first(((T855*)(oBC505names)))));
  162. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_505);
  163. r683fatal_error(((T683*)(oBC364eh)),b1);
  164. }/*]*/
  165. }
  166. /*FI*/}
  167. else {
  168. r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms9_505));
  169. }
  170. /*FI*/return R;
  171. }
  172. /*No:TMP_FEATURE.set_arguments*/
  173. T0* r505to_cst_att_string(T505* C,T0* a1){
  174. T0* R=NULL;
  175. /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_string((((T505*)C))->_type/*4*/))) {
  176. {T380*n=malloc(sizeof(*n));
  177. *n=M380;
  178. r380make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
  179. R=(T0*)n;
  180. }
  181. }
  182. else {
  183. r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms10_505));
  184. }
  185. /*FI*/return R;
  186. }
  187. /*No:TMP_FEATURE.header_comment*/
  188. /*No:TMP_FEATURE.set_routine_body*/
  189. /*No:TMP_FEATURE.routine_body*/
  190. T0* r505to_external_routine(T505* C,T0* a1,T0* a2){
  191. T0* R=NULL;
  192. /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
  193. {T883*n=malloc(sizeof(*n));
  194. *n=M883;
  195. r883make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,a1,a2);
  196. R=(T0*)n;
  197. }
  198. }
  199. else {
  200. {T679*n=malloc(sizeof(*n));
  201. *n=M679;
  202. r679make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,a1,a2);
  203. R=(T0*)n;
  204. }
  205. }
  206. /*FI*/return R;
  207. }
  208. T0* r505to_cst_att_unique(T505* C){
  209. T0* R=NULL;
  210. T0* _sp=NULL;
  211. /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
  212. _sp=X776start_position(r855first(((T855*)(oBC505names))));
  213. r505error(_sp,((T0*)ms11_505));
  214. }
  215. /*FI*//*IF*/if (!(X291is_integer((((T505*)C))->_type/*4*/))) {
  216. r505error(X291start_position((((T505*)C))->_type/*4*/),((T0*)ms12_505));
  217. }
  218. /*FI*/{T398*n=malloc(sizeof(*n));
  219. *n=M398;
  220. r398make(n,r505n(),(((T505*)C))->_type/*4*/);
  221. R=(T0*)n;
  222. }
  223. return R;
  224. }
  225. T0* r505to_cst_att_character(T505* C,T0* a1){
  226. T0* R=NULL;
  227. /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_character((((T505*)C))->_type/*4*/))) {
  228. {T554*n=malloc(sizeof(*n));
  229. *n=M554;
  230. r554make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
  231. R=(T0*)n;
  232. }
  233. }
  234. else {
  235. r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms5_505));
  236. }
  237. /*FI*/return R;
  238. }
  239. void r505error(T0* a1,T0* a2){
  240. r683add_position(a1);
  241. r683error(((T683*)(oBC364eh)),a2);
  242. }
  243. /*No:TMP_FEATURE.fatal_error*/
  244. void r505set_require_else(T505* C,T0* a1,T0* a2,T0* a3){
  245. /*IF*/if (((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))) {
  246. {T343*n=malloc(sizeof(*n));
  247. *n=M343;
  248. r343make(n,a1,a2,a3);
  249. C->_require_assertion=(T0*)n;
  250. }
  251. /*[IRF3.3set_require_else*/((((T343*)(((T343*)((((T505*)C))->_require_assertion/*16*/)))))->_is_require_else)=(1);
  252. /*]*/
  253. }
  254. /*FI*/}
  255. void r505initialize(T505* C){
  256. r855clear(((T855*)(oBC505names)));
  257. C->_arguments=NULL;
  258. C->_type=NULL;
  259. C->_header_comment=NULL;
  260. C->_obsolete_mark=NULL;
  261. C->_require_assertion=NULL;
  262. C->_local_vars=NULL;
  263. C->_routine_body=NULL;
  264. }
  265. /*No:TMP_FEATURE.set_obsolete_mark*/
  266. T0* r505to_cst_att_bit(T505* C,T0* a1){
  267. T0* R=NULL;
  268. /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_bit((((T505*)C))->_type/*4*/))) {
  269. {T588*n=malloc(sizeof(*n));
  270. *n=M588;
  271. r588make(n,r505n(),(((T505*)C))->_type/*4*/,a1);
  272. R=(T0*)n;
  273. }
  274. }
  275. else {
  276. r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms4_505));
  277. }
  278. /*FI*/return R;
  279. }
  280. T0* r505to_once_routine(T505* C){
  281. T0* R=NULL;
  282. /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) {
  283. {T134*n=malloc(sizeof(*n));
  284. *n=M134;
  285. r134make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/);
  286. R=(T0*)n;
  287. }
  288. }
  289. else {
  290. {T844*n=malloc(sizeof(*n));
  291. *n=M844;
  292. r844make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/);
  293. R=(T0*)n;
  294. }
  295. }
  296. /*FI*/return R;
  297. }
  298. void r544connect_to(T544* C,T0* a1){
  299. C->_output_stream=fopen(r7to_external(((T7*)a1)),"w");
  300. /*IF*/if ((NULL!=(((T544*)C))->_output_stream/*4*/)) {
  301. C->_path=a1;
  302. }
  303. /*FI*/}
  304. /*No:STD_FILE_WRITE.make*/
  305. void r544disconnect(T544* C){
  306. fclose((((T544*)C))->_output_stream/*4*/);
  307. C->_path=NULL;
  308. }
  309. /*No:STD_FILE_WRITE.path*/
  310. /*No:STD_FILE_WRITE.output_stream*/
  311. /*No:STD_FILE_WRITE.is_connected*/
  312. /*No:STD_FILE_WRITE.put_character*/
  313. /*No:RENAME_PAIR.new_name*/
  314. void r498make(T498* C,T0* a1,T0* a2){
  315. /*IF*/if ((X776to_string(a1))==((void*)(X776to_string(a2)))) {
  316. r683add_position(X776start_position(a1));
  317. r683add_position(X776start_position(a2));
  318. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_498);
  319. r683fatal_error(((T683*)(oBC364eh)),b1);
  320. }/*]*/
  321. }
  322. /*FI*/C->_old_name=a1;
  323. C->_new_name=a2;
  324. }
  325. void r498pretty_print(T498* C){
  326. X776definition_pretty_print((((T498*)C))->_old_name/*0*/);
  327. r238keyword(((T238*)(oBC364fmt)),((T0*)ms2_498));
  328. X776definition_pretty_print((((T498*)C))->_new_name/*4*/);
  329. }
  330. /*No:RENAME_PAIR.fatal_error*/
  331. /*No:RENAME_PAIR.old_name*/
  332. T0*oBC523tmp_written_mark=NULL;
  333. int r523has_creation(T523* C,T0* a1){
  334. int R=0;
  335. R=r605has_creation(((T605*)(r523base_class(C))),a1);
  336. return R;
  337. }
  338. /*No:TYPE_EXPANDED.is_anchored*/
  339. /*No:TYPE_EXPANDED.is_array*/
  340. int r523is_a(T523* C,T0* a1){
  341. int R=0;
  342. R=((((T523*)C))->_run_time_mark/*16*/)==((void*)(X291run_time_mark(a1)));
  343. /*IF*/if (!(R)) {
  344. r683add_type((T0*)C,((T0*)ms71_470));
  345. r683add_type(a1,((T0*)ms67_470));
  346. }
  347. /*FI*/return R;
  348. }
  349. int r523is_pointer(T523* C){
  350. int R=0;
  351. R=X291is_pointer((((T523*)C))->_mapped/*12*/);
  352. return R;
  353. }
  354. /*No:TYPE_EXPANDED.run_type*/
  355. /*No:TYPE_EXPANDED.is_string*/
  356. /*No:TYPE_EXPANDED.is_like_feature*/
  357. T0* r523compute_mark(T0* a1){
  358. T0* R=NULL;
  359. r7copy(((T7*)(oBC523tmp_written_mark)),((T0*)ms14_470));
  360. r7extend(((T7*)(oBC523tmp_written_mark)),'\40');
  361. r7append(((T7*)(oBC523tmp_written_mark)),a1);
  362. R=r902item(oBC523tmp_written_mark);
  363. return R;
  364. }
  365. /*No:TYPE_EXPANDED.is_like_current*/
  366. void r523make(T523* C,T0* a1,T0* a2){
  367. C->_start_position=a1;
  368. C->_mapped=a2;
  369. C->_written_mark=r523compute_mark(X291written_mark((((T523*)C))->_mapped/*12*/));
  370. }
  371. /*No:TYPE_EXPANDED.start_position*/
  372. /*No:TYPE_EXPANDED.fz_inako*/
  373. int r523is_character(T523* C){
  374. int R=0;
  375. R=X291is_character((((T523*)C))->_mapped/*12*/);
  376. return R;
  377. }
  378. /*No:TYPE_EXPANDED.written_mark*/
  379. T0* r523to_runnable(T523* C,T0* a1){
  380. T0* R=NULL;
  381. T0* _m=NULL;
  382. /*IF*/if (((((T523*)C))->_run_type/*20*/)==((void*)(C))) {
  383. R=(T0*)C;
  384. }
  385.  else if (((((T523*)C))->_run_type/*20*/)==((void*)((((T523*)C))->_mapped/*12*/))) {
  386. R=(T0*)C;
  387. }
  388. else {
  389. _m=X291to_runnable((((T523*)C))->_mapped/*12*/,a1);
  390. /*IF*/if ((_m)==((void*)(NULL))) {
  391. r683add_position((((T523*)C))->_start_position/*4*/);
  392. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_523);
  393. r683fatal_error(((T683*)(oBC364eh)),b1);
  394. }/*]*/
  395. }
  396. /*FI*//*IF*/if (((((T523*)C))->_run_type/*20*/)!=((void*)(NULL))) {
  397. {T523*n=malloc(sizeof(*n));
  398. *n=M523;
  399. r523from_other(n,(T0*)C,X291run_type(_m));
  400. R=(T0*)n;
  401. }
  402. }
  403.  else if (X291is_expanded(_m)) {
  404. C->_run_type=_m;
  405. C->_run_time_mark=X291run_time_mark(_m);
  406. R=(T0*)C;
  407. }
  408.  else if (((((T523*)C))->_mapped/*12*/)==((void*)(X291run_type(_m)))) {
  409. C->_run_time_mark=r523compute_mark(X291run_time_mark(_m));
  410. C->_run_type=(T0*)C;
  411. R=(T0*)C;
  412. }
  413. else {
  414. C->_run_time_mark=r523compute_mark(X291run_time_mark(_m));
  415. {T523*n=malloc(sizeof(*n));
  416. *n=M523;
  417. r523from_other(n,(T0*)C,X291run_type(_m));
  418. C->_run_type=(T0*)n;
  419. }
  420. R=(T0*)C;
  421. }
  422. /*FI*/r368set_at_run_time(((T368*)(X291run_class((((T523*)((T523*)R)))->_run_type/*20*/))));
  423. }
  424. /*FI*/return R;
  425. }
  426. /*No:TYPE_EXPANDED.is_run_type*/
  427. /*No:TYPE_EXPANDED.is_formal_generic*/
  428. T0* r523generic_list(T523* C){
  429. T0* R=NULL;
  430. R=X291generic_list((((T523*)C))->_mapped/*12*/);
  431. return R;
  432. }
  433. int r523is_real(T523* C){
  434. int R=0;
  435. R=X291is_real((((T523*)C))->_mapped/*12*/);
  436. return R;
  437. }
  438. int r523is_bit(T523* C){
  439. int R=0;
  440. R=X291is_bit((((T523*)C))->_mapped/*12*/);
  441. return R;
  442. }
  443. /*No:TYPE_EXPANDED.pretty_print*/
  444. T0* r523smallest_ancestor(T523* C,T0* a1){
  445. T0* R=NULL;
  446. /*IF*/if (((((T523*)C))->_run_time_mark/*16*/)==((void*)(X291run_time_mark(a1)))) {
  447. R=(((T523*)C))->_run_type/*20*/;
  448. }
  449. else {
  450. R=X291run_type(X291smallest_ancestor((((T523*)C))->_mapped/*12*/,a1));
  451. }
  452. /*FI*/return R;
  453. }
  454. int r523is_boolean(T523* C){
  455. int R=0;
  456. R=X291is_boolean((((T523*)C))->_mapped/*12*/);
  457. return R;
  458. }
  459. int r523is_double(T523* C){
  460. int R=0;
  461. R=X291is_double((((T523*)C))->_mapped/*12*/);
  462. return R;
  463. }
  464. T0* r523run_class(T523* C){
  465. T0* R=NULL;
  466. R=r604run_class((((T523*)C))->_run_type/*20*/);
  467. return R;
  468. }
  469. /*No:TYPE_EXPANDED.run_time_mark*/
  470. /*No:TYPE_EXPANDED.mapped*/
  471. int r523is_a_in(T523* C,T0* a1,T0* a2){
  472. int R=0;
  473. T0* _ct=NULL;
  474. T0* _t2=NULL;
  475. T0* _t1=NULL;
  476. /*IF*/if (((((T523*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
  477. R=1;
  478. }
  479. else {
  480. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  481. _t1=r523to_runnable(C,_ct);
  482. _t2=X291to_runnable(a1,_ct);
  483. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  484. R=1;
  485. }
  486. else {
  487. R=X291is_a(_t1,_t2);
  488. }
  489. /*FI*/}
  490. /*FI*/return R;
  491. }
  492. T0* r523look_up_for(T523* C,T0* a1,T0* a2){
  493. T0* R=NULL;
  494. R=r605look_up_for(((T605*)(r523base_class(C))),a1,a2);
  495. return R;
  496. }
  497. T0* r523expanded_initializer(T523* C){
  498. T0* R=NULL;
  499. R=r605expanded_initializer(((T605*)(r523base_class(C))),(T0*)C);
  500. return R;
  501. }
  502. /*No:TYPE_EXPANDED.fz_dot*/
  503. int r523is_generic(T523* C){
  504. int R=0;
  505. R=X291is_generic((((T523*)C))->_mapped/*12*/);
  506. return R;
  507. }
  508. /*No:TYPE_EXPANDED.used_as_reference*/
  509. /*No:TYPE_EXPANDED.is_reference*/
  510. T0* r523base_class(T523* C){
  511. T0* R=NULL;
  512. T0* _bcn=NULL;
  513. _bcn=r523base_class_name(C);
  514. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  515. R=r451base_class(((T451*)_bcn));
  516. }
  517. else {
  518. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  519. r7append(((T7*)(oBC683explanation)),b1);
  520. }/*]*/
  521. r683add_type((T0*)C,((T0*)ms67_470));
  522. r683print_as_fatal_error(((T683*)(oBC364eh)));
  523. }
  524. /*FI*/return R;
  525. }
  526. void r523from_other(T523* C,T0* a1,T0* a2){
  527. C->_start_position=(((T523*)((T523*)a1)))->_start_position/*4*/;
  528. C->_written_mark=(((T523*)((T523*)a1)))->_written_mark/*8*/;
  529. C->_mapped=a2;
  530. /*IF*/if (X291is_expanded((((T523*)C))->_mapped/*12*/)) {
  531. C->_run_time_mark=X291run_time_mark((((T523*)C))->_mapped/*12*/);
  532. C->_run_type=(((T523*)C))->_mapped/*12*/;
  533. }
  534. else {
  535. C->_run_time_mark=r523compute_mark(X291run_time_mark((((T523*)C))->_mapped/*12*/));
  536. C->_run_type=(T0*)C;
  537. }
  538. /*FI*/}
  539. /*No:TYPE_EXPANDED.fatal_error*/
  540. /*No:TYPE_EXPANDED.is_any*/
  541. T0* r523base_class_name(T523* C){
  542. T0* R=NULL;
  543. R=X291base_class_name((((T523*)C))->_mapped/*12*/);
  544. return R;
  545. }
  546. /*No:TYPE_EXPANDED.is_expanded*/
  547. /*No:TYPE_EXPANDED.fz_expanded*/
  548. int r523is_basic_eiffel_expanded(T523* C){
  549. int R=0;
  550. /*IF*/if (((((T523*)C))->_run_type/*20*/)==((void*)((((T523*)C))->_mapped/*12*/))) {
  551. R=X291is_basic_eiffel_expanded((((T523*)C))->_mapped/*12*/);
  552. }
  553. /*FI*/return R;
  554. }
  555. /*No:TYPE_EXPANDED.is_none*/
  556. int r523is_integer(T523* C){
  557. int R=0;
  558. R=X291is_integer((((T523*)C))->_mapped/*12*/);
  559. return R;
  560. }
  561. T0* r805add_comment(T805* C,T0* a1){
  562. T0* R=NULL;
  563. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  564. R=(T0*)C;
  565. }
  566. else {
  567. {T529*n=malloc(sizeof(*n));
  568. *n=M529;
  569. r529make(n,(T0*)C,a1);
  570. R=(T0*)n;
  571. }
  572. }
  573. /*FI*/return R;
  574. }
  575. int r805to_integer(T805* C){
  576. int R=0;
  577. r805error((((T805*)C))->_start_position/*8*/,((T0*)ms69_470));
  578. return R;
  579. }
  580. void r805pretty_print_character(T805* C,int a1){
  581. int _val=0;
  582. /*IF*/if ((((((T805*)C))->_percent/*24*/)!=((void*)(NULL)))&&(r429fast_has(((T429*)((((T805*)C))->_percent/*24*/)),a1))) {
  583. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC805tmp_string)))))->_count)=(0);
  584. /*]*/
  585. r805character_coding(/*(IRF4.6item*/((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_storage/*0*/)[(a1)-(1)]/*)*/,oBC805tmp_string);
  586. r238put_string(((T238*)(oBC364fmt)),oBC805tmp_string);
  587. }
  588.  else if ((((((T805*)C))->_ascii/*20*/)!=((void*)(NULL)))&&(r429fast_has(((T429*)((((T805*)C))->_ascii/*20*/)),a1))) {
  589. _val=((unsigned char)/*(IRF4.6item*/((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_storage/*0*/)[(a1)-(1)]/*)*/);
  590. r238put_string(((T238*)(oBC364fmt)),((T0*)ms7_805));
  591. r238put_integer(((T238*)(oBC364fmt)),_val);
  592. r238put_string(((T238*)(oBC364fmt)),((T0*)ms47_473));
  593. }
  594. else {
  595. r238put_character(((T238*)(oBC364fmt)),/*(IRF4.6item*/((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_storage/*0*/)[(a1)-(1)]/*)*/);
  596. }
  597. /*FI*/}
  598. int r805is_a(T805* C,T0* a1){
  599. int R=0;
  600. R=X291is_a(/*(IRF4.4run_type*/((T0*)((T491*)/*(IRF4.8result_type*/r805type_string()/*)*/))/*)*/,X291run_type(X662result_type(a1)));
  601. /*IF*/if (!(R)) {
  602. r683add_position((((T805*)C))->_start_position/*8*/);
  603. r805error(X662start_position(a1),((T0*)ms4_662));
  604. }
  605. /*FI*/return R;
  606. }
  607. void r805from_manifest_string(T805* C,T0* a1,int a2){
  608. *((T805*)(C))=*((T805*)(a1));
  609. C->_mapping_c=r7twin(((T7*)((((T805*)((T805*)a1)))->_mapping_c/*28*/)));
  610. r7extend(((T7*)((((T805*)C))->_mapping_c/*28*/)),'\137');
  611. r2append_in(a2,(((T805*)C))->_mapping_c/*28*/);
  612. }
  613. /*No:MANIFEST_STRING.is_current*/
  614. void r805character_coding(char a1,T0* a2){
  615. char _special=0;
  616. {int z1=a1;
  617.  
  618. if((64==z1)){
  619. _special='A';
  620. }
  621.  else 
  622. if((8==z1)){
  623. _special='B';
  624. }
  625.  else 
  626. if((94==z1)){
  627. _special='C';
  628. }
  629.  else 
  630. if((36==z1)){
  631. _special='D';
  632. }
  633.  else 
  634. if((12==z1)){
  635. _special='F';
  636. }
  637.  else 
  638. if((92==z1)){
  639. _special='H';
  640. }
  641.  else 
  642. if((126==z1)){
  643. _special='L';
  644. }
  645.  else 
  646. if((10==z1)){
  647. _special='N';
  648. }
  649.  else 
  650. if((96==z1)){
  651. _special='Q';
  652. }
  653.  else 
  654. if((13==z1)){
  655. _special='R';
  656. }
  657.  else 
  658. if((35==z1)){
  659. _special='S';
  660. }
  661.  else 
  662. if((9==z1)){
  663. _special='T';
  664. }
  665.  else 
  666. if((0==z1)){
  667. _special='U';
  668. }
  669.  else 
  670. if((124==z1)){
  671. _special='V';
  672. }
  673.  else 
  674. if((37==z1)){
  675. _special='\45';
  676. }
  677.  else 
  678. if((39==z1)){
  679. _special='\47';
  680. }
  681.  else 
  682. if((34==z1)){
  683. _special='\42';
  684. }
  685.  else 
  686. if((91==z1)){
  687. _special='\50';
  688. }
  689.  else 
  690. if((93==z1)){
  691. _special='\51';
  692. }
  693.  else 
  694. if((123==z1)){
  695. _special='\74';
  696. }
  697.  else 
  698. if((125==z1)){
  699. _special='\76';
  700. }
  701. }
  702. r7extend(((T7*)a2),'\45');
  703. /*IF*/if ((_special)==('\0')) {
  704. r7extend(((T7*)a2),'\57');
  705. r2append_in(((unsigned char)a1),a2);
  706. r7extend(((T7*)a2),'\57');
  707. }
  708. else {
  709. r7extend(((T7*)a2),_special);
  710. }
  711. /*FI*/}
  712. void r805make(T805* C,T0* a1,int a2){
  713. C->_start_position=a1;
  714. {T7*n=malloc(sizeof(*n));
  715. *n=M7;
  716. r7make(n,0);
  717. C->_to_string=(T0*)n;
  718. }
  719. {T7*n=malloc(sizeof(*n));
  720. *n=M7;
  721. r7make(n,12);
  722. C->_mapping_c=(T0*)n;
  723. }
  724. r7copy(((T7*)((((T805*)C))->_mapping_c/*28*/)),((T0*)ms1_805));
  725. r2append_in(a2,(((T805*)C))->_mapping_c/*28*/);
  726. }
  727. void r805print_as_target(T805* C){
  728. r238put_character(((T238*)(oBC364fmt)),'\50');
  729. r805pretty_print(C);
  730. r238put_character(((T238*)(oBC364fmt)),'\51');
  731. r238put_character(((T238*)(oBC364fmt)),'\56');
  732. }
  733. /*No:MANIFEST_STRING.to_string*/
  734. /*No:MANIFEST_STRING.fz_iinaiv*/
  735. T0* r805type_string(void){
  736. if (fBC364type_string==0){
  737. T0* R=NULL;
  738. fBC364type_string=1;
  739. {T491*n=malloc(sizeof(*n));
  740. *n=M491;
  741. r491make(n,NULL);
  742. R=(T0*)n;
  743. }
  744. oBC364type_string=R;}
  745. return oBC364type_string;}
  746. /*No:MANIFEST_STRING.break*/
  747. /*No:MANIFEST_STRING.add*/
  748. /*No:MANIFEST_STRING.start_position*/
  749. /*No:MANIFEST_STRING.precedence*/
  750. T0* r805to_runnable(T805* C,T0* a1){
  751. T0* R=NULL;
  752. T0* _dummy=NULL;
  753. T0* _bc=NULL;
  754. _dummy=r491to_runnable(((T491*)(r805type_string())),a1);
  755. /*IF*/if (((((T805*)C))->_current_type/*4*/)==((void*)(NULL))) {
  756. C->_current_type=a1;
  757. r7extend(((T7*)((((T805*)C))->_mapping_c/*28*/)),'\137');
  758. _bc=r627base_class(((T627*)((((T805*)C))->_start_position/*8*/)));
  759. r2append_in((((T605*)((T605*)_bc)))->_id/*0*/,(((T805*)C))->_mapping_c/*28*/);
  760. r368set_at_run_time(((T368*)(r491run_class(((T491*)(/*(IRF4.8result_type*/r805type_string()/*)*/))))));
  761. r340add_last((T0*)C);
  762. R=(T0*)C;
  763. }
  764. else {
  765. R=r805twin(C);
  766. /*[IRF3.3set_current_type*/((((T805*)(((T805*)R))))->_current_type)=(a1);
  767. /*]*/
  768. }
  769. /*FI*/return R;
  770. }
  771. void r805bracketed_pretty_print(T805* C){
  772. int _column=0;
  773. int _i=0;
  774. _column=(((T238*)((T238*)(oBC364fmt))))->_column/*8*/;
  775. r238put_character(((T238*)(oBC364fmt)),'\42');
  776. _i=1;
  777. while (!((_i)>((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/))) {
  778. /*IF*/if (r805is_on_next_line(C,_i)) {
  779. r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_805));
  780. while (!((_column)==((((T238*)((T238*)(oBC364fmt))))->_column/*8*/))) {
  781. r238put_character(((T238*)(oBC364fmt)),'\40');
  782. }
  783. r238put_character(((T238*)(oBC364fmt)),'\45');
  784. }
  785. /*FI*/r805pretty_print_character(C,_i);
  786. _i=(_i)+(1);
  787. }
  788. r238put_character(((T238*)(oBC364fmt)),'\42');
  789. }
  790. /*No:MANIFEST_STRING.ascii*/
  791. /*No:MANIFEST_STRING.us_slash*/
  792. /*No:MANIFEST_STRING.percent*/
  793. /*No:MANIFEST_STRING.result_type*/
  794. T0* r805twin(T805* C){
  795. T0* R=NULL;
  796. R=malloc(sizeof(*C));
  797. *((T805*)R)=*C;
  798. return R;
  799. }
  800. /*No:MANIFEST_STRING.set_current_type*/
  801. void r805add_ascii(T805* C,char a1){
  802. r7extend(((T7*)((((T805*)C))->_to_string/*12*/)),a1);
  803. /*IF*/if (((((T805*)C))->_ascii/*20*/)==((void*)(NULL))) {
  804. C->_ascii=se_ma429(1,(((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/);
  805. }
  806. else {
  807. r429add_last(((T429*)((((T805*)C))->_ascii/*20*/)),(((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/);
  808. }
  809. /*FI*/}
  810. /*No:MANIFEST_STRING.atomic_precedence*/
  811. void r805pretty_print(T805* C){
  812. int _column=0;
  813. int _i=0;
  814. _column=(((T238*)((T238*)(oBC364fmt))))->_column/*8*/;
  815. r238put_character(((T238*)(oBC364fmt)),'\42');
  816. _i=1;
  817. while (!((_i)>((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/))) {
  818. /*IF*/if (r805is_on_next_line(C,_i)) {
  819. r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_805));
  820. while (!((_column)==((((T238*)((T238*)(oBC364fmt))))->_column/*8*/))) {
  821. r238put_character(((T238*)(oBC364fmt)),'\40');
  822. }
  823. r238put_character(((T238*)(oBC364fmt)),'\45');
  824. }
  825. /*FI*/r805pretty_print_character(C,_i);
  826. _i=(_i)+(1);
  827. }
  828. r238put_character(((T238*)(oBC364fmt)),'\42');
  829. }
  830. T0*oBC805tmp_string=NULL;
  831. /*No:MANIFEST_STRING.current_type*/
  832. T0*oBC364manifest_string_pool=NULL;
  833. /*No:MANIFEST_STRING.is_manifest_string*/
  834. /*No:MANIFEST_STRING.is_void*/
  835. void r805add_percent(T805* C,char a1){
  836. r7extend(((T7*)((((T805*)C))->_to_string/*12*/)),a1);
  837. /*IF*/if (((((T805*)C))->_percent/*24*/)==((void*)(NULL))) {
  838. C->_percent=se_ma429(1,(((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/);
  839. }
  840. else {
  841. r429add_last(((T429*)((((T805*)C))->_percent/*24*/)),(((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/);
  842. }
  843. /*FI*/}
  844. void r805error(T0* a1,T0* a2){
  845. r683add_position(a1);
  846. r683error(((T683*)(oBC364eh)),a2);
  847. }
  848. int r805is_on_next_line(T805* C,int a1){
  849. int R=0;
  850. /*IF*/if (((((T805*)C))->_break/*16*/)!=((void*)(NULL))) {
  851. R=r429fast_has(((T429*)((((T805*)C))->_break/*16*/)),a1);
  852. }
  853. /*FI*/return R;
  854. }
  855. /*No:MANIFEST_STRING.mapping_c*/
  856. void r805break_line(T805* C){
  857. /*IF*/if (((((T805*)C))->_break/*16*/)==((void*)(NULL))) {
  858. C->_break=se_ma429(1,((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/)+(1));
  859. }
  860. else {
  861. r429add_last(((T429*)((((T805*)C))->_break/*16*/)),((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/)+(1));
  862. }
  863. /*FI*/}
  864. T0* r85language_name(void){
  865. T0* R=NULL;
  866. R=((T0*)ms121_470);
  867. return R;
  868. }
  869. /*No:NATIVE_SMALL_EIFFEL.pretty_print*/
  870. /*No:NATIVE_SMALL_EIFFEL.fz_se*/
  871. /*No:CALL_INFIX_MINUS.arguments*/
  872. T0* r574add_comment(T574* C,T0* a1){
  873. T0* R=NULL;
  874. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  875. R=(T0*)C;
  876. }
  877. else {
  878. {T529*n=malloc(sizeof(*n));
  879. *n=M529;
  880. r529make(n,(T0*)C,a1);
  881. R=(T0*)n;
  882. }
  883. }
  884. /*FI*/return R;
  885. }
  886. int r574to_integer(T574* C){
  887. int R=0;
  888. r574error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T574*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  889. return R;
  890. }
  891. int r574is_a(T574* C,T0* a1){
  892. int R=0;
  893. R=X291is_a(X291run_type((((T574*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  894. /*IF*/if (!(R)) {
  895. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T574*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  896. r574error(X662start_position(a1),((T0*)ms4_662));
  897. }
  898. /*FI*/return R;
  899. }
  900. /*No:CALL_INFIX_MINUS.is_current*/
  901. void r574make(T574* C,T0* a1,T0* a2,T0* a3){
  902. T0* _eal=NULL;
  903. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  904. r683add_position(a2);
  905. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  906. r683fatal_error(((T683*)(oBC364eh)),b1);
  907. }/*]*/
  908. }
  909. /*FI*/{T454*n=malloc(sizeof(*n));
  910. *n=M454;
  911. r454make(n,r574operator(),a2);
  912. C->_feature_name=(T0*)n;
  913. }
  914. {T431*n=malloc(sizeof(*n));
  915. *n=M431;
  916. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  917. /*]*/
  918. _eal=(T0*)n;
  919. }
  920. r574make_call_1(C,a1,(((T574*)C))->_feature_name/*24*/,_eal);
  921. }
  922. void r574print_as_target(T574* C){
  923. r238put_character(((T238*)(oBC364fmt)),'\50');
  924. r574pretty_print(C);
  925. r238put_character(((T238*)(oBC364fmt)),'\51');
  926. r238put_character(((T238*)(oBC364fmt)),'\56');
  927. }
  928. /*No:CALL_INFIX_MINUS.nb_errors*/
  929. /*No:CALL_INFIX_MINUS.feature_name*/
  930. /*No:CALL_INFIX_MINUS.fz_iinaiv*/
  931. /*No:CALL_INFIX_MINUS.run_feature*/
  932. /*No:CALL_INFIX_MINUS.start_position*/
  933. /*No:CALL_INFIX_MINUS.target*/
  934. /*No:CALL_INFIX_MINUS.precedence*/
  935. T0* r574to_runnable(T574* C,T0* a1){
  936. T0* R=NULL;
  937. T0* _tla=NULL;
  938. T0* _a=NULL;
  939. /*IF*/if (((((T574*)C))->_current_type/*4*/)==((void*)(NULL))) {
  940. r574to_runnable_0(C,a1);
  941. _a=r431to_runnable(((T431*)((((T574*)C))->_arguments/*20*/)),a1);
  942. /*IF*/if ((_a)==((void*)(NULL))) {
  943. r574error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  944. }
  945. else {
  946. C->_arguments=_a;
  947. }
  948. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  949. r431match_with(((T431*)((((T574*)C))->_arguments/*20*/)),(((T574*)C))->_run_feature/*12*/);
  950. }
  951. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  952. _tla=(((T574*)C))->_result_type/*16*/;
  953. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  954. case 239: 
  955. break;
  956. default:
  957. _tla=NULL;
  958. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  959. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/));
  960. }
  961. /*FI*/}
  962. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  963. R=(T0*)C;
  964. }
  965. /*FI*/}
  966. else {
  967. R=r574twin(C);
  968. /*[IRF3.3set_current_type*/((((T574*)(((T574*)R))))->_current_type)=(NULL);
  969. /*]*/
  970. R=r574to_runnable(((T574*)R),a1);
  971. }
  972. /*FI*/return R;
  973. }
  974. void r574bracketed_pretty_print(T574* C){
  975. r238put_character(((T238*)(oBC364fmt)),'\50');
  976. r574pretty_print(C);
  977. r238put_character(((T238*)(oBC364fmt)),'\51');
  978. }
  979. /*No:CALL_INFIX_MINUS.result_type*/
  980. T0* r574twin(T574* C){
  981. T0* R=NULL;
  982. R=malloc(sizeof(*C));
  983. *((T574*)R)=*C;
  984. return R;
  985. }
  986. /*No:CALL_INFIX_MINUS.set_current_type*/
  987. T0* r574operator(void){
  988. T0* R=NULL;
  989. R=((T0*)ms37_473);
  990. return R;
  991. }
  992. /*No:CALL_INFIX_MINUS.atomic_precedence*/
  993. void r574pretty_print(T574* C){
  994. /*IF*/if ((X662precedence((((T574*)C))->_target/*8*/))==(13)) {
  995. X662pretty_print((((T574*)C))->_target/*8*/);
  996. r574print_op(C);
  997. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  998. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/);
  999. }
  1000.  else if ((7)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/))) {
  1001. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/);
  1002. }
  1003. else {
  1004. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/);
  1005. }
  1006. /*FI*/}
  1007.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  1008. /*IF*/if ((X662precedence((((T574*)C))->_target/*8*/))>=(7)) {
  1009. X662bracketed_pretty_print((((T574*)C))->_target/*8*/);
  1010. }
  1011. else {
  1012. X662pretty_print((((T574*)C))->_target/*8*/);
  1013. }
  1014. /*FI*/r574print_op(C);
  1015. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/);
  1016. }
  1017.  else if ((7)<=(X662precedence((((T574*)C))->_target/*8*/))) {
  1018. X662bracketed_pretty_print((((T574*)C))->_target/*8*/);
  1019. r574print_op(C);
  1020. /*IF*/if ((7)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/))) {
  1021. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/);
  1022. }
  1023. else {
  1024. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/);
  1025. }
  1026. /*FI*/}
  1027. else {
  1028. X662pretty_print((((T574*)C))->_target/*8*/);
  1029. r574print_op(C);
  1030. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/);
  1031. }
  1032. /*FI*/}
  1033. void r574print_op(T574* C){
  1034. r238put_character(((T238*)(oBC364fmt)),'\40');
  1035. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T574*)C))->_feature_name/*24*/));
  1036. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  1037. }/*]*/
  1038. r238put_character(((T238*)(oBC364fmt)),'\40');
  1039. }
  1040. /*No:CALL_INFIX_MINUS.us_minus*/
  1041. /*No:CALL_INFIX_MINUS.current_type*/
  1042. void r574make_call_1(T574* C,T0* a1,T0* a2,T0* a3){
  1043. C->_target=a1;
  1044. C->_feature_name=a2;
  1045. C->_arguments=a3;
  1046. }
  1047. /*No:CALL_INFIX_MINUS.is_manifest_string*/
  1048. /*No:CALL_INFIX_MINUS.is_void*/
  1049. void r574to_runnable_0(T574* C,T0* a1){
  1050. C->_current_type=a1;
  1051. r574cpc_to_runnable(C,a1);
  1052. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T574*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  1053. /*IF*/if (((((T574*)C))->_result_type/*16*/)==((void*)(NULL))) {
  1054. r683add_position(X496start_position((((T574*)C))->_run_feature/*12*/));
  1055. r574error((((T454*)((T454*)((((T574*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  1056. }
  1057.  else if (X291is_like_current((((T574*)C))->_result_type/*16*/)) {
  1058. C->_result_type=X662result_type((((T574*)C))->_target/*8*/);
  1059. }
  1060. /*FI*/}
  1061. void r574cpc_to_runnable(T574* C,T0* a1){
  1062. T0* _rc=NULL;
  1063. T0* _t=NULL;
  1064. _t=X662to_runnable((((T574*)C))->_target/*8*/,a1);
  1065. /*IF*/if ((_t)==((void*)(NULL))) {
  1066. r683add_position(X662start_position((((T574*)C))->_target/*8*/));
  1067. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1068. r683fatal_error(((T683*)(oBC364eh)),b1);
  1069. }/*]*/
  1070. }
  1071. /*FI*/C->_target=_t;
  1072. _rc=X291run_class(X662result_type((((T574*)C))->_target/*8*/));
  1073. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  1074. r576update((((T574*)C))->_target/*8*/,(((T574*)C))->_run_feature/*12*/);
  1075. }
  1076. void r574error(T0* a1,T0* a2){
  1077. r683add_position(a1);
  1078. r683error(((T683*)(oBC364eh)),a2);
  1079. }
  1080. /*No:CALL_INFIX_MINUS.fatal_error*/
  1081. /*No:CALL_INFIX_MINUS.fz_bad_argument*/
  1082. /*No:CALL_INFIX_MINUS.arg1*/
  1083. /*No:PRETTY.dos_system*/
  1084. /*No:PRETTY.fz_system_se*/
  1085. /*No:PRETTY.fz_sys*/
  1086. /*No:PRETTY.unix_system*/
  1087. void r943error_style(T943* C,T0* a1){
  1088. C->_state=2;
  1089. /*[IRF3.6append*/{T0* b1=((T0*)ms10_943);
  1090. r7append(((T7*)(oBC683explanation)),b1);
  1091. }/*]*/
  1092. /*[IRF3.6append*/{T0* b1=(((T943*)C))->_style/*4*/;
  1093. r7append(((T7*)(oBC683explanation)),b1);
  1094. }/*]*/
  1095. /*[IRF3.6append*/{T0* b1=((T0*)ms11_943);
  1096. r7append(((T7*)(oBC683explanation)),b1);
  1097. }/*]*/
  1098. /*[IRF3.6append*/{T0* b1=a1;
  1099. r7append(((T7*)(oBC683explanation)),b1);
  1100. }/*]*/
  1101. /*[IRF3.6append*/{T0* b1=((T0*)ms67_470);
  1102. r7append(((T7*)(oBC683explanation)),b1);
  1103. }/*]*/
  1104. r683print_as_error(((T683*)(oBC364eh)));
  1105. }
  1106. /*No:PRETTY.exit_failure_code*/
  1107. /*No:PRETTY.vms_system*/
  1108. T0* r943small_eiffel_directory(T943* C){
  1109. if (fBC364small_eiffel_directory==0){
  1110. T0* R=NULL;
  1111. char _slash=0;
  1112. int _i=0;
  1113. fBC364small_eiffel_directory=1;
  1114. R=r943get_environment_variable(C,((T0*)ms121_470));
  1115. /*IF*/if ((R)==((void*)(NULL))) {
  1116. R=r7twin(((T7*)(((T0*)ms121_470))));
  1117. r7to_upper(((T7*)R));
  1118. R=r943get_environment_variable(C,R);
  1119. /*IF*/if ((R)!=((void*)(NULL))) {
  1120. r7to_upper(((T7*)(((T0*)ms121_470))));
  1121. }
  1122. /*FI*/}
  1123. /*FI*//*IF*/if ((R)==((void*)(NULL))) {
  1124. R=((T0*)ms1_364);
  1125. }
  1126. /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/;
  1127. while (!((_i)<(0))) {
  1128. _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  1129. /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) {
  1130. _i=(_i)-(1);
  1131. }
  1132. else {
  1133. _i=-(1);
  1134. }
  1135. /*FI*/}
  1136. /*IF*/if ((_i)==(0)) {
  1137. r7extend(((T7*)R),'\57');
  1138. }
  1139.  else if (!((r7last(((T7*)R)))==(_slash))) {
  1140. r7extend(((T7*)R),_slash);
  1141. }
  1142. /*FI*/oBC364small_eiffel_directory=R;}
  1143. return oBC364small_eiffel_directory;}
  1144. void r943automat(T943* C){
  1145. T0* _a=NULL;
  1146. int _arg=0;
  1147. _arg=1;
  1148. while (!(((_arg)>(/*(IRF4.9argument_count*/(((T927*)((T927*)(r943command_arguments()))))->_upper/*8*//*)*/))||(((((T943*)C))->_state/*0*/)>(0)))) {
  1149. _a=r943argument(_arg);
  1150. /*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)!=('\55')) {
  1151. r52add_last(((T52*)(r943class_names())),_a);
  1152. }
  1153.  else if (r7is_equal(ms3_943,_a)) {
  1154. /*[IRF3.3set_no_warning*/((((T683*)(((T683*)(oBC364eh)))))->_no_warning)=(1);
  1155. /*]*/
  1156. }
  1157.  else if (r7is_equal(ms4_943,_a)) {
  1158. /*IF*/if (((((T943*)C))->_style/*4*/)!=((void*)(NULL))) {
  1159. r943error_style(C,_a);
  1160. }
  1161. else {
  1162. /*[IRF3.3set_default*/((((T238*)(((T238*)(oBC364fmt)))))->_mode)=(0);
  1163. /*]*/
  1164. C->_style=_a;
  1165. }
  1166. /*FI*/}
  1167.  else if (r7is_equal(ms5_943,_a)) {
  1168. /*IF*/if (((((T943*)C))->_style/*4*/)!=((void*)(NULL))) {
  1169. r943error_style(C,_a);
  1170. }
  1171. else {
  1172. /*[IRF3.3set_zen*/((((T238*)(((T238*)(oBC364fmt)))))->_mode)=(1);
  1173. /*]*/
  1174. C->_style=_a;
  1175. }
  1176. /*FI*/}
  1177.  else if (r7is_equal(ms6_943,_a)) {
  1178. /*IF*/if (((((T943*)C))->_style/*4*/)!=((void*)(NULL))) {
  1179. r943error_style(C,_a);
  1180. }
  1181. else {
  1182. /*[IRF3.3set_end*/((((T238*)(((T238*)(oBC364fmt)))))->_mode)=(2);
  1183. /*]*/
  1184. C->_style=_a;
  1185. }
  1186. /*FI*/}
  1187.  else if (r7is_equal(ms7_943,_a)) {
  1188. /*IF*/if (((((T943*)C))->_style/*4*/)!=((void*)(NULL))) {
  1189. r943error_style(C,_a);
  1190. }
  1191. else {
  1192. /*[IRF3.3set_parano*/((((T238*)(((T238*)(oBC364fmt)))))->_mode)=(3);
  1193. /*]*/
  1194. C->_style=_a;
  1195. }
  1196. /*FI*/}
  1197. else {
  1198. r306w_put_string(((T0*)ms142_470));
  1199. r306w_put_string(_a);
  1200. r306w_put_character('\n');
  1201. C->_state=2;
  1202. }
  1203. /*FI*/_arg=(_arg)+(1);
  1204. }
  1205. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) {
  1206. /*[IRF3.6append*/{T0* b1=((T0*)ms8_943);
  1207. r7append(((T7*)(oBC683explanation)),b1);
  1208. }/*]*/
  1209. r683print_as_error(((T683*)(oBC364eh)));
  1210. }
  1211. else {
  1212. /*IF*/if (r52empty(((T52*)(r943class_names())))) {
  1213. /*[IRF3.6append*/{T0* b1=((T0*)ms9_943);
  1214. r7append(((T7*)(oBC683explanation)),b1);
  1215. }/*]*/
  1216. r683print_as_error(((T683*)(oBC364eh)));
  1217. }
  1218. else {
  1219. r943pretty_print(C);
  1220. }
  1221. /*FI*/}
  1222. /*FI*/}
  1223. /*No:PRETTY.amiga_system*/
  1224. void r943make(T943* C){
  1225. /*IF*/if ((/*(IRF4.9argument_count*/(((T927*)((T927*)(r943command_arguments()))))->_upper/*8*//*)*/)<(1)) {
  1226. r306w_put_string(((T0*)ms1_943));
  1227. r943print_help(C,((T0*)ms2_943));
  1228. exit(1);
  1229. }
  1230. else {
  1231. r943automat(C);
  1232. }
  1233. /*FI*/}
  1234. /*No:PRETTY.rename_file*/
  1235. /*No:PRETTY.nb_errors*/
  1236. /*No:PRETTY.help_suffix*/
  1237. T0*oBC364help_file_name=NULL;
  1238. T0*oBC943new_file=NULL;
  1239. T0*oBC943path=NULL;
  1240. void r943add_directory(T943* C,T0* a1,T0* a2){
  1241. /*IF*/if ((((T0*)ms17_364))==((void*)(r943system_name(C)))) {
  1242. r7set_last(((T7*)a1),'\57');
  1243. r7append(((T7*)a1),a2);
  1244. r7set_last(((T7*)a1),'\57');
  1245. }
  1246.  else if ((((T0*)ms19_364))==((void*)(r943system_name(C)))) {
  1247. r7set_last(((T7*)a1),'\134');
  1248. r7append(((T7*)a1),a2);
  1249. r7set_last(((T7*)a1),'\134');
  1250. }
  1251.  else if ((((T0*)ms15_364))==((void*)(r943system_name(C)))) {
  1252. r7set_last(((T7*)a1),'\72');
  1253. r7append(((T7*)a1),a2);
  1254. r7set_last(((T7*)a1),'\72');
  1255. }
  1256.  else if ((((T0*)ms14_364))==((void*)(r943system_name(C)))) {
  1257. r7set_last(((T7*)a1),'\134');
  1258. r7append(((T7*)a1),a2);
  1259. r7set_last(((T7*)a1),'\134');
  1260. }
  1261.  else if ((((T0*)ms16_364))==((void*)(r943system_name(C)))) {
  1262. r7set_last(((T7*)a1),'\134');
  1263. r7append(((T7*)a1),a2);
  1264. r7set_last(((T7*)a1),'\134');
  1265. }
  1266.  else if ((((T0*)ms13_364))==((void*)(r943system_name(C)))) {
  1267. r7set_last(((T7*)a1),'\57');
  1268. r7append(((T7*)a1),a2);
  1269. r7set_last(((T7*)a1),'\57');
  1270. }
  1271.  else if ((((T0*)ms18_364))==((void*)(r943system_name(C)))) {
  1272. r7set_last(((T7*)a1),'\135');
  1273. r7remove_last(((T7*)a1),1);
  1274. r7set_last(((T7*)a1),'\56');
  1275. r7append(((T7*)a1),a2);
  1276. r7set_last(((T7*)a1),'\135');
  1277. }
  1278. /*FI*/}
  1279. T670 oBC1file_tools=0;
  1280. /*No:PRETTY.windows_system*/
  1281. void r943pretty_for(T943* C,T0* a1){
  1282. T0* _e_class=NULL;
  1283. _e_class=r604load_class(((T604*)(oBC364small_eiffel)),a1);
  1284. /*IF*/if ((_e_class)==((void*)(NULL))) {
  1285. /*[IRF3.6append*/{T0* b1=((T0*)ms12_943);
  1286. r7append(((T7*)(oBC683explanation)),b1);
  1287. }/*]*/
  1288. /*[IRF3.6append*/{T0* b1=a1;
  1289. r7append(((T7*)(oBC683explanation)),b1);
  1290. }/*]*/
  1291. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_943);
  1292. r683fatal_error(((T683*)(oBC364eh)),b1);
  1293. }/*]*/
  1294. }
  1295. else {
  1296. r7copy(((T7*)(oBC943path)),(((T605*)((T605*)_e_class)))->_path/*4*/);
  1297. r7copy(((T7*)(oBC943backup)),oBC943path);
  1298. /*[IRF3.6remove_suffix*/{T7* C1=((T7*)(oBC943backup));
  1299. T0* b1=((T0*)ms25_364);
  1300. r7remove_last(C1,(((T7*)((T7*)b1)))->_count/*4*/);
  1301. }/*]*/
  1302. r7append(((T7*)(oBC943backup)),((T0*)ms38_364));
  1303. /*IF*/if (r943file_exists(oBC943backup)) {
  1304. /*[IRF3.6append*/{T0* b1=((T0*)ms14_943);
  1305. r7append(((T7*)(oBC683explanation)),b1);
  1306. }/*]*/
  1307. /*[IRF3.6append*/{T0* b1=oBC943backup;
  1308. r7append(((T7*)(oBC683explanation)),b1);
  1309. }/*]*/
  1310. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms15_943);
  1311. r683fatal_error(((T683*)(oBC364eh)),b1);
  1312. }/*]*/
  1313. }
  1314. /*FI*//*[IRF3.6rename_file*/{T0* b1=oBC943path;
  1315. T0* b2=oBC943backup;
  1316. /*[IRF3.6rename_to*/{T0* c1=b1;
  1317. T0* c2=b2;
  1318. rename(((char*)r7to_external(((T7*)c1))),((char*)r7to_external(((T7*)c2))));
  1319. }/*]*/
  1320. }/*]*/
  1321. /*IF*/if (!(r943file_exists(oBC943backup))) {
  1322. /*[IRF3.6append*/{T0* b1=((T0*)ms16_943);
  1323. r7append(((T7*)(oBC683explanation)),b1);
  1324. }/*]*/
  1325. /*[IRF3.6append*/{T0* b1=oBC943path;
  1326. r7append(((T7*)(oBC683explanation)),b1);
  1327. }/*]*/
  1328. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms17_943);
  1329. r683fatal_error(((T683*)(oBC364eh)),b1);
  1330. }/*]*/
  1331. }
  1332. /*FI*/r943sfw_connect(C,oBC943new_file,oBC943path);
  1333. r238connect_to(((T238*)(oBC364fmt)),oBC943new_file);
  1334. r605pretty_print(((T605*)_e_class));
  1335. r544disconnect(((T544*)(oBC943new_file)));
  1336. /*IF*/if (!(r604re_load_class(((T604*)(oBC364small_eiffel)),_e_class))) {
  1337. /*[IRF3.6append*/{T0* b1=((T0*)ms18_943);
  1338. r7append(((T7*)(oBC683explanation)),b1);
  1339. }/*]*/
  1340. /*[IRF3.6append*/{T0* b1=oBC943backup;
  1341. r7append(((T7*)(oBC683explanation)),b1);
  1342. }/*]*/
  1343. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms19_943);
  1344. r683fatal_error(((T683*)(oBC364eh)),b1);
  1345. }/*]*/
  1346. }
  1347. /*FI*/}
  1348. /*FI*/}
  1349. T0* r943get_environment_variable(T943* C,T0* a1){
  1350. T0* R=NULL;
  1351. void* _p=0;
  1352. _p=r7to_external(((T7*)a1));
  1353. R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
  1354. return R;
  1355. }
  1356. void r943print_help(T943* C,T0* a1){
  1357. r7copy(((T7*)(oBC364help_file_name)),r943small_eiffel_directory(C));
  1358. r943add_directory(C,oBC364help_file_name,((T0*)ms2_364));
  1359. r7append(((T7*)(oBC364help_file_name)),a1);
  1360. /*IF*/if (!(r7has_suffix(((T7*)(oBC364help_file_name)),((T0*)ms39_364)))) {
  1361. r7append(((T7*)(oBC364help_file_name)),((T0*)ms39_364));
  1362. }
  1363. /*FI*//*IF*/if (!(r943file_exists(oBC364help_file_name))) {
  1364. r306w_put_string(((T0*)ms3_364));
  1365. r306w_put_string(oBC364help_file_name);
  1366. r306w_put_string(((T0*)ms242_470));
  1367. exit(1);
  1368. }
  1369. /*FI*/r830append_file(((T830*)(oBC1std_output)),oBC364help_file_name);
  1370. }
  1371. /*No:PRETTY.style*/
  1372. int fBC1command_arguments=0;
  1373. T0*oBC1command_arguments=NULL;
  1374. T0* r943command_arguments(void){
  1375. if (fBC1command_arguments==0){
  1376. T0* R=NULL;
  1377. T0* _arg=NULL;
  1378. int _i=0;
  1379. fBC1command_arguments=1;
  1380. _i=se_argc;
  1381. {T927*n=malloc(sizeof(*n));
  1382. *n=M927;
  1383. r927make(n,_i);
  1384. R=(T0*)n;
  1385. }
  1386. while (!((_i)==(0))) {
  1387. _i=(_i)-(1);
  1388. _arg=((T0*)e2s(se_argv[_i]));
  1389. /*[IRF3.5put*/((((T927*)((T927*)R)))->_storage/*0*/)[_i]=(_arg);
  1390. /*]*/
  1391. }
  1392. oBC1command_arguments=R;}
  1393. return oBC1command_arguments;}
  1394. T0* r943system_name(T943* C){
  1395. if (fBC364system_name==0){
  1396. T0* R=NULL;
  1397. int _i=0;
  1398. fBC364system_name=1;
  1399. r7copy(((T7*)(oBC364tmp_path)),r943small_eiffel_directory(C));
  1400. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) {
  1401. r7set_last(((T7*)(oBC364tmp_path)),'\57');
  1402. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  1403. r7extend(((T7*)(oBC364tmp_path)),'\57');
  1404. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1405. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1406. }
  1407. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1408. r7copy(((T7*)(oBC364tmp_path)),r943small_eiffel_directory(C));
  1409. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) {
  1410. r7set_last(((T7*)(oBC364tmp_path)),'\134');
  1411. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  1412. r7extend(((T7*)(oBC364tmp_path)),'\134');
  1413. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1414. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1415. }
  1416. /*FI*/}
  1417. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1418. r7copy(((T7*)(oBC364tmp_path)),r943small_eiffel_directory(C));
  1419. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) {
  1420. r7set_last(((T7*)(oBC364tmp_path)),'\72');
  1421. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  1422. r7extend(((T7*)(oBC364tmp_path)),'\72');
  1423. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1424. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1425. }
  1426. /*FI*/}
  1427. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1428. r7copy(((T7*)(oBC364tmp_path)),r943small_eiffel_directory(C));
  1429. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) {
  1430. r7set_last(((T7*)(oBC364tmp_path)),'\135');
  1431. r7remove_last(((T7*)(oBC364tmp_path)),1);
  1432. r7extend(((T7*)(oBC364tmp_path)),'\56');
  1433. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  1434. r7extend(((T7*)(oBC364tmp_path)),'\135');
  1435. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1436. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1437. }
  1438. /*FI*/}
  1439. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1440. r7copy(((T7*)(oBC364tmp_path)),r943small_eiffel_directory(C));
  1441. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  1442. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  1443. }
  1444. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  1445. r306w_put_string(((T0*)ms20_364));
  1446. r306w_put_string(((T0*)ms127_470));
  1447. r306w_put_string(((T0*)ms21_364));
  1448. r306w_put_string(r943small_eiffel_directory(C));
  1449. r306w_put_string(((T0*)ms242_470));
  1450. exit(1);
  1451. }
  1452. /*FI*/r675read_line(((T675*)(oBC364tmp_file_read)));
  1453. R=oBC762last_string;
  1454. _i=r52index_of(((T52*)(oBC364system_list)),R);
  1455. r675disconnect(((T675*)(oBC364tmp_file_read)));
  1456. /*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) {
  1457. r306w_put_string(((T0*)ms22_364));
  1458. r306w_put_string(oBC364tmp_path);
  1459. r306w_put_string(((T0*)ms23_364));
  1460. _i=1;
  1461. while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) {
  1462. r306w_put_string(r52item(((T52*)(oBC364system_list)),_i));
  1463. r306w_put_character('\n');
  1464. _i=(_i)+(1);
  1465. }
  1466. }
  1467. else {
  1468. R=r52item(((T52*)(oBC364system_list)),_i);
  1469. r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364));
  1470. r306put_string(((T306*)(oBC364echo)),R);
  1471. r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470));
  1472. }
  1473. /*FI*/oBC364system_name=R;}
  1474. return oBC364system_name;}
  1475. int fBC943class_names=0;
  1476. T0*oBC943class_names=NULL;
  1477. T0* r943class_names(void){
  1478. if (fBC943class_names==0){
  1479. T0* R=NULL;
  1480. fBC943class_names=1;
  1481. {T52*n=malloc(sizeof(*n));
  1482. *n=M52;
  1483. r52make(n,1,10);
  1484. R=(T0*)n;
  1485. }
  1486. r52clear(((T52*)R));
  1487. oBC943class_names=R;}
  1488. return oBC943class_names;}
  1489. /*No:PRETTY.fz_b0*/
  1490. T0*oBC943backup=NULL;
  1491. void r943pretty_print(T943* C){
  1492. int _i=0;
  1493. _i=(((T52*)((T52*)(r943class_names()))))->_lower/*12*/;
  1494. while (!((_i)>((((T52*)((T52*)(r943class_names()))))->_upper/*8*/))) {
  1495. r943pretty_for(C,r52item(((T52*)(r943class_names())),_i));
  1496. _i=(_i)+(1);
  1497. }
  1498. }
  1499. /*No:PRETTY.fz_se*/
  1500. /*No:PRETTY.os2_system*/
  1501. /*No:PRETTY.fz_08*/
  1502. void r943sfw_connect(T943* C,T0* a1,T0* a2){
  1503. r544connect_to(((T544*)a1),a2);
  1504. /*IF*/if (/*(IRF4.7is_connected*/((((T544*)((T544*)a1)))->_path/*0*/)!=(NULL)/*)*/) {
  1505. r306put_string(((T306*)(oBC364echo)),((T0*)ms6_364));
  1506. r306put_string(((T306*)(oBC364echo)),a2);
  1507. r306put_string(((T306*)(oBC364echo)),((T0*)ms7_364));
  1508. }
  1509. else {
  1510. r306w_put_string(((T0*)ms8_364));
  1511. r306w_put_string(a2);
  1512. r306w_put_string(((T0*)ms242_470));
  1513. exit(1);
  1514. }
  1515. /*FI*/}
  1516. /*No:PRETTY.state*/
  1517. int r943file_exists(T0* a1){
  1518. int R=0;
  1519. R=r670is_readable(a1);
  1520. return R;
  1521. }
  1522. /*No:PRETTY.argument_count*/
  1523. /*No:PRETTY.macintosh_system*/
  1524. /*No:PRETTY.fz_dot*/
  1525. /*No:PRETTY.eiffel_suffix*/
  1526. /*No:PRETTY.fatal_error*/
  1527. T0* r943argument(int a1){
  1528. T0* R=NULL;
  1529. R=/*(IRF4.6item*/((((T927*)((T927*)(r943command_arguments()))))->_storage/*0*/)[a1]/*)*/;
  1530. return R;
  1531. }
  1532. /*No:PRETTY.backup_suffix*/
  1533. void r576update_with(T0* a1){
  1534. T0* _running=NULL;
  1535. T0* _dictionary2=NULL;
  1536. T0* _key2=NULL;
  1537. T0* _key1=NULL;
  1538. T0* _current_type=NULL;
  1539. _current_type=/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/);
  1540. _running=(((T368*)((T368*)(X291run_class(_current_type)))))->_running/*12*/;
  1541. /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))>(1))) {
  1542. _key1=X291run_time_mark(_current_type);
  1543. _key2=X776to_key(/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
  1544. /*IF*/if (r338has(((T338*)(oBC576dictionary)),_key1)) {
  1545. _dictionary2=r338at(((T338*)(oBC576dictionary)),_key1);
  1546. /*IF*/if (!(r199has(((T199*)_dictionary2),_key2))) {
  1547. r199put(((T199*)_dictionary2),a1,_key2);
  1548. }
  1549. /*FI*/}
  1550. else {
  1551. {T199*n=malloc(sizeof(*n));
  1552. *n=M199;
  1553. r199make(n);
  1554. _dictionary2=(T0*)n;
  1555. }
  1556. r199put(((T199*)_dictionary2),a1,_key2);
  1557. r338put(((T338*)(oBC576dictionary)),_dictionary2,_key1);
  1558. }
  1559. /*FI*/}
  1560. /*FI*/}
  1561. void r576update(T0* a1,T0* a2){
  1562. T0* _running=NULL;
  1563. T0* _current_type=NULL;
  1564. /*IF*/if (X662is_current(a1)) {
  1565. }
  1566.  else if (X662is_manifest_string(a1)) {
  1567. }
  1568. else {
  1569. _current_type=/*X496*/((T0*)(((T808*)((T808*)a2)))->_current_type/*4*/);
  1570. /*IF*/if (X291is_reference(_current_type)) {
  1571. _running=(((T368*)((T368*)(X291run_class(_current_type)))))->_running/*12*/;
  1572. /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))>(1))) {
  1573. r576update_with(a2);
  1574. }
  1575. /*FI*/}
  1576. /*FI*/}
  1577. /*FI*/}
  1578. T0*oBC576dictionary=NULL;
  1579. /*No:CALL_INFIX_IMPLIES.arguments*/
  1580. T0* r90add_comment(T90* C,T0* a1){
  1581. T0* R=NULL;
  1582. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1583. R=(T0*)C;
  1584. }
  1585. else {
  1586. {T529*n=malloc(sizeof(*n));
  1587. *n=M529;
  1588. r529make(n,(T0*)C,a1);
  1589. R=(T0*)n;
  1590. }
  1591. }
  1592. /*FI*/return R;
  1593. }
  1594. int r90to_integer(T90* C){
  1595. int R=0;
  1596. r90error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T90*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1597. return R;
  1598. }
  1599. int r90is_a(T90* C,T0* a1){
  1600. int R=0;
  1601. R=X291is_a(X291run_type((((T90*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  1602. /*IF*/if (!(R)) {
  1603. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T90*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  1604. r90error(X662start_position(a1),((T0*)ms4_662));
  1605. }
  1606. /*FI*/return R;
  1607. }
  1608. /*No:CALL_INFIX_IMPLIES.is_current*/
  1609. void r90make(T90* C,T0* a1,T0* a2,T0* a3){
  1610. T0* _eal=NULL;
  1611. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  1612. r683add_position(a2);
  1613. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  1614. r683fatal_error(((T683*)(oBC364eh)),b1);
  1615. }/*]*/
  1616. }
  1617. /*FI*/{T454*n=malloc(sizeof(*n));
  1618. *n=M454;
  1619. r454make(n,r90operator(),a2);
  1620. C->_feature_name=(T0*)n;
  1621. }
  1622. {T431*n=malloc(sizeof(*n));
  1623. *n=M431;
  1624. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  1625. /*]*/
  1626. _eal=(T0*)n;
  1627. }
  1628. r90make_call_1(C,a1,(((T90*)C))->_feature_name/*24*/,_eal);
  1629. }
  1630. void r90print_as_target(T90* C){
  1631. r238put_character(((T238*)(oBC364fmt)),'\50');
  1632. r90pretty_print(C);
  1633. r238put_character(((T238*)(oBC364fmt)),'\51');
  1634. r238put_character(((T238*)(oBC364fmt)),'\56');
  1635. }
  1636. /*No:CALL_INFIX_IMPLIES.nb_errors*/
  1637. /*No:CALL_INFIX_IMPLIES.feature_name*/
  1638. /*No:CALL_INFIX_IMPLIES.fz_iinaiv*/
  1639. /*No:CALL_INFIX_IMPLIES.run_feature*/
  1640. /*No:CALL_INFIX_IMPLIES.start_position*/
  1641. /*No:CALL_INFIX_IMPLIES.target*/
  1642. /*No:CALL_INFIX_IMPLIES.precedence*/
  1643. T0* r90to_runnable(T90* C,T0* a1){
  1644. T0* R=NULL;
  1645. T0* _tla=NULL;
  1646. T0* _a=NULL;
  1647. /*IF*/if (((((T90*)C))->_current_type/*4*/)==((void*)(NULL))) {
  1648. r90to_runnable_0(C,a1);
  1649. _a=r431to_runnable(((T431*)((((T90*)C))->_arguments/*20*/)),a1);
  1650. /*IF*/if ((_a)==((void*)(NULL))) {
  1651. r90error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  1652. }
  1653. else {
  1654. C->_arguments=_a;
  1655. }
  1656. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1657. r431match_with(((T431*)((((T90*)C))->_arguments/*20*/)),(((T90*)C))->_run_feature/*12*/);
  1658. }
  1659. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1660. _tla=(((T90*)C))->_result_type/*16*/;
  1661. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1662. case 239: 
  1663. break;
  1664. default:
  1665. _tla=NULL;
  1666. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  1667. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/));
  1668. }
  1669. /*FI*/}
  1670. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1671. R=(T0*)C;
  1672. }
  1673. /*FI*/}
  1674. else {
  1675. R=r90twin(C);
  1676. /*[IRF3.3set_current_type*/((((T90*)(((T90*)R))))->_current_type)=(NULL);
  1677. /*]*/
  1678. R=r90to_runnable(((T90*)R),a1);
  1679. }
  1680. /*FI*/return R;
  1681. }
  1682. void r90bracketed_pretty_print(T90* C){
  1683. r238put_character(((T238*)(oBC364fmt)),'\50');
  1684. r90pretty_print(C);
  1685. r238put_character(((T238*)(oBC364fmt)),'\51');
  1686. }
  1687. /*No:CALL_INFIX_IMPLIES.result_type*/
  1688. T0* r90twin(T90* C){
  1689. T0* R=NULL;
  1690. R=malloc(sizeof(*C));
  1691. *((T90*)R)=*C;
  1692. return R;
  1693. }
  1694. /*No:CALL_INFIX_IMPLIES.set_current_type*/
  1695. T0* r90operator(void){
  1696. T0* R=NULL;
  1697. R=((T0*)ms34_473);
  1698. return R;
  1699. }
  1700. /*No:CALL_INFIX_IMPLIES.atomic_precedence*/
  1701. void r90pretty_print(T90* C){
  1702. /*IF*/if ((X662precedence((((T90*)C))->_target/*8*/))==(13)) {
  1703. X662pretty_print((((T90*)C))->_target/*8*/);
  1704. r90print_op(C);
  1705. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  1706. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/);
  1707. }
  1708.  else if ((3)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/))) {
  1709. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/);
  1710. }
  1711. else {
  1712. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/);
  1713. }
  1714. /*FI*/}
  1715.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  1716. /*IF*/if ((X662precedence((((T90*)C))->_target/*8*/))>=(3)) {
  1717. X662bracketed_pretty_print((((T90*)C))->_target/*8*/);
  1718. }
  1719. else {
  1720. X662pretty_print((((T90*)C))->_target/*8*/);
  1721. }
  1722. /*FI*/r90print_op(C);
  1723. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/);
  1724. }
  1725.  else if ((3)<=(X662precedence((((T90*)C))->_target/*8*/))) {
  1726. X662bracketed_pretty_print((((T90*)C))->_target/*8*/);
  1727. r90print_op(C);
  1728. /*IF*/if ((3)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/))) {
  1729. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/);
  1730. }
  1731. else {
  1732. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/);
  1733. }
  1734. /*FI*/}
  1735. else {
  1736. X662pretty_print((((T90*)C))->_target/*8*/);
  1737. r90print_op(C);
  1738. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/);
  1739. }
  1740. /*FI*/}
  1741. /*No:CALL_INFIX_IMPLIES.us_implies*/
  1742. void r90print_op(T90* C){
  1743. r238put_character(((T238*)(oBC364fmt)),'\40');
  1744. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T90*)C))->_feature_name/*24*/));
  1745. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  1746. }/*]*/
  1747. r238put_character(((T238*)(oBC364fmt)),'\40');
  1748. }
  1749. /*No:CALL_INFIX_IMPLIES.current_type*/
  1750. void r90make_call_1(T90* C,T0* a1,T0* a2,T0* a3){
  1751. C->_target=a1;
  1752. C->_feature_name=a2;
  1753. C->_arguments=a3;
  1754. }
  1755. /*No:CALL_INFIX_IMPLIES.is_manifest_string*/
  1756. /*No:CALL_INFIX_IMPLIES.is_void*/
  1757. void r90to_runnable_0(T90* C,T0* a1){
  1758. C->_current_type=a1;
  1759. r90cpc_to_runnable(C,a1);
  1760. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T90*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  1761. /*IF*/if (((((T90*)C))->_result_type/*16*/)==((void*)(NULL))) {
  1762. r683add_position(X496start_position((((T90*)C))->_run_feature/*12*/));
  1763. r90error((((T454*)((T454*)((((T90*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  1764. }
  1765.  else if (X291is_like_current((((T90*)C))->_result_type/*16*/)) {
  1766. C->_result_type=X662result_type((((T90*)C))->_target/*8*/);
  1767. }
  1768. /*FI*/}
  1769. void r90cpc_to_runnable(T90* C,T0* a1){
  1770. T0* _rc=NULL;
  1771. T0* _t=NULL;
  1772. _t=X662to_runnable((((T90*)C))->_target/*8*/,a1);
  1773. /*IF*/if ((_t)==((void*)(NULL))) {
  1774. r683add_position(X662start_position((((T90*)C))->_target/*8*/));
  1775. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  1776. r683fatal_error(((T683*)(oBC364eh)),b1);
  1777. }/*]*/
  1778. }
  1779. /*FI*/C->_target=_t;
  1780. _rc=X291run_class(X662result_type((((T90*)C))->_target/*8*/));
  1781. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  1782. r576update((((T90*)C))->_target/*8*/,(((T90*)C))->_run_feature/*12*/);
  1783. }
  1784. void r90error(T0* a1,T0* a2){
  1785. r683add_position(a1);
  1786. r683error(((T683*)(oBC364eh)),a2);
  1787. }
  1788. /*No:CALL_INFIX_IMPLIES.fatal_error*/
  1789. /*No:CALL_INFIX_IMPLIES.fz_bad_argument*/
  1790. /*No:CALL_INFIX_IMPLIES.arg1*/
  1791.  
  1792.