home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / pretty22.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  45.8 KB  |  1,652 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 r669has_creation(T669* C,T0* a1){
  10. int R=0;
  11. r683add_position(X776start_position(a1));
  12. r669error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T669*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_669));
  13. return R;
  14. }
  15. /*No:TYPE_ANY.is_anchored*/
  16. /*No:TYPE_ANY.is_array*/
  17. int r669is_a(T669* C,T0* a1){
  18. int R=0;
  19. /*IF*/if (X291is_any(a1)) {
  20. R=1;
  21. }
  22. else {
  23. R=r605is_subclass_of(((T605*)(r669base_class(C))),X291base_class(a1));
  24. }
  25. /*FI*//*IF*/if (!(R)) {
  26. r683add_type((T0*)C,((T0*)ms71_470));
  27. r683add_type(a1,((T0*)ms67_470));
  28. }
  29. /*FI*/return R;
  30. }
  31. /*No:TYPE_ANY.run_type*/
  32. /*No:TYPE_ANY.is_pointer*/
  33. /*No:TYPE_ANY.is_string*/
  34. /*No:TYPE_ANY.is_like_feature*/
  35. /*No:TYPE_ANY.is_like_current*/
  36. void r669make(T669* C,T0* a1){
  37. {T451*n=malloc(sizeof(*n));
  38. *n=M451;
  39. r451make(n,((T0*)ms1_473),a1);
  40. C->_base_class_name=(T0*)n;
  41. }
  42. }
  43. /*No:TYPE_ANY.nb_errors*/
  44. int fBC669check_type=0;
  45. void r669check_type(T669* C){
  46. if (fBC669check_type==0){
  47. T0* _rc=NULL;
  48. T0* _bc=NULL;
  49. fBC669check_type=1;
  50. _bc=r669base_class(C);
  51. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  52. _rc=r669run_class(C);
  53. }
  54. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  55. /*IF*/if ((((T605*)((T605*)_bc)))->_is_expanded/*20*/) {
  56. r669error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T669*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms2_669));
  57. }
  58. /*FI*/}
  59. /*FI*/}}
  60. /*No:TYPE_ANY.start_position*/
  61. /*No:TYPE_ANY.fz_inako*/
  62. /*No:TYPE_ANY.is_character*/
  63. T0* r669written_mark(void){
  64. T0* R=NULL;
  65. R=((T0*)ms1_473);
  66. return R;
  67. }
  68. T0* r669to_runnable(T669* C,T0* a1){
  69. T0* R=NULL;
  70. R=(T0*)C;
  71. r669check_type(C);
  72. return R;
  73. }
  74. /*No:TYPE_ANY.is_run_type*/
  75. /*No:TYPE_ANY.is_formal_generic*/
  76. T0* r669generic_list(T669* C){
  77. T0* R=NULL;
  78. r669fatal_error_generic_list(C);
  79. return R;
  80. }
  81. /*No:TYPE_ANY.is_real*/
  82. /*No:TYPE_ANY.is_bit*/
  83. void r669fatal_error_generic_list(T669* C){
  84. r683add_type((T0*)C,((T0*)ms12_291));
  85. r683print_as_fatal_error(((T683*)(oBC364eh)));
  86. }
  87. /*No:TYPE_ANY.pretty_print*/
  88. /*No:TYPE_ANY.smallest_ancestor*/
  89. /*No:TYPE_ANY.is_boolean*/
  90. /*No:TYPE_ANY.is_double*/
  91. T0* r669run_class(T669* C){
  92. T0* R=NULL;
  93. R=r604run_class((T0*)C);
  94. return R;
  95. }
  96. T0* r669run_time_mark(void){
  97. T0* R=NULL;
  98. R=((T0*)ms1_473);
  99. return R;
  100. }
  101. int r669is_a_in(T669* C,T0* a1,T0* a2){
  102. int R=0;
  103. T0* _ct=NULL;
  104. T0* _t2=NULL;
  105. T0* _t1=NULL;
  106. /*IF*/if ((r669written_mark())==((void*)(X291written_mark(a1)))) {
  107. R=1;
  108. }
  109. else {
  110. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  111. _t1=r669to_runnable(C,_ct);
  112. _t2=X291to_runnable(a1,_ct);
  113. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  114. R=1;
  115. }
  116. else {
  117. R=X291is_a(_t1,_t2);
  118. }
  119. /*FI*/}
  120. /*FI*/return R;
  121. }
  122. T0* r669look_up_for(T669* C,T0* a1,T0* a2){
  123. T0* R=NULL;
  124. R=r605look_up_for(((T605*)(r669base_class(C))),a1,a2);
  125. return R;
  126. }
  127. /*No:TYPE_ANY.expanded_initializer*/
  128. /*No:TYPE_ANY.fz_dot*/
  129. /*No:TYPE_ANY.is_generic*/
  130. /*No:TYPE_ANY.used_as_reference*/
  131. /*No:TYPE_ANY.is_reference*/
  132. void r669error(T0* a1,T0* a2){
  133. r683add_position(a1);
  134. r683error(((T683*)(oBC364eh)),a2);
  135. }
  136. T0* r669base_class(T669* C){
  137. T0* R=NULL;
  138. T0* _bcn=NULL;
  139. _bcn=(((T669*)C))->_base_class_name/*4*/;
  140. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  141. R=r451base_class(((T451*)_bcn));
  142. }
  143. else {
  144. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  145. r7append(((T7*)(oBC683explanation)),b1);
  146. }/*]*/
  147. r683add_type((T0*)C,((T0*)ms67_470));
  148. r683print_as_fatal_error(((T683*)(oBC364eh)));
  149. }
  150. /*FI*/return R;
  151. }
  152. /*No:TYPE_ANY.is_any*/
  153. /*No:TYPE_ANY.base_class_name*/
  154. /*No:TYPE_ANY.is_expanded*/
  155. /*No:TYPE_ANY.is_basic_eiffel_expanded*/
  156. /*No:TYPE_ANY.is_none*/
  157. /*No:TYPE_ANY.is_integer*/
  158. /*No:TYPE_ANY.us_any*/
  159. /*No:CALL_INFIX_FREEOP.arguments*/
  160. T0* r534add_comment(T534* C,T0* a1){
  161. T0* R=NULL;
  162. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  163. R=(T0*)C;
  164. }
  165. else {
  166. {T529*n=malloc(sizeof(*n));
  167. *n=M529;
  168. r529make(n,(T0*)C,a1);
  169. R=(T0*)n;
  170. }
  171. }
  172. /*FI*/return R;
  173. }
  174. int r534to_integer(T534* C){
  175. int R=0;
  176. r534error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T534*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  177. return R;
  178. }
  179. int r534is_a(T534* C,T0* a1){
  180. int R=0;
  181. R=X291is_a(X291run_type((((T534*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  182. /*IF*/if (!(R)) {
  183. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T534*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  184. r534error(X662start_position(a1),((T0*)ms4_662));
  185. }
  186. /*FI*/return R;
  187. }
  188. /*No:CALL_INFIX_FREEOP.is_current*/
  189. void r534make(T534* C,T0* a1,T0* a2,T0* a3){
  190. T0* _eal=NULL;
  191. {T431*n=malloc(sizeof(*n));
  192. *n=M431;
  193. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  194. /*]*/
  195. _eal=(T0*)n;
  196. }
  197. r534make_call_1(C,a1,a2,_eal);
  198. }
  199. void r534print_as_target(T534* C){
  200. r238put_character(((T238*)(oBC364fmt)),'\50');
  201. r534pretty_print(C);
  202. r238put_character(((T238*)(oBC364fmt)),'\51');
  203. r238put_character(((T238*)(oBC364fmt)),'\56');
  204. }
  205. /*No:CALL_INFIX_FREEOP.nb_errors*/
  206. /*No:CALL_INFIX_FREEOP.feature_name*/
  207. /*No:CALL_INFIX_FREEOP.fz_iinaiv*/
  208. /*No:CALL_INFIX_FREEOP.run_feature*/
  209. /*No:CALL_INFIX_FREEOP.start_position*/
  210. /*No:CALL_INFIX_FREEOP.target*/
  211. /*No:CALL_INFIX_FREEOP.precedence*/
  212. T0* r534to_runnable(T534* C,T0* a1){
  213. T0* R=NULL;
  214. T0* _tla=NULL;
  215. T0* _a=NULL;
  216. /*IF*/if (((((T534*)C))->_current_type/*4*/)==((void*)(NULL))) {
  217. r534to_runnable_0(C,a1);
  218. _a=r431to_runnable(((T431*)((((T534*)C))->_arguments/*20*/)),a1);
  219. /*IF*/if ((_a)==((void*)(NULL))) {
  220. r534error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  221. }
  222. else {
  223. C->_arguments=_a;
  224. }
  225. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  226. r431match_with(((T431*)((((T534*)C))->_arguments/*20*/)),(((T534*)C))->_run_feature/*12*/);
  227. }
  228. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  229. _tla=(((T534*)C))->_result_type/*16*/;
  230. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  231. case 239: 
  232. break;
  233. default:
  234. _tla=NULL;
  235. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  236. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/));
  237. }
  238. /*FI*/}
  239. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  240. R=(T0*)C;
  241. }
  242. /*FI*/}
  243. else {
  244. R=r534twin(C);
  245. /*[IRF3.3set_current_type*/((((T534*)(((T534*)R))))->_current_type)=(NULL);
  246. /*]*/
  247. R=r534to_runnable(((T534*)R),a1);
  248. }
  249. /*FI*/return R;
  250. }
  251. void r534bracketed_pretty_print(T534* C){
  252. r238put_character(((T238*)(oBC364fmt)),'\50');
  253. r534pretty_print(C);
  254. r238put_character(((T238*)(oBC364fmt)),'\51');
  255. }
  256. /*No:CALL_INFIX_FREEOP.result_type*/
  257. T0* r534twin(T534* C){
  258. T0* R=NULL;
  259. R=malloc(sizeof(*C));
  260. *((T534*)R)=*C;
  261. return R;
  262. }
  263. /*No:CALL_INFIX_FREEOP.set_current_type*/
  264. /*No:CALL_INFIX_FREEOP.atomic_precedence*/
  265. void r534pretty_print(T534* C){
  266. /*IF*/if ((X662precedence((((T534*)C))->_target/*8*/))==(13)) {
  267. X662pretty_print((((T534*)C))->_target/*8*/);
  268. r534print_op(C);
  269. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  270. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/);
  271. }
  272.  else if ((10)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/))) {
  273. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/);
  274. }
  275. else {
  276. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/);
  277. }
  278. /*FI*/}
  279.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  280. /*IF*/if ((X662precedence((((T534*)C))->_target/*8*/))>=(10)) {
  281. X662bracketed_pretty_print((((T534*)C))->_target/*8*/);
  282. }
  283. else {
  284. X662pretty_print((((T534*)C))->_target/*8*/);
  285. }
  286. /*FI*/r534print_op(C);
  287. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/);
  288. }
  289.  else if ((10)<=(X662precedence((((T534*)C))->_target/*8*/))) {
  290. X662bracketed_pretty_print((((T534*)C))->_target/*8*/);
  291. r534print_op(C);
  292. /*IF*/if ((10)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/))) {
  293. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/);
  294. }
  295. else {
  296. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/);
  297. }
  298. /*FI*/}
  299. else {
  300. X662pretty_print((((T534*)C))->_target/*8*/);
  301. r534print_op(C);
  302. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/);
  303. }
  304. /*FI*/}
  305. void r534print_op(T534* C){
  306. r238put_character(((T238*)(oBC364fmt)),'\40');
  307. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T534*)C))->_feature_name/*24*/));
  308. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  309. }/*]*/
  310. r238put_character(((T238*)(oBC364fmt)),'\40');
  311. }
  312. /*No:CALL_INFIX_FREEOP.current_type*/
  313. void r534make_call_1(T534* C,T0* a1,T0* a2,T0* a3){
  314. C->_target=a1;
  315. C->_feature_name=a2;
  316. C->_arguments=a3;
  317. }
  318. /*No:CALL_INFIX_FREEOP.is_manifest_string*/
  319. /*No:CALL_INFIX_FREEOP.is_void*/
  320. void r534to_runnable_0(T534* C,T0* a1){
  321. C->_current_type=a1;
  322. r534cpc_to_runnable(C,a1);
  323. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T534*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  324. /*IF*/if (((((T534*)C))->_result_type/*16*/)==((void*)(NULL))) {
  325. r683add_position(X496start_position((((T534*)C))->_run_feature/*12*/));
  326. r534error((((T454*)((T454*)((((T534*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  327. }
  328.  else if (X291is_like_current((((T534*)C))->_result_type/*16*/)) {
  329. C->_result_type=X662result_type((((T534*)C))->_target/*8*/);
  330. }
  331. /*FI*/}
  332. void r534cpc_to_runnable(T534* C,T0* a1){
  333. T0* _rc=NULL;
  334. T0* _t=NULL;
  335. _t=X662to_runnable((((T534*)C))->_target/*8*/,a1);
  336. /*IF*/if ((_t)==((void*)(NULL))) {
  337. r683add_position(X662start_position((((T534*)C))->_target/*8*/));
  338. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  339. r683fatal_error(((T683*)(oBC364eh)),b1);
  340. }/*]*/
  341. }
  342. /*FI*/C->_target=_t;
  343. _rc=X291run_class(X662result_type((((T534*)C))->_target/*8*/));
  344. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  345. r576update((((T534*)C))->_target/*8*/,(((T534*)C))->_run_feature/*12*/);
  346. }
  347. void r534error(T0* a1,T0* a2){
  348. r683add_position(a1);
  349. r683error(((T683*)(oBC364eh)),a2);
  350. }
  351. /*No:CALL_INFIX_FREEOP.fatal_error*/
  352. /*No:CALL_INFIX_FREEOP.fz_bad_argument*/
  353. /*No:CALL_INFIX_FREEOP.arg1*/
  354. /*No:CALL_N.arguments*/
  355. T0* r915add_comment(T915* C,T0* a1){
  356. T0* R=NULL;
  357. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  358. R=(T0*)C;
  359. }
  360. else {
  361. {T529*n=malloc(sizeof(*n));
  362. *n=M529;
  363. r529make(n,(T0*)C,a1);
  364. R=(T0*)n;
  365. }
  366. }
  367. /*FI*/return R;
  368. }
  369. int r915to_integer(T915* C){
  370. int R=0;
  371. r915error(r915start_position(C),((T0*)ms69_470));
  372. return R;
  373. }
  374. int r915is_a(T915* C,T0* a1){
  375. int R=0;
  376. R=X291is_a(X291run_type((((T915*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  377. /*IF*/if (!(R)) {
  378. r683add_position(r915start_position(C));
  379. r915error(X662start_position(a1),((T0*)ms4_662));
  380. }
  381. /*FI*/return R;
  382. }
  383. /*No:CALL_N.fz_bad_arguments*/
  384. /*No:CALL_N.is_current*/
  385. void r915make(T915* C,T0* a1,T0* a2,T0* a3){
  386. C->_target=a1;
  387. C->_feature_name=a2;
  388. C->_arguments=a3;
  389. }
  390. void r915print_as_target(T915* C){
  391. r915pretty_print(C);
  392. r238put_character(((T238*)(oBC364fmt)),'\56');
  393. }
  394. /*No:CALL_N.nb_errors*/
  395. /*No:CALL_N.feature_name*/
  396. /*No:CALL_N.fz_iinaiv*/
  397. /*No:CALL_N.dot_precedence*/
  398. /*No:CALL_N.run_feature*/
  399. T0* r915start_position(T915* C){
  400. T0* R=NULL;
  401. R=X776start_position((((T915*)C))->_feature_name/*12*/);
  402. return R;
  403. }
  404. /*No:CALL_N.target*/
  405. /*No:CALL_N.precedence*/
  406. T0* r915to_runnable(T915* C,T0* a1){
  407. T0* R=NULL;
  408. T0* _e=NULL;
  409. T0* _tla=NULL;
  410. T0* _a=NULL;
  411. /*IF*/if (((((T915*)C))->_current_type/*4*/)==((void*)(NULL))) {
  412. r915to_runnable_0(C,a1);
  413. _a=r431to_runnable(((T431*)((((T915*)C))->_arguments/*24*/)),a1);
  414. /*IF*/if ((_a)==((void*)(NULL))) {
  415. r915error(r431start_position(((T431*)((((T915*)C))->_arguments/*24*/))),((T0*)ms56_470));
  416. }
  417. else {
  418. C->_arguments=_a;
  419. }
  420. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  421. r431match_with(((T431*)((((T915*)C))->_arguments/*24*/)),(((T915*)C))->_run_feature/*16*/);
  422. }
  423. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  424. _tla=(((T915*)C))->_result_type/*20*/;
  425. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  426. case 239: 
  427. break;
  428. default:
  429. _tla=NULL;
  430. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  431. _e=r431expression(((T431*)((((T915*)C))->_arguments/*24*/)),/*(IRF4.6rank*/(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_rank/*16*//*)*/);
  432. C->_result_type=X291run_type(X662result_type(_e));
  433. }
  434. /*FI*/}
  435. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  436. R=(T0*)C;
  437. }
  438. /*FI*/}
  439. else {
  440. R=r915twin(C);
  441. /*[IRF3.3set_current_type*/((((T915*)(((T915*)R))))->_current_type)=(NULL);
  442. /*]*/
  443. R=r915to_runnable(((T915*)R),a1);
  444. }
  445. /*FI*/return R;
  446. }
  447. void r915bracketed_pretty_print(T915* C){
  448. X662print_as_target((((T915*)C))->_target/*8*/);
  449. r238put_string(((T238*)(oBC364fmt)),X776to_string((((T915*)C))->_feature_name/*12*/));
  450. r238level_incr(((T238*)(oBC364fmt)));
  451. r431pretty_print(((T431*)((((T915*)C))->_arguments/*24*/)));
  452. r238level_decr(((T238*)(oBC364fmt)));
  453. }
  454. /*No:CALL_N.result_type*/
  455. T0* r915twin(T915* C){
  456. T0* R=NULL;
  457. R=malloc(sizeof(*C));
  458. *((T915*)R)=*C;
  459. return R;
  460. }
  461. /*No:CALL_N.set_current_type*/
  462. void r915pretty_print(T915* C){
  463. X662print_as_target((((T915*)C))->_target/*8*/);
  464. r238put_string(((T238*)(oBC364fmt)),X776to_string((((T915*)C))->_feature_name/*12*/));
  465. r238level_incr(((T238*)(oBC364fmt)));
  466. r431pretty_print(((T431*)((((T915*)C))->_arguments/*24*/)));
  467. r238level_decr(((T238*)(oBC364fmt)));
  468. }
  469. /*No:CALL_N.current_type*/
  470. /*No:CALL_N.is_manifest_string*/
  471. /*No:CALL_N.is_void*/
  472. void r915to_runnable_0(T915* C,T0* a1){
  473. C->_current_type=a1;
  474. r915cpc_to_runnable(C,a1);
  475. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T915*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  476. /*IF*/if (((((T915*)C))->_result_type/*20*/)==((void*)(NULL))) {
  477. r683add_position(X496start_position((((T915*)C))->_run_feature/*16*/));
  478. r915error(X776start_position((((T915*)C))->_feature_name/*12*/),((T0*)ms1_295));
  479. }
  480.  else if (X291is_like_current((((T915*)C))->_result_type/*20*/)) {
  481. C->_result_type=X662result_type((((T915*)C))->_target/*8*/);
  482. }
  483. /*FI*/}
  484. void r915cpc_to_runnable(T915* C,T0* a1){
  485. T0* _rc=NULL;
  486. T0* _t=NULL;
  487. _t=X662to_runnable((((T915*)C))->_target/*8*/,a1);
  488. /*IF*/if ((_t)==((void*)(NULL))) {
  489. r683add_position(X662start_position((((T915*)C))->_target/*8*/));
  490. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  491. r683fatal_error(((T683*)(oBC364eh)),b1);
  492. }/*]*/
  493. }
  494. /*FI*/C->_target=_t;
  495. _rc=X291run_class(X662result_type((((T915*)C))->_target/*8*/));
  496. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  497. r576update((((T915*)C))->_target/*8*/,(((T915*)C))->_run_feature/*16*/);
  498. }
  499. void r915error(T0* a1,T0* a2){
  500. r683add_position(a1);
  501. r683error(((T683*)(oBC364eh)),a2);
  502. }
  503. /*No:CALL_N.fatal_error*/
  504. void r999error_comparison(T999* C,T0* a1){
  505. r683add_position((((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*/);
  506. /*[IRF3.6append*/{T0* b1=((T0*)ms7_841);
  507. r7append(((T7*)(oBC683explanation)),b1);
  508. }/*]*/
  509. /*[IRF3.6append*/{T0* b1=a1;
  510. r7append(((T7*)(oBC683explanation)),b1);
  511. }/*]*/
  512. /*[IRF3.6append*/{T0* b1=((T0*)ms8_841);
  513. r7append(((T7*)(oBC683explanation)),b1);
  514. }/*]*/
  515. r683add_type((((T999*)C))->_current_type/*4*/,((T0*)ms67_470));
  516. r683print_as_error(((T683*)(oBC364eh)));
  517. }
  518. /*No:CALL_INFIX_EQ.arguments*/
  519. T0* r999add_comment(T999* C,T0* a1){
  520. T0* R=NULL;
  521. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  522. R=(T0*)C;
  523. }
  524. else {
  525. {T529*n=malloc(sizeof(*n));
  526. *n=M529;
  527. r529make(n,(T0*)C,a1);
  528. R=(T0*)n;
  529. }
  530. }
  531. /*FI*/return R;
  532. }
  533. int r999to_integer(T999* C){
  534. int R=0;
  535. r999error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  536. return R;
  537. }
  538. int r999is_a(T999* C,T0* a1){
  539. int R=0;
  540. R=X291is_a(X291run_type((((T999*)C))->_result_type/*12*/),X291run_type(X662result_type(a1)));
  541. /*IF*/if (!(R)) {
  542. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/);
  543. r999error(X662start_position(a1),((T0*)ms4_662));
  544. }
  545. /*FI*/return R;
  546. }
  547. /*No:CALL_INFIX_EQ.is_current*/
  548. T0* r999type_boolean(void){
  549. if (fBC364type_boolean==0){
  550. T0* R=NULL;
  551. fBC364type_boolean=1;
  552. {T707*n=malloc(sizeof(*n));
  553. *n=M707;
  554. r707make(n,NULL);
  555. R=(T0*)n;
  556. }
  557. oBC364type_boolean=R;}
  558. return oBC364type_boolean;}
  559. void r999make(T999* C,T0* a1,T0* a2,T0* a3){
  560. T0* _eal=NULL;
  561. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  562. r683add_position(a2);
  563. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  564. r683fatal_error(((T683*)(oBC364eh)),b1);
  565. }/*]*/
  566. }
  567. /*FI*/{T454*n=malloc(sizeof(*n));
  568. *n=M454;
  569. r454make(n,r999operator(),a2);
  570. C->_feature_name=(T0*)n;
  571. }
  572. {T431*n=malloc(sizeof(*n));
  573. *n=M431;
  574. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  575. /*]*/
  576. _eal=(T0*)n;
  577. }
  578. r999make_call_1(C,a1,(((T999*)C))->_feature_name/*20*/,_eal);
  579. }
  580. void r999print_as_target(T999* C){
  581. r238put_character(((T238*)(oBC364fmt)),'\50');
  582. r999pretty_print(C);
  583. r238put_character(((T238*)(oBC364fmt)),'\51');
  584. r238put_character(((T238*)(oBC364fmt)),'\56');
  585. }
  586. /*No:CALL_INFIX_EQ.nb_errors*/
  587. void r999to_runnable_equal_not_equal(T999* C,T0* a1){
  588. T0* _at=NULL;
  589. T0* _tt=NULL;
  590. T0* _a=NULL;
  591. T0* _t=NULL;
  592. C->_current_type=a1;
  593. _t=X662to_runnable((((T999*)C))->_target/*8*/,a1);
  594. /*IF*/if ((_t)==((void*)(NULL))) {
  595. r999error(X662start_position((((T999*)C))->_target/*8*/),((T0*)ms1_841));
  596. }
  597. else {
  598. C->_target=_t;
  599. }
  600. /*FI*/_a=r431to_runnable(((T431*)((((T999*)C))->_arguments/*16*/)),a1);
  601. /*IF*/if ((_a)!=((void*)(NULL))) {
  602. C->_arguments=_a;
  603. }
  604. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  605. _tt=X291run_type(X662result_type((((T999*)C))->_target/*8*/));
  606. _at=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/));
  607. /*IF*/if (X291is_none(_tt)) {
  608. /*IF*/if (X291is_expanded(_at)) {
  609. X291used_as_reference(_at);
  610. }
  611. /*FI*/}
  612.  else if (X291is_none(_at)) {
  613. /*IF*/if (X291is_expanded(_tt)) {
  614. X291used_as_reference(_tt);
  615. }
  616. /*FI*/}
  617.  else if (X291is_reference(_tt)) {
  618. /*IF*/if (X291is_reference(_at)) {
  619. /*IF*/if (X291is_a(_tt,_at)) {
  620. }
  621. else {
  622. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  623. /*]*/
  624. r38clear(((T38*)(oBC683positions)));
  625. /*]*/
  626. /*IF*/if (X291is_a(_at,_tt)) {
  627. }
  628. else {
  629. r999error_comparison(C,((T0*)ms2_841));
  630. }
  631. /*FI*/}
  632. /*FI*/}
  633.  else if (!(X291is_a(_at,_tt))) {
  634. r999error_comparison(C,((T0*)ms3_841));
  635. }
  636. else {
  637. X291used_as_reference(_at);
  638. }
  639. /*FI*/}
  640. else {
  641. /*IF*/if (X291is_expanded(_at)) {
  642. /*IF*/if (X291is_basic_eiffel_expanded(_at)) {
  643. /*IF*/if (X291is_a(_tt,_at)) {
  644. }
  645. else {
  646. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  647. /*]*/
  648. r38clear(((T38*)(oBC683positions)));
  649. /*]*/
  650. /*IF*/if (X291is_a(_at,_tt)) {
  651. }
  652. else {
  653. r999error_comparison(C,((T0*)ms4_841));
  654. }
  655. /*FI*/}
  656. /*FI*/}
  657.  else if (X291is_bit(_tt)) {
  658. r999bit_limitation(C,_tt,_at);
  659. }
  660.  else if (!(X291is_a(_at,_tt))) {
  661. r999error_comparison(C,((T0*)ms5_841));
  662. }
  663. /*FI*/}
  664.  else if (!(X291is_a(_tt,_at))) {
  665. r999error_comparison(C,((T0*)ms6_841));
  666. }
  667. else {
  668. X291used_as_reference(_tt);
  669. }
  670. /*FI*/}
  671. /*FI*/}
  672. /*FI*/}
  673. /*No:CALL_INFIX_EQ.feature_name*/
  674. /*No:CALL_INFIX_EQ.fz_iinaiv*/
  675. /*No:CALL_INFIX_EQ.start_position*/
  676. /*No:CALL_INFIX_EQ.target*/
  677. /*No:CALL_INFIX_EQ.precedence*/
  678. T0* r999to_runnable(T999* C,T0* a1){
  679. T0* R=NULL;
  680. /*IF*/if (((((T999*)C))->_current_type/*4*/)==((void*)(NULL))) {
  681. r999to_runnable_equal_not_equal(C,a1);
  682. C->_result_type=r999type_boolean();
  683. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  684. R=(T0*)C;
  685. }
  686. /*FI*/}
  687. else {
  688. {T999*n=malloc(sizeof(*n));
  689. *n=M999;
  690. r999make(n,(((T999*)C))->_target/*8*/,(((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*/,/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/);
  691. R=(T0*)n;
  692. }
  693. R=r999to_runnable(((T999*)R),a1);
  694. }
  695. /*FI*/return R;
  696. }
  697. void r999bracketed_pretty_print(T999* C){
  698. r238put_character(((T238*)(oBC364fmt)),'\50');
  699. r999pretty_print(C);
  700. r238put_character(((T238*)(oBC364fmt)),'\51');
  701. }
  702. /*No:CALL_INFIX_EQ.result_type*/
  703. T0* r999operator(void){
  704. T0* R=NULL;
  705. R=((T0*)ms31_473);
  706. return R;
  707. }
  708. /*No:CALL_INFIX_EQ.atomic_precedence*/
  709. void r999pretty_print(T999* C){
  710. /*IF*/if ((X662precedence((((T999*)C))->_target/*8*/))==(13)) {
  711. X662pretty_print((((T999*)C))->_target/*8*/);
  712. r999print_op(C);
  713. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/))==(13)) {
  714. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/);
  715. }
  716.  else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/))) {
  717. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/);
  718. }
  719. else {
  720. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/);
  721. }
  722. /*FI*/}
  723.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/))==(13)) {
  724. /*IF*/if ((X662precedence((((T999*)C))->_target/*8*/))>=(6)) {
  725. X662bracketed_pretty_print((((T999*)C))->_target/*8*/);
  726. }
  727. else {
  728. X662pretty_print((((T999*)C))->_target/*8*/);
  729. }
  730. /*FI*/r999print_op(C);
  731. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/);
  732. }
  733.  else if ((6)<=(X662precedence((((T999*)C))->_target/*8*/))) {
  734. X662bracketed_pretty_print((((T999*)C))->_target/*8*/);
  735. r999print_op(C);
  736. /*IF*/if ((6)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/))) {
  737. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/);
  738. }
  739. else {
  740. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/);
  741. }
  742. /*FI*/}
  743. else {
  744. X662pretty_print((((T999*)C))->_target/*8*/);
  745. r999print_op(C);
  746. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/);
  747. }
  748. /*FI*/}
  749. void r999print_op(T999* C){
  750. r238put_character(((T238*)(oBC364fmt)),'\40');
  751. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T999*)C))->_feature_name/*20*/));
  752. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  753. }/*]*/
  754. r238put_character(((T238*)(oBC364fmt)),'\40');
  755. }
  756. void r999bit_limitation(T999* C,T0* a1,T0* a2){
  757. T0* _b2=NULL;
  758. T0* _b1=NULL;
  759. _b1=a1;
  760. if(NULL!=(_b1))switch(((T0*)_b1)->id) {
  761. case 549: case 558: 
  762. break;
  763. default:
  764. _b1=NULL;
  765. };_b2=a2;
  766. if(NULL!=(_b2))switch(((T0*)_b2)->id) {
  767. case 549: case 558: 
  768. break;
  769. default:
  770. _b2=NULL;
  771. };/*IF*/if ((X609nb(_b1))!=(X609nb(_b2))) {
  772. r683add_position((((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*/);
  773. /*[IRF3.6append*/{T0* b1=((T0*)ms9_841);
  774. r7append(((T7*)(oBC683explanation)),b1);
  775. }/*]*/
  776. r683add_type(_b1,((T0*)ms10_841));
  777. r683add_type(_b2,((T0*)ms11_841));
  778. r683print_as_fatal_error(((T683*)(oBC364eh)));
  779. }
  780. /*FI*/}
  781. /*No:CALL_INFIX_EQ.current_type*/
  782. void r999make_call_1(T999* C,T0* a1,T0* a2,T0* a3){
  783. C->_target=a1;
  784. C->_feature_name=a2;
  785. C->_arguments=a3;
  786. }
  787. /*No:CALL_INFIX_EQ.is_manifest_string*/
  788. /*No:CALL_INFIX_EQ.us_eq*/
  789. /*No:CALL_INFIX_EQ.is_void*/
  790. /*No:CALL_INFIX_EQ.fz_dot*/
  791. void r999error(T0* a1,T0* a2){
  792. r683add_position(a1);
  793. r683error(((T683*)(oBC364eh)),a2);
  794. }
  795. /*No:CALL_INFIX_EQ.fatal_error*/
  796. /*No:CALL_INFIX_EQ.arg1*/
  797. /*No:TYPE_GENERIC.fz_is_invalid*/
  798. int r720has_creation(T720* C,T0* a1){
  799. int R=0;
  800. R=r605has_creation(((T605*)(r720base_class(C))),a1);
  801. return R;
  802. }
  803. /*No:TYPE_GENERIC.set_run_type_memory*/
  804. /*No:TYPE_GENERIC.is_anchored*/
  805. /*No:TYPE_GENERIC.is_array*/
  806. int r720is_a(T720* C,T0* a1){
  807. int R=0;
  808. T0* _t2=NULL;
  809. T0* _t1=NULL;
  810. int _i=0;
  811. /*IF*/if (X291is_none(a1)) {
  812. }
  813.  else if ((r720run_class(C))==((void*)(X291run_class(a1)))) {
  814. R=1;
  815. }
  816.  else if (X291is_generic(a1)) {
  817. /*IF*/if ((r720base_class(C))==((void*)(X291base_class(a1)))) {
  818. R=1;
  819. _i=(((T701*)((T701*)((((T720*)C))->_generic_list/*8*/))))->_upper/*8*/;
  820. while (!((!(R))||((_i)==(0)))) {
  821. _t1=X291run_type(r701item(((T701*)((((T720*)C))->_generic_list/*8*/)),_i));
  822. _t2=X291run_type(r701item(((T701*)(X291generic_list(a1))),_i));
  823. /*IF*/if (X291is_a(_t1,_t2)) {
  824. _i=(_i)-(1);
  825. }
  826. else {
  827. R=0;
  828. /*[IRF3.6append*/{T0* b1=((T0*)ms59_470);
  829. r7append(((T7*)(oBC683explanation)),b1);
  830. }/*]*/
  831. }
  832. /*FI*/}
  833. }
  834.  else if (r605is_subclass_of(((T605*)(r720base_class(C))),X291base_class(a1))) {
  835. R=r605is_a_vncg(((T605*)(r720base_class(C))),(T0*)C,a1);
  836. }
  837. /*FI*/}
  838. else {
  839. /*IF*/if (r605is_subclass_of(((T605*)(r720base_class(C))),X291base_class(a1))) {
  840. R=1;
  841. }
  842. /*FI*/}
  843. /*FI*//*IF*/if (!(R)) {
  844. r683add_type((T0*)C,((T0*)ms71_470));
  845. r683add_type(a1,((T0*)ms1_720));
  846. }
  847. /*FI*/return R;
  848. }
  849. /*No:TYPE_GENERIC.is_pointer*/
  850. T0* r720run_type(T720* C){
  851. T0* R=NULL;
  852. /*IF*/if (r720is_run_type(C)) {
  853. R=(((T720*)C))->_run_type_memory/*16*/;
  854. }
  855. /*FI*/return R;
  856. }
  857. /*No:TYPE_GENERIC.is_string*/
  858. /*No:TYPE_GENERIC.is_like_feature*/
  859. /*No:TYPE_GENERIC.is_like_current*/
  860. void r720basic_checks(T720* C){
  861. T0* _fgl=NULL;
  862. T0* _bc=NULL;
  863. _bc=r720base_class(C);
  864. _fgl=(((T605*)((T605*)_bc)))->_formal_generic_list/*28*/;
  865. /*IF*/if ((_fgl)==((void*)(NULL))) {
  866. r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T720*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/);
  867. /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)((T605*)_bc)))->_base_class_name/*24*/))))->_to_string/*0*/;
  868. r7append(((T7*)(oBC683explanation)),b1);
  869. }/*]*/
  870. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_720);
  871. r683fatal_error(((T683*)(oBC364eh)),b1);
  872. }/*]*/
  873. }
  874.  else if ((/*(IRF4.6count*/(((T681*)((T681*)((((T881*)((T881*)_fgl)))->_list/*4*/))))->_upper/*8*//*)*/)!=(r701count(((T701*)((((T720*)C))->_generic_list/*8*/))))) {
  875. r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T720*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/);
  876. r683add_position((((T881*)((T881*)_fgl)))->_start_position/*0*/);
  877. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms61_470);
  878. r683fatal_error(((T683*)(oBC364eh)),b1);
  879. }/*]*/
  880. }
  881. /*FI*/}
  882. void r720make(T720* C,T0* a1,T0* a2){
  883. T0* _t=NULL;
  884. int _i=0;
  885. C->_base_class_name=a1;
  886. C->_generic_list=a2;
  887. r7copy(((T7*)(oBC720tmp_mark)),(((T451*)((T451*)a1)))->_to_string/*0*/);
  888. r7extend(((T7*)(oBC720tmp_mark)),'\133');
  889. _i=1;
  890. while (!((_i)>((((T701*)((T701*)a2)))->_upper/*8*/))) {
  891. _t=r701item(((T701*)a2),_i);
  892. r7append(((T7*)(oBC720tmp_mark)),X291written_mark(_t));
  893. _i=(_i)+(1);
  894. /*IF*/if ((_i)<=((((T701*)((T701*)a2)))->_upper/*8*/)) {
  895. r7extend(((T7*)(oBC720tmp_mark)),'\54');
  896. }
  897. /*FI*/}
  898. r7extend(((T7*)(oBC720tmp_mark)),'\135');
  899. C->_written_mark=r902item(oBC720tmp_mark);
  900. }
  901. T0* r720type_any(void){
  902. if (fBC364type_any==0){
  903. T0* R=NULL;
  904. fBC364type_any=1;
  905. {T669*n=malloc(sizeof(*n));
  906. *n=M669;
  907. r669make(n,NULL);
  908. R=(T0*)n;
  909. }
  910. oBC364type_any=R;}
  911. return oBC364type_any;}
  912. /*No:TYPE_GENERIC.start_position*/
  913. /*No:TYPE_GENERIC.fz_inako*/
  914. /*No:TYPE_GENERIC.is_character*/
  915. /*No:TYPE_GENERIC.written_mark*/
  916. T0* r720to_runnable(T720* C,T0* a1){
  917. T0* R=NULL;
  918. T0* _rt=NULL;
  919. T0* _t2=NULL;
  920. T0* _t1=NULL;
  921. T0* _rgl=NULL;
  922. int _i=0;
  923. /*IF*/if (((((T720*)C))->_run_type_memory/*16*/)==((void*)(NULL))) {
  924. /*IF*/if (r720is_written_runnable(C)) {
  925. C->_run_type_memory=(T0*)C;
  926. r720basic_checks(C);
  927. R=(T0*)C;
  928. }
  929. else {
  930. _rgl=r701twin(((T701*)((((T720*)C))->_generic_list/*8*/)));
  931. _i=(((T701*)((T701*)_rgl)))->_upper/*8*/;
  932. while (!((_i)==(0))) {
  933. _t1=r701item(((T701*)_rgl),_i);
  934. _t2=X291to_runnable(_t1,a1);
  935. /*IF*/if (((_t2)==((void*)(NULL)))||(!(X291is_run_type(_t2)))) {
  936. r683add_type(_t1,((T0*)ms72_470));
  937. r683print_as_error(((T683*)(oBC364eh)));
  938. _i=0;
  939. }
  940. else {
  941. /*[IRF3.6put*/{T701* C1=((T701*)_rgl);
  942. T0* b1=_t2;
  943. int b2=_i;
  944. ((((T701*)C1))->_storage/*0*/)[(b2)-((((T701*)C1))->_lower/*12*/)]=(b1);
  945. }/*]*/
  946. }
  947. /*FI*/_t2=X291run_type(_t2);
  948. /*IF*/if (X291is_expanded(_t2)) {
  949. r368set_at_run_time(((T368*)(X291run_class(_t2))));
  950. }
  951. /*FI*/_i=(_i)-(1);
  952. }
  953. {T720*n=malloc(sizeof(*n));
  954. *n=M720;
  955. r720make_runnable(n,(T0*)C,_rgl);
  956. _rt=(T0*)n;
  957. }
  958. /*IF*/if (((((T720*)C))->_run_type_memory/*16*/)==((void*)(NULL))) {
  959. C->_run_type_memory=_rt;
  960. R=(T0*)C;
  961. }
  962. else {
  963. R=r720twin(C);
  964. /*[IRF3.3set_run_type_memory*/((((T720*)(((T720*)R))))->_run_type_memory)=(_rt);
  965. /*]*/
  966. }
  967. /*FI*/}
  968. /*FI*/}
  969.  else if (r720is_written_runnable(C)) {
  970. R=(T0*)C;
  971. }
  972. else {
  973. _rgl=r701twin(((T701*)((((T720*)C))->_generic_list/*8*/)));
  974. _i=(((T701*)((T701*)_rgl)))->_upper/*8*/;
  975. while (!((_i)==(0))) {
  976. _t1=r701item(((T701*)_rgl),_i);
  977. _t2=X291to_runnable(_t1,a1);
  978. /*IF*/if (((_t2)==((void*)(NULL)))||(!(X291is_run_type(_t2)))) {
  979. r683add_type(_t1,((T0*)ms72_470));
  980. r683print_as_error(((T683*)(oBC364eh)));
  981. _i=0;
  982. }
  983. else {
  984. /*[IRF3.6put*/{T701* C1=((T701*)_rgl);
  985. T0* b1=_t2;
  986. int b2=_i;
  987. ((((T701*)C1))->_storage/*0*/)[(b2)-((((T701*)C1))->_lower/*12*/)]=(b1);
  988. }/*]*/
  989. }
  990. /*FI*/_t2=X291run_type(_t2);
  991. /*IF*/if (X291is_expanded(_t2)) {
  992. r368set_at_run_time(((T368*)(X291run_class(_t2))));
  993. }
  994. /*FI*/_i=(_i)-(1);
  995. }
  996. {T720*n=malloc(sizeof(*n));
  997. *n=M720;
  998. r720make_runnable(n,(T0*)C,_rgl);
  999. _rt=(T0*)n;
  1000. }
  1001. R=r720twin(C);
  1002. /*[IRF3.3set_run_type_memory*/((((T720*)(((T720*)R))))->_run_type_memory)=(_rt);
  1003. /*]*/
  1004. }
  1005. /*FI*/return R;
  1006. }
  1007. int r720is_run_type(T720* C){
  1008. int R=0;
  1009. /*IF*/if (((((T720*)C))->_run_type_memory/*16*/)!=((void*)(NULL))) {
  1010. R=1;
  1011. }
  1012.  else if (r720is_written_runnable(C)) {
  1013. C->_run_type_memory=(T0*)C;
  1014. r720basic_checks(C);
  1015. R=1;
  1016. }
  1017. /*FI*/return R;
  1018. }
  1019. /*No:TYPE_GENERIC.run_type_memory*/
  1020. /*No:TYPE_GENERIC.is_formal_generic*/
  1021. /*No:TYPE_GENERIC.generic_list*/
  1022. /*No:TYPE_GENERIC.is_real*/
  1023. int r720is_written_runnable(T720* C){
  1024. int R=0;
  1025. T0* _t=NULL;
  1026. int _i=0;
  1027. R=1;
  1028. _i=(((T701*)((T701*)((((T720*)C))->_generic_list/*8*/))))->_upper/*8*/;
  1029. while (!((!(R))||((_i)==(0)))) {
  1030. _t=r701item(((T701*)((((T720*)C))->_generic_list/*8*/)),_i);
  1031. /*IF*/if (X291is_run_type(_t)) {
  1032. /*IF*/if ((X291run_type(_t))==((void*)(_t))) {
  1033. }
  1034. else {
  1035. R=0;
  1036. }
  1037. /*FI*/}
  1038. else {
  1039. R=0;
  1040. }
  1041. /*FI*/_i=(_i)-(1);
  1042. }
  1043. return R;
  1044. }
  1045. T0* r720twin(T720* C){
  1046. T0* R=NULL;
  1047. R=malloc(sizeof(*C));
  1048. *((T720*)R)=*C;
  1049. return R;
  1050. }
  1051. /*No:TYPE_GENERIC.fz_bnga*/
  1052. /*No:TYPE_GENERIC.is_bit*/
  1053. /*No:TYPE_GENERIC.pretty_print*/
  1054. T0* r720smallest_ancestor(T720* C,T0* a1){
  1055. T0* R=NULL;
  1056. T0* _rto=NULL;
  1057. _rto=X291run_type(a1);
  1058. /*IF*/if (X291is_none(a1)) {
  1059. R=(T0*)C;
  1060. }
  1061.  else if (X291is_any(_rto)) {
  1062. R=_rto;
  1063. }
  1064.  else if (X291is_a(_rto,r720run_type(C))) {
  1065. R=(((T720*)C))->_run_type_memory/*16*/;
  1066. }
  1067. else {
  1068. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  1069. /*]*/
  1070. r38clear(((T38*)(oBC683positions)));
  1071. /*]*/
  1072. /*IF*/if (r720is_a(((T720*)(r720run_type(C))),_rto)) {
  1073. R=_rto;
  1074. }
  1075. else {
  1076. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  1077. /*]*/
  1078. r38clear(((T38*)(oBC683positions)));
  1079. /*]*/
  1080. /*IF*/if (X291is_generic(_rto)) {
  1081. R=r720type_any();
  1082. }
  1083. else {
  1084. R=X291smallest_ancestor(_rto,(T0*)C);
  1085. }
  1086. /*FI*/}
  1087. /*FI*/}
  1088. /*FI*/return R;
  1089. }
  1090. /*No:TYPE_GENERIC.is_boolean*/
  1091. T0*oBC720tmp_mark=NULL;
  1092. /*No:TYPE_GENERIC.is_double*/
  1093. T0* r720run_class(T720* C){
  1094. T0* R=NULL;
  1095. /*IF*/if (r720is_run_type(C)) {
  1096. R=r604run_class((((T720*)C))->_run_type_memory/*16*/);
  1097. }
  1098. /*FI*/return R;
  1099. }
  1100. T0* r720run_time_mark(T720* C){
  1101. T0* R=NULL;
  1102. /*IF*/if (r720is_run_type(C)) {
  1103. R=(((T720*)((T720*)((((T720*)C))->_run_type_memory/*16*/))))->_written_mark/*12*/;
  1104. }
  1105. /*FI*/return R;
  1106. }
  1107. int r720is_a_in(T720* C,T0* a1,T0* a2){
  1108. int R=0;
  1109. T0* _ct=NULL;
  1110. T0* _t2=NULL;
  1111. T0* _t1=NULL;
  1112. /*IF*/if (((((T720*)C))->_written_mark/*12*/)==((void*)(X291written_mark(a1)))) {
  1113. R=1;
  1114. }
  1115. else {
  1116. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  1117. _t1=r720to_runnable(C,_ct);
  1118. _t2=X291to_runnable(a1,_ct);
  1119. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  1120. R=1;
  1121. }
  1122. else {
  1123. R=X291is_a(_t1,_t2);
  1124. }
  1125. /*FI*/}
  1126. /*FI*/return R;
  1127. }
  1128. T0* r720look_up_for(T720* C,T0* a1,T0* a2){
  1129. T0* R=NULL;
  1130. R=r605look_up_for(((T605*)(r720base_class(C))),a1,a2);
  1131. return R;
  1132. }
  1133. T0* r720expanded_initializer(T720* C){
  1134. T0* R=NULL;
  1135. /*IF*/if (r720is_expanded(C)) {
  1136. R=r605expanded_initializer(((T605*)(r720base_class(C))),(T0*)C);
  1137. }
  1138. /*FI*/return R;
  1139. }
  1140. /*No:TYPE_GENERIC.fz_dot*/
  1141. /*No:TYPE_GENERIC.fz_bga*/
  1142. /*No:TYPE_GENERIC.is_generic*/
  1143. /*No:TYPE_GENERIC.used_as_reference*/
  1144. int r720is_reference(T720* C){
  1145. int R=0;
  1146. R=!((((T605*)((T605*)(r720base_class(C)))))->_is_expanded/*20*/);
  1147. return R;
  1148. }
  1149. T0* r720base_class(T720* C){
  1150. T0* R=NULL;
  1151. T0* _bcn=NULL;
  1152. _bcn=(((T720*)C))->_base_class_name/*4*/;
  1153. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  1154. R=r451base_class(((T451*)_bcn));
  1155. }
  1156. else {
  1157. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  1158. r7append(((T7*)(oBC683explanation)),b1);
  1159. }/*]*/
  1160. r683add_type((T0*)C,((T0*)ms67_470));
  1161. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1162. }
  1163. /*FI*/return R;
  1164. }
  1165. /*No:TYPE_GENERIC.fatal_error*/
  1166. /*No:TYPE_GENERIC.is_any*/
  1167. /*No:TYPE_GENERIC.base_class_name*/
  1168. int r720is_expanded(T720* C){
  1169. int R=0;
  1170. R=(((T605*)((T605*)(r720base_class(C)))))->_is_expanded/*20*/;
  1171. return R;
  1172. }
  1173. /*No:TYPE_GENERIC.is_basic_eiffel_expanded*/
  1174. /*No:TYPE_GENERIC.is_none*/
  1175. /*No:TYPE_GENERIC.is_integer*/
  1176. void r720make_runnable(T720* C,T0* a1,T0* a2){
  1177. T0* _t=NULL;
  1178. int _i=0;
  1179. C->_base_class_name=(((T720*)((T720*)a1)))->_base_class_name/*4*/;
  1180. C->_generic_list=a2;
  1181. r7copy(((T7*)(oBC720tmp_mark)),(((T451*)((T451*)((((T720*)C))->_base_class_name/*4*/))))->_to_string/*0*/);
  1182. r7extend(((T7*)(oBC720tmp_mark)),'\133');
  1183. _i=1;
  1184. while (!((_i)>((((T701*)((T701*)a2)))->_upper/*8*/))) {
  1185. _t=r701item(((T701*)a2),_i);
  1186. r7append(((T7*)(oBC720tmp_mark)),X291run_time_mark(_t));
  1187. _i=(_i)+(1);
  1188. /*IF*/if ((_i)<=((((T701*)((T701*)a2)))->_upper/*8*/)) {
  1189. r7extend(((T7*)(oBC720tmp_mark)),'\54');
  1190. }
  1191. /*FI*/}
  1192. r7extend(((T7*)(oBC720tmp_mark)),'\135');
  1193. C->_written_mark=r902item(oBC720tmp_mark);
  1194. C->_run_type_memory=(T0*)C;
  1195. }
  1196. T0* r680language_name(void){
  1197. T0* R=NULL;
  1198. R=((T0*)ms91_470);
  1199. return R;
  1200. }
  1201. /*No:NATIVE_INLINE_WITHOUT_CURRENT.pretty_print*/
  1202. /*No:NATIVE_INLINE_WITHOUT_CURRENT.fz_c_inlinewithoutcurrent*/
  1203. /*No:STD_ERROR.make*/
  1204. T0*oBC817tmp_string=NULL;
  1205. /*No:STD_ERROR.flush*/
  1206. void r441put_string(T441* C,T0* a1){
  1207. int _i=0;
  1208. _i=1;
  1209. while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
  1210. /*[IRF3.6put_character*/{T441* C1=C;
  1211. char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  1212. putc(b1,((FILE*)(stderr)));
  1213. }/*]*/
  1214. _i=(_i)+(1);
  1215. }
  1216. }
  1217. void r441put_integer(T441* C,int a1){
  1218. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC817tmp_string)))))->_count)=(0);
  1219. /*]*/
  1220. r2append_in(a1,oBC817tmp_string);
  1221. r441put_string(C,oBC817tmp_string);
  1222. }
  1223. /*No:STD_ERROR.put_character*/
  1224. /*No:STD_ERROR.put_new_line*/
  1225. void r64make(T64* C,T0* a1,T0* a2){
  1226. int _i=0;
  1227. C->_name_list=a1;
  1228. _i=/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_upper/*12*/);
  1229. while (!((_i)==(0))) {
  1230. /*X361*//*[IRF3.3set_result_type*/((((T886*)(((T886*)(/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),_i)))))))->_result_type)=(a2);
  1231. /*]*/
  1232. _i=(_i)-(1);
  1233. }
  1234. }
  1235. void r64append_in(T64* C,T0* a1){
  1236. int _i=0;
  1237. _i=/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_lower/*16*/);
  1238. while (!((_i)>(/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_upper/*12*/)))) {
  1239. X535add_last(a1,/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),_i)));
  1240. _i=(_i)+(1);
  1241. }
  1242. }
  1243. void r64pretty_print(T64* C){
  1244. int _i=0;
  1245. _i=/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_lower/*16*/);
  1246. X361pretty_print(/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),_i)));
  1247. _i=(_i)+(1);
  1248. while (!((_i)>(/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_upper/*12*/)))) {
  1249. r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_64));
  1250. X361pretty_print(/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),_i)));
  1251. _i=(_i)+(1);
  1252. }
  1253. r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_64));
  1254. X291pretty_print(/*X361*/((T0*)(((T886*)((T886*)(/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),1))))))->_result_type/*20*/));
  1255. }
  1256. int r64count(T64* C){
  1257. int R=0;
  1258. R=/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_upper/*12*/);
  1259. return R;
  1260. }
  1261. /*No:DECLARATION_GROUP.name_list*/
  1262. T0* r420add_comment(T420* C,T0* a1){
  1263. T0* R=NULL;
  1264. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1265. R=(T0*)C;
  1266. }
  1267. else {
  1268. {T529*n=malloc(sizeof(*n));
  1269. *n=M529;
  1270. r529make(n,(T0*)C,a1);
  1271. R=(T0*)n;
  1272. }
  1273. }
  1274. /*FI*/return R;
  1275. }
  1276. int r420to_integer(T420* C){
  1277. int R=0;
  1278. r420error(r420start_position(C),((T0*)ms69_470));
  1279. return R;
  1280. }
  1281. int r420is_a(T420* C,T0* a1){
  1282. int R=0;
  1283. R=r709is_a(((T709*)((((T709*)((T709*)(r420result_type()))))->_run_type/*16*/)),X291run_type(X662result_type(a1)));
  1284. /*IF*/if (!(R)) {
  1285. r683add_position(r420start_position(C));
  1286. r420error(X662start_position(a1),((T0*)ms4_662));
  1287. }
  1288. /*FI*/return R;
  1289. }
  1290. /*No:E_STRIP.is_current*/
  1291. void r420make(T420* C,T0* a1,T0* a2){
  1292. /*IF*/if ((a2)!=((void*)(NULL))) {
  1293. {T953*n=malloc(sizeof(*n));
  1294. *n=M953;
  1295. r953make(n,a2);
  1296. C->_list=(T0*)n;
  1297. }
  1298. }
  1299. /*FI*/}
  1300. void r420print_as_target(T420* C){
  1301. r420pretty_print(C);
  1302. r238put_character(((T238*)(oBC364fmt)),'\56');
  1303. }
  1304. /*No:E_STRIP.fz_iinaiv*/
  1305. T0* r420type_any(void){
  1306. if (fBC364type_any==0){
  1307. T0* R=NULL;
  1308. fBC364type_any=1;
  1309. {T669*n=malloc(sizeof(*n));
  1310. *n=M669;
  1311. r669make(n,NULL);
  1312. R=(T0*)n;
  1313. }
  1314. oBC364type_any=R;}
  1315. return oBC364type_any;}
  1316. T0* r420start_position(T420* C){
  1317. T0* R=NULL;
  1318. /*IF*/if (((((T420*)C))->_list/*4*/)!=((void*)(NULL))) {
  1319. R=X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T420*)C))->_list/*4*/))))->_list/*0*/)),1)/*)*/);
  1320. }
  1321. /*FI*/return R;
  1322. }
  1323. /*No:E_STRIP.precedence*/
  1324. T0* r420to_runnable(T420* C,T0* a1){
  1325. T0* R=NULL;
  1326. r420error(r420start_position(C),((T0*)ms2_420));
  1327. return R;
  1328. }
  1329. void r420bracketed_pretty_print(T420* C){
  1330. r238put_character(((T238*)(oBC364fmt)),'\50');
  1331. r420pretty_print(C);
  1332. r238put_character(((T238*)(oBC364fmt)),'\51');
  1333. }
  1334. int fBC420result_type=0;
  1335. T0*oBC420result_type=NULL;
  1336. T0* r420result_type(void){
  1337. if (fBC420result_type==0){
  1338. T0* R=NULL;
  1339. fBC420result_type=1;
  1340. {T709*n=malloc(sizeof(*n));
  1341. *n=M709;
  1342. r709make(n,NULL,r420type_any());
  1343. R=(T0*)n;
  1344. }
  1345. oBC420result_type=R;}
  1346. return oBC420result_type;}
  1347. void r420pretty_print(T420* C){
  1348. r238put_string(((T238*)(oBC364fmt)),((T0*)ms3_420));
  1349. r238level_incr(((T238*)(oBC364fmt)));
  1350. /*IF*/if (((((T420*)C))->_list/*4*/)!=((void*)(NULL))) {
  1351. r953pretty_print(((T953*)((((T420*)C))->_list/*4*/)));
  1352. }
  1353. /*FI*/r238put_string(((T238*)(oBC364fmt)),((T0*)ms4_420));
  1354. r238level_decr(((T238*)(oBC364fmt)));
  1355. }
  1356. /*No:E_STRIP.list*/
  1357. /*No:E_STRIP.is_manifest_string*/
  1358. /*No:E_STRIP.is_void*/
  1359. void r420error(T0* a1,T0* a2){
  1360. r683add_position(a1);
  1361. r683error(((T683*)(oBC364eh)),a2);
  1362. }
  1363. void r517error_comparison(T517* C,T0* a1){
  1364. r683add_position((((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*/);
  1365. /*[IRF3.6append*/{T0* b1=((T0*)ms7_841);
  1366. r7append(((T7*)(oBC683explanation)),b1);
  1367. }/*]*/
  1368. /*[IRF3.6append*/{T0* b1=a1;
  1369. r7append(((T7*)(oBC683explanation)),b1);
  1370. }/*]*/
  1371. /*[IRF3.6append*/{T0* b1=((T0*)ms8_841);
  1372. r7append(((T7*)(oBC683explanation)),b1);
  1373. }/*]*/
  1374. r683add_type((((T517*)C))->_current_type/*4*/,((T0*)ms67_470));
  1375. r683print_as_error(((T683*)(oBC364eh)));
  1376. }
  1377. /*No:CALL_INFIX_NEQ.arguments*/
  1378. T0* r517add_comment(T517* C,T0* a1){
  1379. T0* R=NULL;
  1380. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  1381. R=(T0*)C;
  1382. }
  1383. else {
  1384. {T529*n=malloc(sizeof(*n));
  1385. *n=M529;
  1386. r529make(n,(T0*)C,a1);
  1387. R=(T0*)n;
  1388. }
  1389. }
  1390. /*FI*/return R;
  1391. }
  1392. int r517to_integer(T517* C){
  1393. int R=0;
  1394. r517error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  1395. return R;
  1396. }
  1397. int r517is_a(T517* C,T0* a1){
  1398. int R=0;
  1399. R=X291is_a(X291run_type((((T517*)C))->_result_type/*12*/),X291run_type(X662result_type(a1)));
  1400. /*IF*/if (!(R)) {
  1401. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/);
  1402. r517error(X662start_position(a1),((T0*)ms4_662));
  1403. }
  1404. /*FI*/return R;
  1405. }
  1406. /*No:CALL_INFIX_NEQ.is_current*/
  1407. T0* r517type_boolean(void){
  1408. if (fBC364type_boolean==0){
  1409. T0* R=NULL;
  1410. fBC364type_boolean=1;
  1411. {T707*n=malloc(sizeof(*n));
  1412. *n=M707;
  1413. r707make(n,NULL);
  1414. R=(T0*)n;
  1415. }
  1416. oBC364type_boolean=R;}
  1417. return oBC364type_boolean;}
  1418. void r517make(T517* C,T0* a1,T0* a2,T0* a3){
  1419. T0* _eal=NULL;
  1420. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  1421. r683add_position(a2);
  1422. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  1423. r683fatal_error(((T683*)(oBC364eh)),b1);
  1424. }/*]*/
  1425. }
  1426. /*FI*/{T454*n=malloc(sizeof(*n));
  1427. *n=M454;
  1428. r454make(n,((T0*)ms1_517),a2);
  1429. C->_feature_name=(T0*)n;
  1430. }
  1431. {T431*n=malloc(sizeof(*n));
  1432. *n=M431;
  1433. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  1434. /*]*/
  1435. _eal=(T0*)n;
  1436. }
  1437. r517make_call_1(C,a1,(((T517*)C))->_feature_name/*20*/,_eal);
  1438. }
  1439. void r517print_as_target(T517* C){
  1440. r238put_character(((T238*)(oBC364fmt)),'\50');
  1441. r517pretty_print(C);
  1442. r238put_character(((T238*)(oBC364fmt)),'\51');
  1443. r238put_character(((T238*)(oBC364fmt)),'\56');
  1444. }
  1445. /*No:CALL_INFIX_NEQ.nb_errors*/
  1446. void r517to_runnable_equal_not_equal(T517* C,T0* a1){
  1447. T0* _at=NULL;
  1448. T0* _tt=NULL;
  1449. T0* _a=NULL;
  1450. T0* _t=NULL;
  1451. C->_current_type=a1;
  1452. _t=X662to_runnable((((T517*)C))->_target/*8*/,a1);
  1453. /*IF*/if ((_t)==((void*)(NULL))) {
  1454. r517error(X662start_position((((T517*)C))->_target/*8*/),((T0*)ms1_841));
  1455. }
  1456. else {
  1457. C->_target=_t;
  1458. }
  1459. /*FI*/_a=r431to_runnable(((T431*)((((T517*)C))->_arguments/*16*/)),a1);
  1460. /*IF*/if ((_a)!=((void*)(NULL))) {
  1461. C->_arguments=_a;
  1462. }
  1463. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1464. _tt=X291run_type(X662result_type((((T517*)C))->_target/*8*/));
  1465. _at=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/));
  1466. /*IF*/if (X291is_none(_tt)) {
  1467. /*IF*/if (X291is_expanded(_at)) {
  1468. X291used_as_reference(_at);
  1469. }
  1470. /*FI*/}
  1471.  else if (X291is_none(_at)) {
  1472. /*IF*/if (X291is_expanded(_tt)) {
  1473. X291used_as_reference(_tt);
  1474. }
  1475. /*FI*/}
  1476.  else if (X291is_reference(_tt)) {
  1477. /*IF*/if (X291is_reference(_at)) {
  1478. /*IF*/if (X291is_a(_tt,_at)) {
  1479. }
  1480. else {
  1481. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  1482. /*]*/
  1483. r38clear(((T38*)(oBC683positions)));
  1484. /*]*/
  1485. /*IF*/if (X291is_a(_at,_tt)) {
  1486. }
  1487. else {
  1488. r517error_comparison(C,((T0*)ms2_841));
  1489. }
  1490. /*FI*/}
  1491. /*FI*/}
  1492.  else if (!(X291is_a(_at,_tt))) {
  1493. r517error_comparison(C,((T0*)ms3_841));
  1494. }
  1495. else {
  1496. X291used_as_reference(_at);
  1497. }
  1498. /*FI*/}
  1499. else {
  1500. /*IF*/if (X291is_expanded(_at)) {
  1501. /*IF*/if (X291is_basic_eiffel_expanded(_at)) {
  1502. /*IF*/if (X291is_a(_tt,_at)) {
  1503. }
  1504. else {
  1505. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  1506. /*]*/
  1507. r38clear(((T38*)(oBC683positions)));
  1508. /*]*/
  1509. /*IF*/if (X291is_a(_at,_tt)) {
  1510. }
  1511. else {
  1512. r517error_comparison(C,((T0*)ms4_841));
  1513. }
  1514. /*FI*/}
  1515. /*FI*/}
  1516.  else if (X291is_bit(_tt)) {
  1517. r517bit_limitation(C,_tt,_at);
  1518. }
  1519.  else if (!(X291is_a(_at,_tt))) {
  1520. r517error_comparison(C,((T0*)ms5_841));
  1521. }
  1522. /*FI*/}
  1523.  else if (!(X291is_a(_tt,_at))) {
  1524. r517error_comparison(C,((T0*)ms6_841));
  1525. }
  1526. else {
  1527. X291used_as_reference(_tt);
  1528. }
  1529. /*FI*/}
  1530. /*FI*/}
  1531. /*FI*/}
  1532. /*No:CALL_INFIX_NEQ.feature_name*/
  1533. /*No:CALL_INFIX_NEQ.fz_iinaiv*/
  1534. /*No:CALL_INFIX_NEQ.start_position*/
  1535. /*No:CALL_INFIX_NEQ.target*/
  1536. /*No:CALL_INFIX_NEQ.precedence*/
  1537. T0* r517to_runnable(T517* C,T0* a1){
  1538. T0* R=NULL;
  1539. /*IF*/if (((((T517*)C))->_current_type/*4*/)==((void*)(NULL))) {
  1540. r517to_runnable_equal_not_equal(C,a1);
  1541. C->_result_type=r517type_boolean();
  1542. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1543. R=(T0*)C;
  1544. }
  1545. /*FI*/}
  1546. else {
  1547. {T517*n=malloc(sizeof(*n));
  1548. *n=M517;
  1549. r517make(n,(((T517*)C))->_target/*8*/,(((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*/,/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/);
  1550. R=(T0*)n;
  1551. }
  1552. R=r517to_runnable(((T517*)R),a1);
  1553. }
  1554. /*FI*/return R;
  1555. }
  1556. void r517bracketed_pretty_print(T517* C){
  1557. r238put_character(((T238*)(oBC364fmt)),'\50');
  1558. r517pretty_print(C);
  1559. r238put_character(((T238*)(oBC364fmt)),'\51');
  1560. }
  1561. /*No:CALL_INFIX_NEQ.result_type*/
  1562. /*No:CALL_INFIX_NEQ.operator*/
  1563. /*No:CALL_INFIX_NEQ.atomic_precedence*/
  1564. void r517pretty_print(T517* C){
  1565. /*IF*/if ((X662precedence((((T517*)C))->_target/*8*/))==(13)) {
  1566. X662pretty_print((((T517*)C))->_target/*8*/);
  1567. r517print_op(C);
  1568. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/))==(13)) {
  1569. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/);
  1570. }
  1571.  else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/))) {
  1572. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/);
  1573. }
  1574. else {
  1575. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/);
  1576. }
  1577. /*FI*/}
  1578.  else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/))==(13)) {
  1579. /*IF*/if ((X662precedence((((T517*)C))->_target/*8*/))>=(6)) {
  1580. X662bracketed_pretty_print((((T517*)C))->_target/*8*/);
  1581. }
  1582. else {
  1583. X662pretty_print((((T517*)C))->_target/*8*/);
  1584. }
  1585. /*FI*/r517print_op(C);
  1586. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/);
  1587. }
  1588.  else if ((6)<=(X662precedence((((T517*)C))->_target/*8*/))) {
  1589. X662bracketed_pretty_print((((T517*)C))->_target/*8*/);
  1590. r517print_op(C);
  1591. /*IF*/if ((6)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/))) {
  1592. X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/);
  1593. }
  1594. else {
  1595. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/);
  1596. }
  1597. /*FI*/}
  1598. else {
  1599. X662pretty_print((((T517*)C))->_target/*8*/);
  1600. r517print_op(C);
  1601. X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/);
  1602. }
  1603. /*FI*/}
  1604. void r517print_op(T517* C){
  1605. r238put_character(((T238*)(oBC364fmt)),'\40');
  1606. /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T517*)C))->_feature_name/*20*/));
  1607. r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/);
  1608. }/*]*/
  1609. r238put_character(((T238*)(oBC364fmt)),'\40');
  1610. }
  1611. void r517bit_limitation(T517* C,T0* a1,T0* a2){
  1612. T0* _b2=NULL;
  1613. T0* _b1=NULL;
  1614. _b1=a1;
  1615. if(NULL!=(_b1))switch(((T0*)_b1)->id) {
  1616. case 549: case 558: 
  1617. break;
  1618. default:
  1619. _b1=NULL;
  1620. };_b2=a2;
  1621. if(NULL!=(_b2))switch(((T0*)_b2)->id) {
  1622. case 549: case 558: 
  1623. break;
  1624. default:
  1625. _b2=NULL;
  1626. };/*IF*/if ((X609nb(_b1))!=(X609nb(_b2))) {
  1627. r683add_position((((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*/);
  1628. /*[IRF3.6append*/{T0* b1=((T0*)ms9_841);
  1629. r7append(((T7*)(oBC683explanation)),b1);
  1630. }/*]*/
  1631. r683add_type(_b1,((T0*)ms10_841));
  1632. r683add_type(_b2,((T0*)ms11_841));
  1633. r683print_as_fatal_error(((T683*)(oBC364eh)));
  1634. }
  1635. /*FI*/}
  1636. /*No:CALL_INFIX_NEQ.current_type*/
  1637. void r517make_call_1(T517* C,T0* a1,T0* a2,T0* a3){
  1638. C->_target=a1;
  1639. C->_feature_name=a2;
  1640. C->_arguments=a3;
  1641. }
  1642. /*No:CALL_INFIX_NEQ.is_manifest_string*/
  1643. /*No:CALL_INFIX_NEQ.is_void*/
  1644. /*No:CALL_INFIX_NEQ.fz_dot*/
  1645. void r517error(T0* a1,T0* a2){
  1646. r683add_position(a1);
  1647. r683error(((T683*)(oBC364eh)),a2);
  1648. }
  1649. /*No:CALL_INFIX_NEQ.fatal_error*/
  1650. /*No:CALL_INFIX_NEQ.arg1*/
  1651.  
  1652.