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