home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / short11.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  102.6 KB  |  4,363 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. void r916add_function(T0* a1){
  10. r222add_last(((T222*)(oBC916function_list)),a1);
  11. }
  12. T0*oBC916function_list=NULL;
  13. T0*oBC916procedure_list=NULL;
  14. void r916add_procedure(T0* a1){
  15. r185add_last(((T185*)(oBC916procedure_list)),a1);
  16. }
  17. /*No:CST_ATT_STRING.arguments*/
  18. T0* r380try_to_undefine(T380* C,T0* a1,T0* a2){
  19. T0* R=NULL;
  20. X776undefine_in(a1,a2);
  21. R=r380try_to_undefine_aux(C,a1,a2);
  22. /*IF*/if ((R)!=((void*)(NULL))) {
  23. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T380*)C))->_clients/*20*/);
  24. /*]*/
  25. }
  26. else {
  27. r605fatal_undefine(((T605*)a2),a1);
  28. }
  29. /*FI*/return R;
  30. }
  31. /*No:CST_ATT_STRING.is_deferred*/
  32. void r380add_into(T380* C,T0* a1){
  33. T0* _fn=NULL;
  34. int _i=0;
  35. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  36. _i=1;
  37. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  38. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  39. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  40. _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)/*)*//*)*/);
  41. r683add_position(X776start_position(_fn));
  42. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  43. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  44. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  45. r7append(((T7*)(oBC683explanation)),b1);
  46. }/*]*/
  47. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  48. }
  49. else {
  50. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  51. }
  52. /*FI*/_i=(_i)+(1);
  53. }
  54. }
  55. T0* r380try_to_undefine_aux(T380* C,T0* a1,T0* a2){
  56. T0* R=NULL;
  57. r683add_position(r380start_position(C));
  58. r380error(X776start_position(a1),((T0*)ms1_308));
  59. r605fatal_undefine(((T605*)a2),a1);
  60. return R;
  61. }
  62. void r380make(T380* C,T0* a1,T0* a2,T0* a3){
  63. T0* _ms=NULL;
  64. int _i=0;
  65. r380make_e_feature(C,a1,a2);
  66. {T381*n=malloc(sizeof(*n));
  67. *n=M381;
  68. r381make(n,1,/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/);
  69. C->_values=(T0*)n;
  70. }
  71. /*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/));
  72. T0* b1=a3;
  73. int b2=1;
  74. ((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1);
  75. }/*]*/
  76. _i=2;
  77. while (!((_i)>((((T381*)((T381*)((((T380*)C))->_values/*24*/))))->_upper/*12*/))) {
  78. {T805*n=malloc(sizeof(*n));
  79. *n=M805;
  80. r805from_manifest_string(n,a3,_i);
  81. _ms=(T0*)n;
  82. }
  83. /*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/));
  84. T0* b1=_ms;
  85. int b2=_i;
  86. ((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1);
  87. }/*]*/
  88. _i=(_i)+(1);
  89. }
  90. }
  91. /*No:CST_ATT_STRING.nb_errors*/
  92. /*No:CST_ATT_STRING.set_header_comment*/
  93. /*No:CST_ATT_STRING.values*/
  94. T0* r380start_position(T380* C){
  95. T0* R=NULL;
  96. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  97. return R;
  98. }
  99. T0* r380to_run_feature(T380* C,T0* a1,T0* a2){
  100. T0* R=NULL;
  101. T0* _rc=NULL;
  102. _rc=X291run_class(a1);
  103. R=r368at(((T368*)_rc),a2);
  104. if(NULL!=(R))switch(((T0*)R)->id) {
  105. case 808: 
  106. break;
  107. default:
  108. R=NULL;
  109. };/*IF*/if ((R)==((void*)(NULL))) {
  110. {T808*n=malloc(sizeof(*n));
  111. *n=M808;
  112. r808make(n,a1,a2,(T0*)C);
  113. R=(T0*)n;
  114. }
  115. }
  116. /*FI*/return R;
  117. }
  118. /*No:CST_ATT_STRING.ensure_assertion*/
  119. /*No:CST_ATT_STRING.code_require*/
  120. /*No:CST_ATT_STRING.result_type*/
  121. /*No:CST_ATT_STRING.em1*/
  122. /*No:CST_ATT_STRING.set_clients*/
  123. /*No:CST_ATT_STRING.em2*/
  124. /*No:CST_ATT_STRING.value*/
  125. /*No:CST_ATT_STRING.require_assertion*/
  126. /*No:CST_ATT_STRING.names*/
  127. int r380can_hide(T380* C,T0* a1,T0* a2){
  128. int R=0;
  129. /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  130. /*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  131. r683add_position(X359start_position(a1));
  132. r380error(r380start_position(C),((T0*)ms5_359));
  133. }
  134. /*FI*/}
  135. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  136. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  137. r380error(r380start_position(C),((T0*)ms6_359));
  138. }
  139. /*FI*/}
  140. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  141. /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  142. /*IF*/if (!(X291is_a_in((((T380*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  143. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  144. r7append(((T7*)(oBC683explanation)),b1);
  145. }/*]*/
  146. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  147. r7append(((T7*)(oBC683explanation)),b1);
  148. }/*]*/
  149. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  150. }
  151. /*FI*/}
  152. /*FI*/}
  153. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  154. /*IF*//*AF*//*AE*/
  155. /*FI*/}
  156. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  157. return R;
  158. }
  159. /*No:CST_ATT_STRING.header_comment*/
  160. int r380is_merge_with(T380* C,T0* a1,T0* a2){
  161. int R=0;
  162. /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  163. /*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  164. r683add_position(X359start_position(a1));
  165. r380error(r380start_position(C),((T0*)ms2_359));
  166. }
  167. /*FI*/}
  168. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  169. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  170. r380error(r380start_position(C),((T0*)ms3_359));
  171. }
  172. /*FI*/}
  173. /*FI*//*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  174. /*IF*/if (!(X291is_a_in((((T380*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  175. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  176. }
  177. /*FI*/}
  178. /*FI*//*IF*//*AF*//*AE*/
  179. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  180. return R;
  181. }
  182. /*No:CST_ATT_STRING.fz_dot*/
  183. /*No:CST_ATT_STRING.first_name*/
  184. /*No:CST_ATT_STRING.clients*/
  185. void r380collect_for(int a1){
  186. /*IF*/if ((a1)==(1001)) {
  187. /*IF*//*AF*//*AE*/
  188. /*FI*/}
  189. else {
  190. /*IF*//*AF*//*AE*/
  191. /*FI*/}
  192. /*FI*/}
  193. void r380error(T0* a1,T0* a2){
  194. r683add_position(a1);
  195. r683error(((T683*)(oBC364eh)),a2);
  196. }
  197. /*No:CST_ATT_STRING.base_class*/
  198. void r380make_e_feature(T380* C,T0* a1,T0* a2){
  199. C->_names=a1;
  200. C->_result_type=a2;
  201. }
  202. /*No:CST_ATT_BIT.arguments*/
  203. T0* r588try_to_undefine(T588* C,T0* a1,T0* a2){
  204. T0* R=NULL;
  205. X776undefine_in(a1,a2);
  206. R=r588try_to_undefine_aux(C,a1,a2);
  207. /*IF*/if ((R)!=((void*)(NULL))) {
  208. /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T588*)C))->_clients/*20*/);
  209. /*]*/
  210. }
  211. else {
  212. r605fatal_undefine(((T605*)a2),a1);
  213. }
  214. /*FI*/return R;
  215. }
  216. /*No:CST_ATT_BIT.is_deferred*/
  217. void r588add_into(T588* C,T0* a1){
  218. T0* _fn=NULL;
  219. int _i=0;
  220. C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
  221. _i=1;
  222. while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
  223. _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
  224. /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
  225. _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)/*)*//*)*/);
  226. r683add_position(X776start_position(_fn));
  227. r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
  228. r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
  229. /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
  230. r7append(((T7*)(oBC683explanation)),b1);
  231. }/*]*/
  232. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  233. }
  234. else {
  235. r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
  236. }
  237. /*FI*/_i=(_i)+(1);
  238. }
  239. }
  240. T0* r588try_to_undefine_aux(T588* C,T0* a1,T0* a2){
  241. T0* R=NULL;
  242. r683add_position(r588start_position(C));
  243. r588error(X776start_position(a1),((T0*)ms1_308));
  244. r605fatal_undefine(((T605*)a2),a1);
  245. return R;
  246. }
  247. void r588make(T588* C,T0* a1,T0* a2,T0* a3){
  248. r588make_e_feature(C,a1,a2);
  249. C->_value_mem=a3;
  250. }
  251. /*No:CST_ATT_BIT.nb_errors*/
  252. /*No:CST_ATT_BIT.set_header_comment*/
  253. T0* r588start_position(T588* C){
  254. T0* R=NULL;
  255. R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
  256. return R;
  257. }
  258. T0* r588to_run_feature(T588* C,T0* a1,T0* a2){
  259. T0* R=NULL;
  260. T0* _rc=NULL;
  261. _rc=X291run_class(a1);
  262. R=r368at(((T368*)_rc),a2);
  263. if(NULL!=(R))switch(((T0*)R)->id) {
  264. case 808: 
  265. break;
  266. default:
  267. R=NULL;
  268. };/*IF*/if ((R)==((void*)(NULL))) {
  269. {T808*n=malloc(sizeof(*n));
  270. *n=M808;
  271. r808make(n,a1,a2,(T0*)C);
  272. R=(T0*)n;
  273. }
  274. }
  275. /*FI*/return R;
  276. }
  277. /*No:CST_ATT_BIT.ensure_assertion*/
  278. /*No:CST_ATT_BIT.code_require*/
  279. /*No:CST_ATT_BIT.result_type*/
  280. /*No:CST_ATT_BIT.em1*/
  281. /*No:CST_ATT_BIT.set_clients*/
  282. /*No:CST_ATT_BIT.em2*/
  283. /*No:CST_ATT_BIT.value*/
  284. /*No:CST_ATT_BIT.require_assertion*/
  285. /*No:CST_ATT_BIT.names*/
  286. /*No:CST_ATT_BIT.value_mem*/
  287. int r588can_hide(T588* C,T0* a1,T0* a2){
  288. int R=0;
  289. /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  290. /*IF*/if ((((((T588*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  291. r683add_position(X359start_position(a1));
  292. r588error(r588start_position(C),((T0*)ms5_359));
  293. }
  294. /*FI*/}
  295. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  296. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  297. r588error(r588start_position(C),((T0*)ms6_359));
  298. }
  299. /*FI*/}
  300. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  301. /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  302. /*IF*/if (!(X291is_a_in((((T588*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  303. /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
  304. r7append(((T7*)(oBC683explanation)),b1);
  305. }/*]*/
  306. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T368*)((T368*)a2)))->_current_type/*0*/);
  307. r7append(((T7*)(oBC683explanation)),b1);
  308. }/*]*/
  309. r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
  310. }
  311. /*FI*/}
  312. /*FI*/}
  313. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  314. /*IF*//*AF*//*AE*/
  315. /*FI*/}
  316. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  317. return R;
  318. }
  319. /*No:CST_ATT_BIT.header_comment*/
  320. int r588is_merge_with(T588* C,T0* a1,T0* a2){
  321. int R=0;
  322. /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
  323. /*IF*/if ((((((T588*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
  324. r683add_position(X359start_position(a1));
  325. r588error(r588start_position(C),((T0*)ms2_359));
  326. }
  327. /*FI*/}
  328. /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
  329. /*IF*/{/*AT*/r683add_position(X359start_position(a1));
  330. r588error(r588start_position(C),((T0*)ms3_359));
  331. }
  332. /*FI*/}
  333. /*FI*//*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(NULL))) {
  334. /*IF*/if (!(X291is_a_in((((T588*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
  335. r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
  336. }
  337. /*FI*/}
  338. /*FI*//*IF*//*AF*//*AE*/
  339. /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
  340. return R;
  341. }
  342. /*No:CST_ATT_BIT.fz_dot*/
  343. /*No:CST_ATT_BIT.first_name*/
  344. /*No:CST_ATT_BIT.clients*/
  345. void r588collect_for(int a1){
  346. /*IF*/if ((a1)==(1001)) {
  347. /*IF*//*AF*//*AE*/
  348. /*FI*/}
  349. else {
  350. /*IF*//*AF*//*AE*/
  351. /*FI*/}
  352. /*FI*/}
  353. void r588error(T0* a1,T0* a2){
  354. r683add_position(a1);
  355. r683error(((T683*)(oBC364eh)),a2);
  356. }
  357. /*No:CST_ATT_BIT.base_class*/
  358. void r588make_e_feature(T588* C,T0* a1,T0* a2){
  359. C->_names=a1;
  360. C->_result_type=a2;
  361. }
  362. int r590debug_check(T590* C){
  363. int R=0;
  364. R=((((T590*)C))->_level/*0*/)==(1);
  365. return R;
  366. }
  367. /*No:RUN_CONTROL.level_check_debug*/
  368. int r590all_check(T590* C){
  369. int R=0;
  370. R=((((T590*)C))->_level/*0*/)>=(0);
  371. return R;
  372. }
  373. /*No:RUN_CONTROL.level_ensure*/
  374. /*No:RUN_CONTROL.level_require*/
  375. /*No:RUN_CONTROL.make*/
  376. /*No:RUN_CONTROL.level_loop*/
  377. /*No:RUN_CONTROL.level_check_all*/
  378. int r590ensure_check(T590* C){
  379. int R=0;
  380. R=((((T590*)C))->_level/*0*/)>=(-3);
  381. return R;
  382. }
  383. int r590require_check(T590* C){
  384. int R=0;
  385. R=((((T590*)C))->_level/*0*/)>=(-4);
  386. return R;
  387. }
  388. /*No:RUN_CONTROL.level*/
  389. int r590loop_check(T590* C){
  390. int R=0;
  391. R=((((T590*)C))->_level/*0*/)>=(-1);
  392. return R;
  393. }
  394. /*No:RUN_CONTROL.level_invariant*/
  395. int r590invariant_check(T590* C){
  396. int R=0;
  397. R=((((T590*)C))->_level/*0*/)>=(-2);
  398. return R;
  399. }
  400. void r431short(T431* C){
  401. int _i=0;
  402. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_431),((T0*)ms7_431));
  403. _i=1;
  404. while (!((_i)>(r431count(C)))) {
  405. X662short(r431expression(C,_i));
  406. _i=(_i)+(1);
  407. /*IF*/if ((_i)<=(r431count(C))) {
  408. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_431),((T0*)ms9_431));
  409. }
  410. /*FI*/}
  411. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms10_431),((T0*)ms11_431));
  412. }
  413. int r431is_like_argument(T431* C,T0* a1,T0* a2,T0* a3){
  414. int R=0;
  415. T0* _ot=NULL;
  416. T0* _tla=NULL;
  417. _tla=a3;
  418. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  419. case 239: 
  420. break;
  421. default:
  422. _tla=NULL;
  423. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  424. R=1;
  425. _ot=X662result_type(r431expression(C,/*(IRF4.6rank*/(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_rank/*16*//*)*/));
  426. /*IF*/if (!(X291is_a(X291run_type(a2),X291run_type(_ot)))) {
  427. r683add_position(X662start_position(a1));
  428. r431error(X291start_position(a3),((T0*)ms12_431));
  429. }
  430. /*FI*/}
  431. /*FI*/return R;
  432. }
  433. void r431match_with(T431* C,T0* a1){
  434. T0* _ft=NULL;
  435. T0* _at=NULL;
  436. T0* _e=NULL;
  437. int _i=0;
  438. T0* _fal=NULL;
  439. _fal=/*X496*/((T0*)(((T808*)((T808*)a1)))->_arguments/*20*/);
  440. /*IF*/if ((_fal)==((void*)(NULL))) {
  441. r683add_position(X496start_position(a1));
  442. r431error(r431start_position(C),((T0*)ms14_431));
  443. }
  444. /*FI*//*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)_fal)))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(r431count(C)))) {
  445. r683add_position((((T31*)((T31*)_fal)))->_start_position/*4*/);
  446. r431error(r431start_position(C),((T0*)ms14_431));
  447. }
  448. /*FI*/_i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/);
  449. while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  450. _e=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),_i));
  451. _at=X662result_type(_e);
  452. _ft=r31type(((T31*)_fal),_i);
  453. /*IF*/if (X662is_void(_e)) {
  454. /*IF*/if (X291is_expanded(_ft)) {
  455. r683add_position(X662start_position(_e));
  456. r431error(X291start_position(_ft),((T0*)ms2_431));
  457. }
  458. /*FI*/}
  459.  else if (X291is_like_current(_ft)) {
  460. /*IF*/if (X662is_current(_e)) {
  461. }
  462.  else if (X291is_a(X291run_type(_at),X291run_type(_ft))) {
  463. /*IF*/if (X291is_expanded(X291run_type(_at))) {
  464. }
  465.  else if (X291is_a(X291run_type(_ft),X291run_type(_at))) {
  466. }
  467. else {
  468. r683add_position(X662start_position(_e));
  469. r431error(X291start_position(_ft),((T0*)ms13_431));
  470. }
  471. /*FI*/}
  472. else {
  473. r683add_position(X662start_position(_e));
  474. r431error(X291start_position(_ft),((T0*)ms13_431));
  475. }
  476. /*FI*/}
  477.  else if (X291is_like_feature(_ft)) {
  478. /*IF*/if (X291is_a(X291run_type(_at),X291run_type(_ft))) {
  479. }
  480. else {
  481. r683add_position(X662start_position(_e));
  482. r431error(X291start_position(_ft),((T0*)ms3_431));
  483. }
  484. /*FI*/}
  485.  else if (r431is_like_argument(C,_e,_at,_ft)) {
  486. }
  487.  else if (X291is_a(X291run_type(_at),X291run_type(_ft))) {
  488. }
  489. else {
  490. r683print_as_error(((T683*)(oBC364eh)));
  491. r683add_position(X291start_position(_ft));
  492. r431error(X662start_position(_e),((T0*)ms4_431));
  493. }
  494. /*FI*/_at=X291run_type(_at);
  495. _ft=X291run_type(_ft);
  496. /*IF*/if (X291is_expanded(_ft)) {
  497. /*IF*/if (X291is_expanded(_at)) {
  498. }
  499. else {
  500. X291used_as_reference(_ft);
  501. }
  502. /*FI*/}
  503.  else if (X291is_expanded(_at)) {
  504. X291used_as_reference(_at);
  505. }
  506. /*FI*/_i=(_i)-(1);
  507. }
  508. }
  509. /*No:EFFECTIVE_ARG_LIST.make*/
  510. /*No:EFFECTIVE_ARG_LIST.nb_errors*/
  511. T0* r431expression(T431* C,int a1){
  512. T0* R=NULL;
  513. R=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),a1));
  514. return R;
  515. }
  516. T0* r431start_position(T431* C){
  517. T0* R=NULL;
  518. R=X662start_position(/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),1)));
  519. return R;
  520. }
  521. T0* r431to_runnable(T431* C,T0* a1){
  522. T0* R=NULL;
  523. T0* _e2=NULL;
  524. T0* _e1=NULL;
  525. int _i=0;
  526. /*IF*/if (((((T431*)C))->_current_type/*4*/)==((void*)(NULL))) {
  527. C->_current_type=a1;
  528. _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/);
  529. while (!((_i)==(0))) {
  530. _e1=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*0*/)),_i));
  531. _e2=X662to_runnable(_e1,(((T431*)C))->_current_type/*4*/);
  532. /*IF*/if ((_e2)==((void*)(NULL))) {
  533. r431error(X662start_position(_e1),((T0*)ms5_431));
  534. }
  535.  else if ((_e1)!=((void*)(_e2))) {
  536. /*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T431*)C))->_list/*0*/));
  537. T0* b1=_e2;
  538. int b2=_i;
  539. ((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1);
  540. }/*]*/
  541. }
  542. /*FI*/_i=(_i)-(1);
  543. }
  544. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  545. R=(T0*)C;
  546. }
  547. /*FI*/}
  548.  else if ((X291run_class(a1))==((void*)(r431run_class(C)))) {
  549. R=(T0*)C;
  550. }
  551. else {
  552. {T431*n=malloc(sizeof(*n));
  553. *n=M431;
  554. /*[IRF3.3make*/((((T431*)(n)))->_list)=(X96twin((((T431*)C))->_list/*0*/));
  555. /*]*/
  556. R=(T0*)n;
  557. }
  558. R=r431to_runnable(((T431*)R),a1);
  559. }
  560. /*FI*/return R;
  561. }
  562. /*No:EFFECTIVE_ARG_LIST.em1*/
  563. /*No:EFFECTIVE_ARG_LIST.list*/
  564. /*No:EFFECTIVE_ARG_LIST.em2*/
  565. /*No:EFFECTIVE_ARG_LIST.current_type*/
  566. T0* r431run_class(T431* C){
  567. T0* R=NULL;
  568. R=X291run_class((((T431*)C))->_current_type/*4*/);
  569. return R;
  570. }
  571. void r431error(T0* a1,T0* a2){
  572. r683add_position(a1);
  573. r683error(((T683*)(oBC364eh)),a2);
  574. }
  575. int r431count(T431* C){
  576. int R=0;
  577. R=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*0*/))))->_upper/*12*/);
  578. return R;
  579. }
  580. T0* r431first(T431* C){
  581. T0* R=NULL;
  582. R=X96first((((T431*)C))->_list/*0*/);
  583. return R;
  584. }
  585. void r873short(T873* C){
  586. char _c=0;
  587. int _i=0;
  588. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_361));
  589. _i=1;
  590. while (!((_i)>((((T7*)((T7*)((((T873*)C))->_to_string/*8*/))))->_count/*4*/))) {
  591. _c=/*(IRF4.6item*/((((T7*)((T7*)((((T873*)C))->_to_string/*8*/))))->_storage/*0*/)[(_i)-(1)]/*)*/;
  592. /*IF*/if ((_c)==('\137')) {
  593. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms2_361),((T0*)ms3_361));
  594. }
  595. else {
  596. /*[IRF3.6a_character*/{char b1=_c;
  597. /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output));
  598. char c1=b1;
  599. putc(c1,((FILE*)(stdout)));
  600. }/*]*/
  601. }/*]*/
  602. }
  603. /*FI*/_i=(_i)+(1);
  604. }
  605. r580hook(((T580*)(oBC364short_print)),((T0*)ms4_361));
  606. }
  607. T0* r873add_comment(T873* C,T0* a1){
  608. T0* R=NULL;
  609. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  610. R=(T0*)C;
  611. }
  612. else {
  613. {T529*n=malloc(sizeof(*n));
  614. *n=M529;
  615. r529make(n,(T0*)C,a1);
  616. R=(T0*)n;
  617. }
  618. }
  619. /*FI*/return R;
  620. }
  621. int r873to_integer(T873* C){
  622. int R=0;
  623. r873error((((T873*)C))->_start_position/*12*/,((T0*)ms69_470));
  624. return R;
  625. }
  626. void r873bracketed_short(T873* C){
  627. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  628. r873short(C);
  629. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  630. }
  631. int r873is_a(T873* C,T0* a1){
  632. int R=0;
  633. R=X291is_a(X291run_type((((T873*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  634. /*IF*/if (!(R)) {
  635. r683add_position((((T873*)C))->_start_position/*12*/);
  636. r873error(X662start_position(a1),((T0*)ms4_662));
  637. }
  638. /*FI*/return R;
  639. }
  640. void r873name_clash(T873* C){
  641. T0* _rc=NULL;
  642. T0* _rf=NULL;
  643. /*IF*/if (r605has_feature(((T605*)(r873base_class_written(C))),(((T873*)C))->_to_string/*8*/)) {
  644. _rc=X291run_class((((T873*)C))->_current_type/*4*/);
  645. _rf=r368get_feature_with(((T368*)_rc),(((T873*)C))->_to_string/*8*/);
  646. /*IF*/if ((_rf)!=((void*)(NULL))) {
  647. r683add_position(X496start_position(_rf));
  648. }
  649. /*FI*/r873error((((T873*)C))->_start_position/*12*/,((T0*)ms1_873));
  650. }
  651. /*FI*/}
  652. /*No:ARGUMENT_NAME1.is_current*/
  653. T0* r873written_in(T873* C){
  654. T0* R=NULL;
  655. T0* _sp=NULL;
  656. _sp=(((T873*)C))->_start_position/*12*/;
  657. /*IF*/if ((_sp)!=((void*)(NULL))) {
  658. R=(((T627*)((T627*)_sp)))->_base_class_name/*0*/;
  659. }
  660. /*FI*/return R;
  661. }
  662. void r873make(T873* C,T0* a1,T0* a2){
  663. C->_start_position=a1;
  664. C->_to_string=r902item(a2);
  665. }
  666. /*No:ARGUMENT_NAME1.to_string*/
  667. /*No:ARGUMENT_NAME1.fz_iinaiv*/
  668. /*No:ARGUMENT_NAME1.set_result_type*/
  669. /*No:ARGUMENT_NAME1.start_position*/
  670. /*No:ARGUMENT_NAME1.precedence*/
  671. T0* r873to_runnable(T873* C,T0* a1){
  672. T0* R=NULL;
  673. T0* _t2=NULL;
  674. T0* _t1=NULL;
  675. _t1=(((T873*)C))->_result_type/*20*/;
  676. _t2=X291to_runnable(_t1,a1);
  677. /*IF*/if ((_t2)==((void*)(NULL))) {
  678. r683add_position(X291start_position(_t1));
  679. r873error((((T873*)C))->_start_position/*12*/,((T0*)ms5_361));
  680. }
  681. /*FI*//*IF*/if (((((T873*)C))->_current_type/*4*/)==((void*)(NULL))) {
  682. C->_current_type=a1;
  683. C->_result_type=_t2;
  684. R=(T0*)C;
  685. }
  686. else {
  687. {T873*n=malloc(sizeof(*n));
  688. *n=M873;
  689. r873make_runnable(n,(T0*)C,a1,_t2);
  690. R=(T0*)n;
  691. }
  692. }
  693. /*FI*/return R;
  694. }
  695. /*No:ARGUMENT_NAME1.set_rank*/
  696. /*No:ARGUMENT_NAME1.rank*/
  697. /*No:ARGUMENT_NAME1.result_type*/
  698. /*No:ARGUMENT_NAME1.atomic_precedence*/
  699. T0* r873base_class_written(T873* C){
  700. T0* R=NULL;
  701. R=r451base_class(((T451*)(r873written_in(C))));
  702. return R;
  703. }
  704. /*No:ARGUMENT_NAME1.current_type*/
  705. /*No:ARGUMENT_NAME1.is_manifest_string*/
  706. /*No:ARGUMENT_NAME1.is_void*/
  707. void r873error(T0* a1,T0* a2){
  708. r683add_position(a1);
  709. r683error(((T683*)(oBC364eh)),a2);
  710. }
  711. void r873short_target(T873* C){
  712. r873short(C);
  713. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  714. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  715. }/*]*/
  716. }
  717. /*No:ARGUMENT_NAME1.em_ba*/
  718. void r873make_runnable(T873* C,T0* a1,T0* a2,T0* a3){
  719. *((T873*)(C))=*((T873*)(a1));
  720. C->_current_type=a2;
  721. C->_result_type=a3;
  722. }
  723. T0* r292add_comment(T292* C,T0* a1){
  724. T0* R=NULL;
  725. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  726. R=(T0*)C;
  727. }
  728.  else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) {
  729. R=(T0*)C;
  730. }
  731. else {
  732. {T59*n=malloc(sizeof(*n));
  733. *n=M59;
  734. r59make(n,(T0*)C,a1);
  735. R=(T0*)n;
  736. }
  737. }
  738. /*FI*/}
  739. /*FI*/return R;
  740. }
  741. void r292make(T292* C,T0* a1,T0* a2,T0* a3){
  742. {T623*n=malloc(sizeof(*n));
  743. *n=M623;
  744. r623make(n,a1,a2,a3);
  745. C->_check_invariant=(T0*)n;
  746. }
  747. }
  748. /*No:E_CHECK.start_position*/
  749. T0* r292to_runnable(T292* C,T0* a1){
  750. T0* R=NULL;
  751. T0* _al=NULL;
  752. /*IF*/if (((((T292*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  753. C->_run_compound=a1;
  754. /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
  755. _al=r623to_runnable(((T623*)((((T292*)C))->_check_invariant/*8*/)),(((T592*)((T592*)a1)))->_current_type/*4*/);
  756. /*IF*/if ((_al)==((void*)(NULL))) {
  757. r292error(/*(IRF4.6start_position*/(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_start_position/*0*//*)*/,((T0*)ms1_292));
  758. }
  759. else {
  760. C->_check_invariant=_al;
  761. R=(T0*)C;
  762. }
  763. /*FI*/}
  764. else {
  765. R=(T0*)C;
  766. }
  767. /*FI*/}
  768. else {
  769. {T292*n=malloc(sizeof(*n));
  770. *n=M292;
  771. r292make(n,/*(IRF4.6start_position*/(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_start_position/*0*//*)*/,NULL,(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_list/*8*/);
  772. R=(T0*)n;
  773. }
  774. R=r292to_runnable(((T292*)R),a1);
  775. }
  776. /*FI*/return R;
  777. }
  778. /*No:E_CHECK.check_invariant*/
  779. /*No:E_CHECK.run_compound*/
  780. void r292error(T0* a1,T0* a2){
  781. r683add_position(a1);
  782. r683error(((T683*)(oBC364eh)),a2);
  783. }
  784. /*No:E_CHECK.end_mark_comment*/
  785. /*No:UNIQUE_STRING.us_put*/
  786. /*No:UNIQUE_STRING.us_character_bits*/
  787. /*No:UNIQUE_STRING.us_none*/
  788. /*No:UNIQUE_STRING.us_dictionary*/
  789. /*No:UNIQUE_STRING.us_minimum_integer*/
  790. /*No:UNIQUE_STRING.us_character_ref*/
  791. /*No:UNIQUE_STRING.us_integer*/
  792. /*No:UNIQUE_STRING.us_copy*/
  793. /*No:UNIQUE_STRING.us_generator*/
  794. /*No:UNIQUE_STRING.us_minimum_character_code*/
  795. /*No:UNIQUE_STRING.us_maximum_integer*/
  796. /*No:UNIQUE_STRING.us_standard_copy*/
  797. /*No:UNIQUE_STRING.us_maximum_character_code*/
  798. /*No:UNIQUE_STRING.us_minimum_real*/
  799. /*No:UNIQUE_STRING.us_sprintf_double*/
  800. /*No:UNIQUE_STRING.us_with_capacity*/
  801. void r902key_pfx_ifx(T0* a1){
  802. char _c=0;
  803. int _i=0;
  804. _i=1;
  805. while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
  806. _c=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  807. /*IF*/if (r3is_letter(_c)) {
  808. r7extend(((T7*)(oBC902pfx_ifx)),_c);
  809. }
  810. else {
  811. r2append_in(((unsigned char)_c),oBC902pfx_ifx);
  812. }
  813. /*FI*/_i=(_i)+(1);
  814. }
  815. }
  816. /*No:UNIQUE_STRING.us_backslash_backslash*/
  817. /*No:UNIQUE_STRING.us_compile_to_jvm*/
  818. /*No:UNIQUE_STRING.us_maximum_real*/
  819. /*No:UNIQUE_STRING.us_conforms_to*/
  820. /*No:UNIQUE_STRING.us_and*/
  821. /*No:UNIQUE_STRING.us_print*/
  822. /*No:UNIQUE_STRING.us_print_on*/
  823. /*No:UNIQUE_STRING.us_double_ref*/
  824. /*No:UNIQUE_STRING.us_and_then*/
  825. /*No:UNIQUE_STRING.us_put_0*/
  826. /*No:UNIQUE_STRING.us_array*/
  827. /*No:UNIQUE_STRING.us_from_pointer*/
  828. /*No:UNIQUE_STRING.us_lower*/
  829. /*No:UNIQUE_STRING.us_std_neq*/
  830. /*No:UNIQUE_STRING.us_pointer_bits*/
  831. /*No:UNIQUE_STRING.us_slash_slash*/
  832. /*No:UNIQUE_STRING.us_double_floor*/
  833. /*No:UNIQUE_STRING.us_integer_bits*/
  834. /*No:UNIQUE_STRING.us_stdout*/
  835. /*No:UNIQUE_STRING.us_capacity*/
  836. /*No:UNIQUE_STRING.us_put_1*/
  837. /*No:UNIQUE_STRING.make*/
  838. /*No:UNIQUE_STRING.us_current*/
  839. /*No:UNIQUE_STRING.us_item*/
  840. T0* r902read(T0* a1){
  841. T0* R=NULL;
  842. R=r794at(((T794*)(oBC902memory)),a1);
  843. return R;
  844. }
  845. /*No:UNIQUE_STRING.us_pointer*/
  846. /*No:UNIQUE_STRING.us_string*/
  847. /*No:UNIQUE_STRING.us_se_remove*/
  848. /*No:UNIQUE_STRING.us_flush_stream*/
  849. /*No:UNIQUE_STRING.us_realloc*/
  850. /*No:UNIQUE_STRING.us_like_current*/
  851. /*No:UNIQUE_STRING.us_floor*/
  852. /*No:UNIQUE_STRING.us_double_bits*/
  853. /*No:UNIQUE_STRING.us_or_else*/
  854. /*No:UNIQUE_STRING.us_blank*/
  855. /*No:UNIQUE_STRING.us_is_expanded_type*/
  856. /*No:UNIQUE_STRING.us_std_output*/
  857. /*No:UNIQUE_STRING.us_fclose*/
  858. T0* r902item(T0* a1){
  859. T0* R=NULL;
  860. r902initialize();
  861. /*IF*/if (r794has(((T794*)(oBC902memory)),a1)) {
  862. R=r902read(a1);
  863. }
  864. else {
  865. R=r7twin(((T7*)a1));
  866. r902add1(R);
  867. }
  868. /*FI*/return R;
  869. }
  870. /*No:UNIQUE_STRING.us_ge*/
  871. /*No:UNIQUE_STRING.us_neq*/
  872. T0*oBC364eiffel_parser=NULL;
  873. /*No:UNIQUE_STRING.us_stdin*/
  874. /*No:UNIQUE_STRING.us_slash*/
  875. /*No:UNIQUE_STRING.us_compile_to_c*/
  876. /*No:UNIQUE_STRING.us_crash*/
  877. /*No:UNIQUE_STRING.us_c_inline_c*/
  878. /*No:UNIQUE_STRING.us_standard_twin*/
  879. /*No:UNIQUE_STRING.us_truncated_to_integer*/
  880. /*No:UNIQUE_STRING.us_write_byte*/
  881. /*No:UNIQUE_STRING.us_stderr*/
  882. /*No:UNIQUE_STRING.us_se_system*/
  883. /*No:UNIQUE_STRING.us_std_file_read*/
  884. /*No:UNIQUE_STRING.us_sfr_open*/
  885. /*No:UNIQUE_STRING.us_sfw_open*/
  886. /*No:UNIQUE_STRING.us_character*/
  887. /*No:UNIQUE_STRING.us_pointer_ref*/
  888. /*No:UNIQUE_STRING.us_shift_left*/
  889. /*No:UNIQUE_STRING.us_std_error*/
  890. T0*oBC902pfx_ifx=NULL;
  891. /*No:UNIQUE_STRING.us_le*/
  892. /*No:UNIQUE_STRING.us_make*/
  893. /*No:UNIQUE_STRING.us_integer_ref*/
  894. /*No:UNIQUE_STRING.us_bitn*/
  895. /*No:UNIQUE_STRING.us_twin*/
  896. /*No:UNIQUE_STRING.us_bit_n*/
  897. /*No:UNIQUE_STRING.us_real*/
  898. /*No:UNIQUE_STRING.us_die_with_code*/
  899. /*No:UNIQUE_STRING.us_implies*/
  900. /*No:UNIQUE_STRING.us_result*/
  901. /*No:UNIQUE_STRING.us_generating_type*/
  902. /*No:UNIQUE_STRING.us_is_basic_expanded_type*/
  903. T0* r902for_prefix(T0* a1){
  904. T0* R=NULL;
  905. r7copy(((T7*)(oBC902pfx_ifx)),((T0*)ms1_902));
  906. r902key_pfx_ifx(a1);
  907. R=r902item(oBC902pfx_ifx);
  908. return R;
  909. }
  910. T0* r902for_infix(T0* a1){
  911. T0* R=NULL;
  912. r7copy(((T7*)(oBC902pfx_ifx)),((T0*)ms2_902));
  913. r902key_pfx_ifx(a1);
  914. R=r902item(oBC902pfx_ifx);
  915. return R;
  916. }
  917. /*No:UNIQUE_STRING.us_bit*/
  918. /*No:UNIQUE_STRING.us_minus*/
  919. /*No:UNIQUE_STRING.us_shift_right*/
  920. /*No:UNIQUE_STRING.us_count*/
  921. /*No:UNIQUE_STRING.us_se_argc*/
  922. /*No:UNIQUE_STRING.us_storage*/
  923. /*No:UNIQUE_STRING.us_object_size*/
  924. /*No:UNIQUE_STRING.us_se_rename*/
  925. /*No:UNIQUE_STRING.us_memory*/
  926. /*No:UNIQUE_STRING.us_code*/
  927. /*No:UNIQUE_STRING.us_sprintf_pointer*/
  928. /*No:UNIQUE_STRING.us_standard_is_equal*/
  929. /*No:UNIQUE_STRING.us_real_ref*/
  930. /*No:UNIQUE_STRING.us_boolean*/
  931. /*No:UNIQUE_STRING.us_is_not_void*/
  932. /*No:UNIQUE_STRING.us_at*/
  933. /*No:UNIQUE_STRING.us_eq*/
  934. /*No:UNIQUE_STRING.us_double*/
  935. /*No:UNIQUE_STRING.us_pointer_size*/
  936. /*No:UNIQUE_STRING.us_to_double*/
  937. /*No:UNIQUE_STRING.us_xor*/
  938. /*No:UNIQUE_STRING.us_io*/
  939. /*No:UNIQUE_STRING.us_platform*/
  940. /*No:UNIQUE_STRING.us_is_equal*/
  941. /*No:UNIQUE_STRING.us_to_bit*/
  942. /*No:UNIQUE_STRING.us_bit_n_ref*/
  943. /*No:UNIQUE_STRING.us_to_character*/
  944. /*No:UNIQUE_STRING.us_se_string2double*/
  945. /*No:UNIQUE_STRING.us_free*/
  946. /*No:UNIQUE_STRING.us_read_byte*/
  947. /*No:UNIQUE_STRING.us_not*/
  948. /*No:UNIQUE_STRING.us_void*/
  949. /*No:UNIQUE_STRING.us_muls*/
  950. /*No:UNIQUE_STRING.us_trace_switch*/
  951. /*No:UNIQUE_STRING.us_feof*/
  952. /*No:UNIQUE_STRING.us_boolean_bits*/
  953. /*No:UNIQUE_STRING.us_gt*/
  954. /*No:UNIQUE_STRING.us_se_getenv*/
  955. /*No:UNIQUE_STRING.us_to_integer*/
  956. /*No:UNIQUE_STRING.us_native_array_character*/
  957. /*No:UNIQUE_STRING.us_calloc*/
  958. /*No:UNIQUE_STRING.us_to_pointer*/
  959. /*No:UNIQUE_STRING.us_clear_all*/
  960. /*No:UNIQUE_STRING.us_real_bits*/
  961. /*No:UNIQUE_STRING.us_plus*/
  962. /*No:UNIQUE_STRING.us_boolean_ref*/
  963. /*No:UNIQUE_STRING.us_c_inline_h*/
  964. /*No:UNIQUE_STRING.us_element_sizeof*/
  965. /*No:UNIQUE_STRING.us_upper*/
  966. /*No:UNIQUE_STRING.us_native_array*/
  967. void r902add1(T0* a1){
  968. r794put(((T794*)(oBC902memory)),a1,a1);
  969. }
  970. /*No:UNIQUE_STRING.us_pow*/
  971. void r902add2(T0* a1){
  972. /*IF*/if ((((T818*)((T818*)(oBC364eiffel_parser))))->_case_insensitive/*0*/) {
  973. r7to_lower(((T7*)a1));
  974. }
  975. /*FI*/r902add1(a1);
  976. }
  977. T0*oBC902memory=NULL;
  978. /*No:UNIQUE_STRING.us_eof_code*/
  979. /*No:UNIQUE_STRING.us_print_run_time_stack*/
  980. int fBC902initialize=0;
  981. void r902initialize(void){
  982. if (fBC902initialize==0){
  983. fBC902initialize=1;
  984. r902add1(((T0*)ms1_473));
  985. r902add1(((T0*)ms2_473));
  986. r902add1(((T0*)ms3_473));
  987. r902add1(((T0*)ms4_473));
  988. r902add1(((T0*)ms5_473));
  989. r902add1(((T0*)ms6_473));
  990. r902add1(((T0*)ms7_473));
  991. r902add1(((T0*)ms8_473));
  992. r902add1(((T0*)ms9_473));
  993. r902add1(((T0*)ms10_473));
  994. r902add1(((T0*)ms11_473));
  995. r902add1(((T0*)ms12_473));
  996. r902add1(((T0*)ms13_473));
  997. r902add1(((T0*)ms14_473));
  998. r902add1(((T0*)ms15_473));
  999. r902add1(((T0*)ms16_473));
  1000. r902add1(((T0*)ms17_473));
  1001. r902add1(((T0*)ms18_473));
  1002. r902add1(((T0*)ms19_473));
  1003. r902add1(((T0*)ms20_473));
  1004. r902add1(((T0*)ms21_473));
  1005. r902add1(((T0*)ms22_473));
  1006. r902add1(((T0*)ms23_473));
  1007. r902add1(((T0*)ms24_473));
  1008. r902add1(((T0*)ms25_473));
  1009. r902add1(((T0*)ms26_473));
  1010. r902add1(((T0*)ms27_473));
  1011. r902add1(((T0*)ms28_473));
  1012. r902add1(((T0*)ms29_473));
  1013. r902add1(((T0*)ms30_473));
  1014. r902add1(((T0*)ms31_473));
  1015. r902add1(((T0*)ms32_473));
  1016. r902add1(((T0*)ms33_473));
  1017. r902add1(((T0*)ms34_473));
  1018. r902add1(((T0*)ms35_473));
  1019. r902add1(((T0*)ms36_473));
  1020. r902add1(((T0*)ms37_473));
  1021. r902add1(((T0*)ms38_473));
  1022. r902add1(((T0*)ms39_473));
  1023. r902add1(((T0*)ms40_473));
  1024. r902add1(((T0*)ms41_473));
  1025. r902add1(((T0*)ms42_473));
  1026. r902add1(((T0*)ms43_473));
  1027. r902add1(((T0*)ms44_473));
  1028. r902add1(((T0*)ms45_473));
  1029. r902add1(((T0*)ms46_473));
  1030. r902add1(((T0*)ms47_473));
  1031. r902add1(((T0*)ms48_473));
  1032. r902add1(((T0*)ms49_473));
  1033. r902add1(((T0*)ms50_473));
  1034. r902add1(((T0*)ms51_473));
  1035. r902add1(((T0*)ms52_473));
  1036. r902add1(((T0*)ms53_473));
  1037. r902add1(((T0*)ms54_473));
  1038. r902add1(((T0*)ms55_473));
  1039. r902add1(((T0*)ms56_473));
  1040. r902add1(((T0*)ms57_473));
  1041. r902add1(((T0*)ms58_473));
  1042. r902add1(((T0*)ms59_473));
  1043. r902add1(((T0*)ms60_473));
  1044. r902add1(((T0*)ms61_473));
  1045. r902add1(((T0*)ms62_473));
  1046. r902add1(((T0*)ms63_473));
  1047. r902add1(((T0*)ms64_473));
  1048. r902add1(((T0*)ms65_473));
  1049. r902add1(((T0*)ms66_473));
  1050. r902add1(((T0*)ms67_473));
  1051. r902add1(((T0*)ms68_473));
  1052. r902add1(((T0*)ms69_473));
  1053. r902add1(((T0*)ms70_473));
  1054. r902add1(((T0*)ms71_473));
  1055. r902add1(((T0*)ms72_473));
  1056. r902add1(((T0*)ms73_473));
  1057. r902add1(((T0*)ms74_473));
  1058. r902add1(((T0*)ms75_473));
  1059. r902add1(((T0*)ms76_473));
  1060. r902add1(((T0*)ms77_473));
  1061. r902add1(((T0*)ms78_473));
  1062. r902add1(((T0*)ms79_473));
  1063. r902add1(((T0*)ms80_473));
  1064. r902add1(((T0*)ms81_473));
  1065. r902add1(((T0*)ms82_473));
  1066. r902add1(((T0*)ms83_473));
  1067. r902add1(((T0*)ms84_473));
  1068. r902add1(((T0*)ms85_473));
  1069. r902add1(((T0*)ms86_473));
  1070. r902add1(((T0*)ms87_473));
  1071. r902add1(((T0*)ms88_473));
  1072. r902add1(((T0*)ms89_473));
  1073. r902add2(((T0*)ms90_473));
  1074. r902add2(((T0*)ms91_473));
  1075. r902add2(((T0*)ms92_473));
  1076. r902add2(((T0*)ms93_473));
  1077. r902add2(((T0*)ms94_473));
  1078. r902add2(((T0*)ms95_473));
  1079. r902add2(((T0*)ms96_473));
  1080. r902add2(((T0*)ms97_473));
  1081. r902add1(((T0*)ms98_473));
  1082. r902add1(((T0*)ms99_473));
  1083. r902add1(((T0*)ms100_473));
  1084. r902add1(((T0*)ms101_473));
  1085. r902add1(((T0*)ms102_473));
  1086. r902add1(((T0*)ms103_473));
  1087. r902add1(((T0*)ms104_473));
  1088. r902add1(((T0*)ms105_473));
  1089. r902add1(((T0*)ms106_473));
  1090. r902add1(((T0*)ms107_473));
  1091. r902add1(((T0*)ms108_473));
  1092. r902add1(((T0*)ms109_473));
  1093. r902add1(((T0*)ms110_473));
  1094. r902add1(((T0*)ms111_473));
  1095. r902add1(((T0*)ms112_473));
  1096. r902add1(((T0*)ms113_473));
  1097. r902add1(((T0*)ms114_473));
  1098. r902add1(((T0*)ms115_473));
  1099. r902add1(((T0*)ms116_473));
  1100. r902add1(((T0*)ms117_473));
  1101. r902add1(((T0*)ms118_473));
  1102. r902add1(((T0*)ms119_473));
  1103. r902add1(((T0*)ms120_473));
  1104. r902add1(((T0*)ms121_473));
  1105. r902add1(((T0*)ms122_473));
  1106. r902add1(((T0*)ms123_473));
  1107. r902add1(((T0*)ms124_473));
  1108. r902add1(((T0*)ms125_473));
  1109. r902add1(((T0*)ms126_473));
  1110. r902add1(((T0*)ms127_473));
  1111. r902add1(((T0*)ms128_473));
  1112. r902add1(((T0*)ms129_473));
  1113. r902add1(((T0*)ms130_473));
  1114. r902add1(((T0*)ms131_473));
  1115. r902add1(((T0*)ms132_473));
  1116. r902add1(((T0*)ms133_473));
  1117. r902add1(((T0*)ms134_473));
  1118. r902add1(((T0*)ms135_473));
  1119. r902add1(((T0*)ms136_473));
  1120. r902add1(((T0*)ms137_473));
  1121. r902add1(((T0*)ms138_473));
  1122. r902add1(((T0*)ms139_473));
  1123. r902add1(((T0*)ms140_473));
  1124. r902add1(((T0*)ms141_473));
  1125. r902add1(((T0*)ms142_473));
  1126. r902add1(((T0*)ms143_473));
  1127. r902add1(((T0*)ms144_473));
  1128. r902add1(((T0*)ms145_473));
  1129. r902add1(((T0*)ms146_473));
  1130. r902add1(((T0*)ms147_473));
  1131. }}
  1132. /*No:UNIQUE_STRING.us_malloc*/
  1133. /*No:UNIQUE_STRING.us_fixed_array*/
  1134. /*No:UNIQUE_STRING.us_std_input*/
  1135. /*No:UNIQUE_STRING.us_lt*/
  1136. /*No:UNIQUE_STRING.us_minimum_double*/
  1137. /*No:UNIQUE_STRING.us_se_argv*/
  1138. /*No:UNIQUE_STRING.us_any*/
  1139. /*No:UNIQUE_STRING.us_or*/
  1140. /*No:UNIQUE_STRING.us_general*/
  1141. /*No:UNIQUE_STRING.us_maximum_double*/
  1142. /*No:UNIQUE_STRING.us_to_real*/
  1143. /*No:EIFFEL_PARSER.cc*/
  1144. /*No:EIFFEL_PARSER.ok*/
  1145. void r818a_r5(T818* C,T0* a1){
  1146. T0* _sp=NULL;
  1147. T0* _infix_minus=NULL;
  1148. T0* _infix_plus=NULL;
  1149. /*IF*/if (r818skip1(C,'\53')) {
  1150. {T627*n=malloc(sizeof(*n));
  1151. *n=M627;
  1152. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1153. _sp=(T0*)n;
  1154. }
  1155. /*IF*/if (r818a_e5(C)) {
  1156. {T253*n=malloc(sizeof(*n));
  1157. *n=M253;
  1158. r253make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1159. _infix_plus=(T0*)n;
  1160. }
  1161. r818a_r5(C,_infix_plus);
  1162. }
  1163. else {
  1164. r818err_exp(_sp,((T0*)ms43_473));
  1165. }
  1166. /*FI*/}
  1167.  else if (r818skip1(C,'\55')) {
  1168. {T627*n=malloc(sizeof(*n));
  1169. *n=M627;
  1170. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1171. _sp=(T0*)n;
  1172. }
  1173. /*IF*/if (r818a_e5(C)) {
  1174. {T574*n=malloc(sizeof(*n));
  1175. *n=M574;
  1176. r574make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1177. _infix_minus=(T0*)n;
  1178. }
  1179. r818a_r5(C,_infix_minus);
  1180. }
  1181. else {
  1182. r818err_exp(_sp,((T0*)ms37_473));
  1183. }
  1184. /*FI*/}
  1185. else {
  1186. C->_last_expression=a1;
  1187. }
  1188. /*FI*/}
  1189. int r818a_e5(T818* C){
  1190. int R=0;
  1191. R=r818a_e6(C);
  1192. r818a_r6(C,(((T818*)C))->_last_expression/*97*/);
  1193. return R;
  1194. }
  1195. /*No:EIFFEL_PARSER.arguments*/
  1196. /*No:EIFFEL_PARSER.fz_creation*/
  1197. /*No:EIFFEL_PARSER.em14*/
  1198. int r818a_binary(T818* C,T0* a1){
  1199. int R=0;
  1200. R=1;
  1201. /*IF*/if (r818skip2(C,'\74','\75')) {
  1202. {T454*n=malloc(sizeof(*n));
  1203. *n=M454;
  1204. r454make(n,((T0*)ms35_473),a1);
  1205. C->_last_binary=(T0*)n;
  1206. }
  1207. }
  1208.  else if (r818skip2(C,'\76','\75')) {
  1209. {T454*n=malloc(sizeof(*n));
  1210. *n=M454;
  1211. r454make(n,((T0*)ms32_473),a1);
  1212. C->_last_binary=(T0*)n;
  1213. }
  1214. }
  1215.  else if (r818skip2(C,'\57','\57')) {
  1216. {T454*n=malloc(sizeof(*n));
  1217. *n=M454;
  1218. r454make(n,((T0*)ms45_818),a1);
  1219. C->_last_binary=(T0*)n;
  1220. }
  1221. }
  1222.  else if (r818skip2(C,'\134','\134')) {
  1223. {T454*n=malloc(sizeof(*n));
  1224. *n=M454;
  1225. r454make(n,((T0*)ms46_818),a1);
  1226. C->_last_binary=(T0*)n;
  1227. }
  1228. }
  1229.  else if (r818skip1(C,'\53')) {
  1230. {T454*n=malloc(sizeof(*n));
  1231. *n=M454;
  1232. r454make(n,((T0*)ms43_473),a1);
  1233. C->_last_binary=(T0*)n;
  1234. }
  1235. }
  1236.  else if (r818skip1(C,'\55')) {
  1237. {T454*n=malloc(sizeof(*n));
  1238. *n=M454;
  1239. r454make(n,((T0*)ms37_473),a1);
  1240. C->_last_binary=(T0*)n;
  1241. }
  1242. }
  1243.  else if (r818skip1(C,'\52')) {
  1244. {T454*n=malloc(sizeof(*n));
  1245. *n=M454;
  1246. r454make(n,((T0*)ms38_473),a1);
  1247. C->_last_binary=(T0*)n;
  1248. }
  1249. }
  1250.  else if (r818skip1(C,'\57')) {
  1251. {T454*n=malloc(sizeof(*n));
  1252. *n=M454;
  1253. r454make(n,((T0*)ms47_473),a1);
  1254. C->_last_binary=(T0*)n;
  1255. }
  1256. }
  1257.  else if (r818skip1(C,'\76')) {
  1258. {T454*n=malloc(sizeof(*n));
  1259. *n=M454;
  1260. r454make(n,((T0*)ms33_473),a1);
  1261. C->_last_binary=(T0*)n;
  1262. }
  1263. }
  1264.  else if (r818skip1(C,'\74')) {
  1265. {T454*n=malloc(sizeof(*n));
  1266. *n=M454;
  1267. r454make(n,((T0*)ms36_473),a1);
  1268. C->_last_binary=(T0*)n;
  1269. }
  1270. }
  1271.  else if (r818skip1(C,'\136')) {
  1272. {T454*n=malloc(sizeof(*n));
  1273. *n=M454;
  1274. r454make(n,((T0*)ms47_818),a1);
  1275. C->_last_binary=(T0*)n;
  1276. }
  1277. }
  1278.  else if (r818a_keyword(C,((T0*)ms50_473))) {
  1279. {T454*n=malloc(sizeof(*n));
  1280. *n=M454;
  1281. r454make(n,((T0*)ms50_473),a1);
  1282. C->_last_binary=(T0*)n;
  1283. }
  1284. }
  1285.  else if (r818a_keyword(C,((T0*)ms34_473))) {
  1286. {T454*n=malloc(sizeof(*n));
  1287. *n=M454;
  1288. r454make(n,((T0*)ms34_473),a1);
  1289. C->_last_binary=(T0*)n;
  1290. }
  1291. }
  1292.  else if (r818a_keyword(C,((T0*)ms27_473))) {
  1293. /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) {
  1294. {T454*n=malloc(sizeof(*n));
  1295. *n=M454;
  1296. r454make(n,((T0*)ms28_473),a1);
  1297. C->_last_binary=(T0*)n;
  1298. }
  1299. }
  1300. else {
  1301. {T454*n=malloc(sizeof(*n));
  1302. *n=M454;
  1303. r454make(n,((T0*)ms27_473),a1);
  1304. C->_last_binary=(T0*)n;
  1305. }
  1306. }
  1307. /*FI*/}
  1308.  else if (r818a_keyword(C,((T0*)ms41_473))) {
  1309. /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
  1310. {T454*n=malloc(sizeof(*n));
  1311. *n=M454;
  1312. r454make(n,((T0*)ms42_473),a1);
  1313. C->_last_binary=(T0*)n;
  1314. }
  1315. }
  1316. else {
  1317. {T454*n=malloc(sizeof(*n));
  1318. *n=M454;
  1319. r454make(n,((T0*)ms41_473),a1);
  1320. C->_last_binary=(T0*)n;
  1321. }
  1322. }
  1323. /*FI*/}
  1324. else {
  1325. C->_last_binary=NULL;
  1326. R=0;
  1327. }
  1328. /*FI*/return R;
  1329. }
  1330. void r818a_r6(T818* C,T0* a1){
  1331. T0* _sp=NULL;
  1332. T0* _infix_div=NULL;
  1333. T0* _infix_int_rem=NULL;
  1334. T0* _infix_int_div=NULL;
  1335. T0* _infix_times=NULL;
  1336. /*IF*/if (r818skip1(C,'\52')) {
  1337. {T627*n=malloc(sizeof(*n));
  1338. *n=M627;
  1339. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1340. _sp=(T0*)n;
  1341. }
  1342. /*IF*/if (r818a_e6(C)) {
  1343. {T414*n=malloc(sizeof(*n));
  1344. *n=M414;
  1345. r414make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1346. _infix_times=(T0*)n;
  1347. }
  1348. r818a_r6(C,_infix_times);
  1349. }
  1350. else {
  1351. r818err_exp(_sp,((T0*)ms38_473));
  1352. }
  1353. /*FI*/}
  1354.  else if (r818skip2(C,'\57','\57')) {
  1355. {T627*n=malloc(sizeof(*n));
  1356. *n=M627;
  1357. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1358. _sp=(T0*)n;
  1359. }
  1360. /*IF*/if (r818a_e6(C)) {
  1361. {T460*n=malloc(sizeof(*n));
  1362. *n=M460;
  1363. r460make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1364. _infix_int_div=(T0*)n;
  1365. }
  1366. r818a_r6(C,_infix_int_div);
  1367. }
  1368. else {
  1369. r818err_exp(_sp,((T0*)ms120_818));
  1370. }
  1371. /*FI*/}
  1372.  else if (r818skip2(C,'\134','\134')) {
  1373. {T627*n=malloc(sizeof(*n));
  1374. *n=M627;
  1375. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1376. _sp=(T0*)n;
  1377. }
  1378. /*IF*/if (r818a_e6(C)) {
  1379. {T453*n=malloc(sizeof(*n));
  1380. *n=M453;
  1381. r453make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1382. _infix_int_rem=(T0*)n;
  1383. }
  1384. r818a_r6(C,_infix_int_rem);
  1385. }
  1386. else {
  1387. r818err_exp(_sp,((T0*)ms121_818));
  1388. }
  1389. /*FI*/}
  1390.  else if (r818skip1unless2(C,'\57','\75')) {
  1391. {T627*n=malloc(sizeof(*n));
  1392. *n=M627;
  1393. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1394. _sp=(T0*)n;
  1395. }
  1396. /*IF*/if (r818a_e6(C)) {
  1397. {T520*n=malloc(sizeof(*n));
  1398. *n=M520;
  1399. r520make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1400. _infix_div=(T0*)n;
  1401. }
  1402. r818a_r6(C,_infix_div);
  1403. }
  1404. else {
  1405. r818err_exp(_sp,((T0*)ms47_473));
  1406. }
  1407. /*FI*/}
  1408. else {
  1409. C->_last_expression=a1;
  1410. }
  1411. /*FI*/}
  1412. int r818a_e6(T818* C){
  1413. int R=0;
  1414. R=r818a_e7(C);
  1415. r818a_r7(C,(((T818*)C))->_last_expression/*97*/);
  1416. return R;
  1417. }
  1418. /*No:EIFFEL_PARSER.em15*/
  1419. /*No:EIFFEL_PARSER.last_parent*/
  1420. void r818a_r7(T818* C,T0* a1){
  1421. T0* _sp=NULL;
  1422. T0* _infix_power=NULL;
  1423. /*IF*/if (r818skip1(C,'\136')) {
  1424. {T627*n=malloc(sizeof(*n));
  1425. *n=M627;
  1426. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1427. _sp=(T0*)n;
  1428. }
  1429. /*IF*/if (r818a_e7(C)) {
  1430. {T557*n=malloc(sizeof(*n));
  1431. *n=M557;
  1432. r557make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1433. _infix_power=(T0*)n;
  1434. }
  1435. r818a_r7(C,_infix_power);
  1436. }
  1437. else {
  1438. r818err_exp(_sp,((T0*)ms122_818));
  1439. }
  1440. /*FI*/}
  1441. else {
  1442. C->_last_expression=a1;
  1443. }
  1444. /*FI*/}
  1445. int r818a_e7(T818* C){
  1446. int R=0;
  1447. R=r818a_e8(C);
  1448. r818a_r8(C,(((T818*)C))->_last_expression/*97*/);
  1449. return R;
  1450. }
  1451. int r818a_boolean_constant(T818* C){
  1452. int R=0;
  1453. /*IF*/if (r818a_keyword(C,((T0*)ms47_470))) {
  1454. {T849*n=malloc(sizeof(*n));
  1455. *n=M849;
  1456. /*[IRF3.3make*/((((T849*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1457. /*]*/
  1458. C->_last_boolean_constant=(T0*)n;
  1459. }
  1460. R=1;
  1461. }
  1462.  else if (r818a_keyword(C,((T0*)ms17_470))) {
  1463. {T367*n=malloc(sizeof(*n));
  1464. *n=M367;
  1465. /*[IRF3.3make*/((((T367*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1466. /*]*/
  1467. C->_last_boolean_constant=(T0*)n;
  1468. }
  1469. R=1;
  1470. }
  1471. /*FI*/return R;
  1472. }
  1473. /*No:EIFFEL_PARSER.last_type*/
  1474. int r818a_base_type(T818* C){
  1475. int R=0;
  1476. T0* _sp=NULL;
  1477. R=1;
  1478. /*IF*/if (r818a_keyword(C,((T0*)ms1_473))) {
  1479. {T669*n=malloc(sizeof(*n));
  1480. *n=M669;
  1481. r669make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1482. C->_last_base_type=(T0*)n;
  1483. }
  1484. }
  1485.  else if (r818a_keyword(C,((T0*)ms2_473))) {
  1486. {T627*n=malloc(sizeof(*n));
  1487. *n=M627;
  1488. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1489. _sp=(T0*)n;
  1490. }
  1491. /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) {
  1492. {T709*n=malloc(sizeof(*n));
  1493. *n=M709;
  1494. r709make(n,_sp,(((T818*)C))->_last_type/*157*/);
  1495. C->_last_base_type=(T0*)n;
  1496. }
  1497. }
  1498. else {
  1499. r818fcp(C,((T0*)ms40_818));
  1500. }
  1501. /*FI*/}
  1502.  else if (r818a_keyword(C,((T0*)ms18_473))) {
  1503. {T627*n=malloc(sizeof(*n));
  1504. *n=M627;
  1505. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1506. _sp=(T0*)n;
  1507. }
  1508. /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) {
  1509. {T933*n=malloc(sizeof(*n));
  1510. *n=M933;
  1511. r933make(n,_sp,(((T818*)C))->_last_type/*157*/);
  1512. C->_last_base_type=(T0*)n;
  1513. }
  1514. }
  1515. else {
  1516. r818fcp(C,((T0*)ms41_818));
  1517. }
  1518. /*FI*/}
  1519.  else if (r818a_keyword(C,((T0*)ms42_818))) {
  1520. {T627*n=malloc(sizeof(*n));
  1521. *n=M627;
  1522. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1523. _sp=(T0*)n;
  1524. }
  1525. /*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) {
  1526. {T933*n=malloc(sizeof(*n));
  1527. *n=M933;
  1528. r933make(n,_sp,(((T818*)C))->_last_type/*157*/);
  1529. C->_last_base_type=(T0*)n;
  1530. }
  1531. }
  1532. else {
  1533. r818fcp(C,((T0*)ms43_818));
  1534. }
  1535. /*FI*/r818warning(_sp,((T0*)ms44_818));
  1536. }
  1537.  else if (r818a_keyword(C,((T0*)ms6_473))) {
  1538. {T707*n=malloc(sizeof(*n));
  1539. *n=M707;
  1540. r707make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1541. C->_last_base_type=(T0*)n;
  1542. }
  1543. }
  1544.  else if (r818a_keyword(C,((T0*)ms8_473))) {
  1545. {T252*n=malloc(sizeof(*n));
  1546. *n=M252;
  1547. r252make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1548. C->_last_base_type=(T0*)n;
  1549. }
  1550. }
  1551.  else if (r818a_keyword(C,((T0*)ms11_473))) {
  1552. {T388*n=malloc(sizeof(*n));
  1553. *n=M388;
  1554. r388make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1555. C->_last_base_type=(T0*)n;
  1556. }
  1557. }
  1558.  else if (r818a_keyword(C,((T0*)ms15_473))) {
  1559. {T788*n=malloc(sizeof(*n));
  1560. *n=M788;
  1561. r788make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1562. C->_last_base_type=(T0*)n;
  1563. }
  1564. }
  1565.  else if (r818a_keyword(C,((T0*)ms19_473))) {
  1566. {T284*n=malloc(sizeof(*n));
  1567. *n=M284;
  1568. r284make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1569. C->_last_base_type=(T0*)n;
  1570. }
  1571. }
  1572.  else if (r818a_keyword(C,((T0*)ms21_473))) {
  1573. {T900*n=malloc(sizeof(*n));
  1574. *n=M900;
  1575. r900make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1576. C->_last_base_type=(T0*)n;
  1577. }
  1578. }
  1579.  else if (r818a_keyword(C,((T0*)ms23_473))) {
  1580. {T209*n=malloc(sizeof(*n));
  1581. *n=M209;
  1582. r209make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1583. C->_last_base_type=(T0*)n;
  1584. }
  1585. }
  1586.  else if (r818a_keyword(C,((T0*)ms25_473))) {
  1587. {T491*n=malloc(sizeof(*n));
  1588. *n=M491;
  1589. r491make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1590. C->_last_base_type=(T0*)n;
  1591. }
  1592. }
  1593. else {
  1594. R=0;
  1595. }
  1596. /*FI*/return R;
  1597. }
  1598. /*No:EIFFEL_PARSER.em16*/
  1599. /*No:EIFFEL_PARSER.nb_warnings*/
  1600. /*No:EIFFEL_PARSER.last_expression*/
  1601. /*No:EIFFEL_PARSER.last_character_constant*/
  1602. void r818a_r8(T818* C,T0* a1){
  1603. T0* _infix_freeop=NULL;
  1604. T0* _infix_name=NULL;
  1605. /*IF*/if (r818a_free_operator(C)) {
  1606. _infix_name=r511to_infix_name_use(((T511*)(oBC818tmp_name)));
  1607. /*IF*/if (r818a_e8(C)) {
  1608. {T534*n=malloc(sizeof(*n));
  1609. *n=M534;
  1610. r534make(n,a1,_infix_name,(((T818*)C))->_last_expression/*97*/);
  1611. _infix_freeop=(T0*)n;
  1612. }
  1613. r818a_r8(C,_infix_freeop);
  1614. }
  1615. else {
  1616. r818err_exp((((T454*)((T454*)_infix_name)))->_start_position/*8*/,(((T454*)((T454*)_infix_name)))->_to_string/*4*/);
  1617. }
  1618. /*FI*/}
  1619. else {
  1620. C->_last_expression=a1;
  1621. }
  1622. /*FI*/}
  1623. int r818a_e8(T818* C){
  1624. int R=0;
  1625. T0* _sp=NULL;
  1626. T0* _prefix_freeop=NULL;
  1627. T0* _op=NULL;
  1628. T0* _prefix_moins=NULL;
  1629. T0* _prefix_plus=NULL;
  1630. T0* _prefix_not=NULL;
  1631. /*IF*/if (r818a_keyword(C,((T0*)ms40_473))) {
  1632. {T627*n=malloc(sizeof(*n));
  1633. *n=M627;
  1634. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1635. _sp=(T0*)n;
  1636. }
  1637. /*IF*/if (r818a_e8(C)) {
  1638. {T180*n=malloc(sizeof(*n));
  1639. *n=M180;
  1640. r180make(n,_sp,(((T818*)C))->_last_expression/*97*/);
  1641. _prefix_not=(T0*)n;
  1642. }
  1643. C->_last_expression=_prefix_not;
  1644. R=1;
  1645. }
  1646. else {
  1647. r818err_exp(_sp,((T0*)ms40_473));
  1648. }
  1649. /*FI*/}
  1650.  else if (r818skip1(C,'\53')) {
  1651. {T627*n=malloc(sizeof(*n));
  1652. *n=M627;
  1653. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1654. _sp=(T0*)n;
  1655. }
  1656. /*IF*/if (r818a_e8(C)) {
  1657. {T767*n=malloc(sizeof(*n));
  1658. *n=M767;
  1659. r767make(n,_sp,(((T818*)C))->_last_expression/*97*/);
  1660. _prefix_plus=(T0*)n;
  1661. }
  1662. C->_last_expression=_prefix_plus;
  1663. R=1;
  1664. }
  1665. else {
  1666. r818err_exp(_sp,((T0*)ms73_818));
  1667. }
  1668. /*FI*/}
  1669.  else if (r818skip1(C,'\55')) {
  1670. {T627*n=malloc(sizeof(*n));
  1671. *n=M627;
  1672. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1673. _sp=(T0*)n;
  1674. }
  1675. /*IF*/if (r818a_e8(C)) {
  1676. {T72*n=malloc(sizeof(*n));
  1677. *n=M72;
  1678. r72make(n,_sp,(((T818*)C))->_last_expression/*97*/);
  1679. _prefix_moins=(T0*)n;
  1680. }
  1681. C->_last_expression=_prefix_moins;
  1682. R=1;
  1683. }
  1684. else {
  1685. r818err_exp(_sp,((T0*)ms74_818));
  1686. }
  1687. /*FI*/}
  1688.  else if (r818a_free_operator(C)) {
  1689. _op=r511to_prefix_name(((T511*)(oBC818tmp_name)));
  1690. /*IF*/if (r818a_e8(C)) {
  1691. {T990*n=malloc(sizeof(*n));
  1692. *n=M990;
  1693. /*[IRF3.6make*/{T990* C1=n;
  1694. T0* b1=(((T818*)C))->_last_expression/*97*/;
  1695. T0* b2=_op;
  1696. r990make_call0(C1,b1,b2);
  1697. }/*]*/
  1698. _prefix_freeop=(T0*)n;
  1699. }
  1700. C->_last_expression=_prefix_freeop;
  1701. R=1;
  1702. }
  1703. else {
  1704. /*[IRF3.6append*/{T0* b1=((T0*)ms75_818);
  1705. r7append(((T7*)(oBC683explanation)),b1);
  1706. }/*]*/
  1707. r818err_exp((((T406*)((T406*)_op)))->_start_position/*8*/,(((T406*)((T406*)_op)))->_to_string/*4*/);
  1708. }
  1709. /*FI*/}
  1710. else {
  1711. R=r818a_e9(C);
  1712. }
  1713. /*FI*/return R;
  1714. }
  1715. int r818a_feature_declaration(T818* C){
  1716. int R=0;
  1717. r505initialize(((T505*)(oBC818tmp_feature)));
  1718. /*IF*/if (r818a_keyword(C,((T0*)ms20_470))) {
  1719. /*IF*/if (r818a_feature_name(C)) {
  1720. R=1;
  1721. X776set_is_frozen((((T818*)C))->_last_feature_name/*109*/,1);
  1722. /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/;
  1723. r855add_last(((T855*)(oBC505names)),b1);
  1724. }/*]*/
  1725. }
  1726. else {
  1727. r818fcp(C,((T0*)ms140_818));
  1728. }
  1729. /*FI*/}
  1730.  else if (r818a_feature_name(C)) {
  1731. R=1;
  1732. /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/;
  1733. r855add_last(((T855*)(oBC505names)),b1);
  1734. }/*]*/
  1735. }
  1736. /*FI*/while (!(!(r818skip1(C,'\54')))) {
  1737. /*IF*/if (r818a_keyword(C,((T0*)ms20_470))) {
  1738. /*IF*/if (r818a_feature_name(C)) {
  1739. X776set_is_frozen((((T818*)C))->_last_feature_name/*109*/,1);
  1740. /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/;
  1741. r855add_last(((T855*)(oBC505names)),b1);
  1742. }/*]*/
  1743. }
  1744. else {
  1745. r818fcp(C,((T0*)ms92_818));
  1746. }
  1747. /*FI*/}
  1748.  else if (r818a_feature_name(C)) {
  1749. /*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/;
  1750. r855add_last(((T855*)(oBC505names)),b1);
  1751. }/*]*/
  1752. }
  1753. else {
  1754. /*[IRF3.6ecp*/{T818* C1=C;
  1755. T0* b1=((T0*)ms93_818);
  1756. r818error(r818current_position(C1),b1);
  1757. }/*]*/
  1758. }
  1759. /*FI*/}
  1760. /*IF*/if (R) {
  1761. r818a_formal_arg_list(C);
  1762. C->_function_type=NULL;
  1763. /*IF*/if (r818skip1(C,'\72')) {
  1764. /*IF*/if (r818a_type(C)) {
  1765. C->_function_type=(((T818*)C))->_last_type/*157*/;
  1766. /*[IRF3.3set_type*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_type)=((((T818*)C))->_last_type/*157*/);
  1767. /*]*/
  1768. }
  1769. else {
  1770. r818fcp(C,((T0*)ms156_818));
  1771. }
  1772. /*FI*/}
  1773. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms27_470))) {
  1774. /*IF*/if (r818a_keyword(C,((T0*)ms49_470))) {
  1775. C->_last_feature_declaration=r505to_cst_att_unique(((T505*)(oBC818tmp_feature)));
  1776. }
  1777.  else if (r818a_boolean_constant(C)) {
  1778. C->_last_feature_declaration=r505to_cst_att_boolean(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_boolean_constant/*81*/);
  1779. }
  1780.  else if (r818a_character_constant(C)) {
  1781. C->_last_feature_declaration=r505to_cst_att_character(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_character_constant/*85*/);
  1782. }
  1783.  else if (r818a_manifest_string(C)) {
  1784. C->_last_feature_declaration=r505to_cst_att_string(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_manifest_string/*145*/);
  1785. }
  1786.  else if (r818a_bit_constant(C)) {
  1787. C->_last_feature_declaration=r505to_cst_att_bit(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_bit_constant/*77*/);
  1788. }
  1789.  else if (r818a_real_constant(C)) {
  1790. C->_last_feature_declaration=r505to_cst_att_real(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_real_constant/*153*/);
  1791. }
  1792.  else if (r818a_integer_constant(C)) {
  1793. C->_last_feature_declaration=r505to_cst_att_integer(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_integer_constant/*129*/);
  1794. }
  1795. else {
  1796. C->_last_feature_declaration=r818a_routine(C);
  1797. }
  1798. /*FI*/}
  1799. else {
  1800. C->_last_feature_declaration=r505to_writable_attribute(((T505*)(oBC818tmp_feature)));
  1801. }
  1802. /*FI*/C->_function_type=NULL;
  1803. C->_arguments=NULL;
  1804. }
  1805. /*FI*/return R;
  1806. }
  1807. /*No:EIFFEL_PARSER.us_integer*/
  1808. /*No:EIFFEL_PARSER.em17*/
  1809. int r818a_integer_constant(T818* C){
  1810. int R=0;
  1811. int _c=0;
  1812. int _l=0;
  1813. /*IF*/if (r818skip1(C,'\53')) {
  1814. _l=(((T818*)C))->_start_line/*169*/;
  1815. _c=(((T818*)C))->_start_column/*165*/;
  1816. /*IF*/if (r818a_integer(C)) {
  1817. r627set_line_column(((T627*)((((T342*)((T342*)((((T818*)C))->_last_integer_constant/*129*/))))->_start_position/*8*/)),_l,_c);
  1818. R=1;
  1819. }
  1820. else {
  1821. r818fcp(C,((T0*)ms69_470));
  1822. }
  1823. /*FI*/}
  1824.  else if (r818skip1(C,'\55')) {
  1825. _l=(((T818*)C))->_start_line/*169*/;
  1826. _c=(((T818*)C))->_start_column/*165*/;
  1827. /*IF*/if (r818a_integer(C)) {
  1828. r627set_line_column(((T627*)((((T342*)((T342*)((((T818*)C))->_last_integer_constant/*129*/))))->_start_position/*8*/)),_l,_c);
  1829. r342unary_minus(((T342*)((((T818*)C))->_last_integer_constant/*129*/)));
  1830. R=1;
  1831. }
  1832. else {
  1833. r818fcp(C,((T0*)ms69_470));
  1834. }
  1835. /*FI*/}
  1836. else {
  1837. R=r818a_integer(C);
  1838. }
  1839. /*FI*/return R;
  1840. }
  1841. void r818a_creation_clause(T818* C,T0* a1){
  1842. T0* _creation_clause=NULL;
  1843. T0* _list=NULL;
  1844. T0* _comments=NULL;
  1845. T0* _clients=NULL;
  1846. _clients=r818a_clients(C);
  1847. _comments=r818get_comments(C);
  1848. /*IF*/if (r818a_feature_list(C)) {
  1849. _list=(((T818*)C))->_last_feature_list/*105*/;
  1850. }
  1851. /*FI*/{T583*n=malloc(sizeof(*n));
  1852. *n=M583;
  1853. r583make(n,a1,_clients,_comments,_list);
  1854. _creation_clause=(T0*)n;
  1855. }
  1856. r605add_creation_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_creation_clause);
  1857. }
  1858. int r818a_e9(T818* C){
  1859. int R=0;
  1860. T0* _e_old=NULL;
  1861. /*IF*/if (r818a_keyword(C,((T0*)ms34_470))) {
  1862. /*IF*/if (!((((T818*)C))->_in_ensure/*37*/)) {
  1863. r818error(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),((T0*)ms76_818));
  1864. }
  1865. /*FI*//*IF*/if (r818a_e10(C)) {
  1866. {T664*n=malloc(sizeof(*n));
  1867. *n=M664;
  1868. /*[IRF3.3make*/((((T664*)(n)))->_expression)=((((T818*)C))->_last_expression/*97*/);
  1869. /*]*/
  1870. _e_old=(T0*)n;
  1871. }
  1872. C->_last_expression=_e_old;
  1873. R=1;
  1874. }
  1875. else {
  1876. r818fcp(C,((T0*)ms77_818));
  1877. }
  1878. /*FI*/}
  1879. else {
  1880. R=r818a_e10(C);
  1881. }
  1882. /*FI*/return R;
  1883. }
  1884. int r818a_index_value(T818* C){
  1885. int R=0;
  1886. /*IF*/if (r818a_identifier(C)) {
  1887. C->_last_index_value=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  1888. R=1;
  1889. }
  1890.  else if (r818a_manifest_constant(C)) {
  1891. C->_last_index_value=(((T818*)C))->_last_manifest_constant/*141*/;
  1892. R=1;
  1893. }
  1894. /*FI*/return R;
  1895. }
  1896. /*No:EIFFEL_PARSER.em18*/
  1897. void r818a_new_export_list(T818* C){
  1898. int _state=0;
  1899. T0* _new_export_item=NULL;
  1900. T0* _items=NULL;
  1901. T0* _clients=NULL;
  1902. T0* _sp=NULL;
  1903. T0* _export_list=NULL;
  1904. /*IF*/if (r818a_keyword(C,((T0*)ms15_470))) {
  1905. {T627*n=malloc(sizeof(*n));
  1906. *n=M627;
  1907. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1908. _sp=(T0*)n;
  1909. }
  1910. while (!((_state)>(3))) {
  1911. {int z1=_state;
  1912.  
  1913. if((0==z1)){
  1914. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\173')) {
  1915. _clients=r818a_clients(C);
  1916. _state=1;
  1917. }
  1918.  else if (((((T818*)C))->_cc/*24*/)==('\73')) {
  1919. /*[IRF3.6wcp*/{T818* C1=C;
  1920. T0* b1=((T0*)ms68_470);
  1921. r818warning(r818current_position(C1),b1);
  1922. }/*]*/
  1923. C->_ok=r818skip1(C,'\73');
  1924. }
  1925. else {
  1926. /*IF*/if ((_items)!=((void*)(NULL))) {
  1927. {T671*n=malloc(sizeof(*n));
  1928. *n=M671;
  1929. r671make(n,_sp,_items);
  1930. _export_list=(T0*)n;
  1931. }
  1932. /*[IRF3.3set_export*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_export_list)=(_export_list);
  1933. /*]*/
  1934. }
  1935. /*FI*/_state=4;
  1936. }
  1937. /*FI*/}
  1938.  else 
  1939. if((1==z1)){
  1940. /*IF*/if (r818a_keyword(C,((T0*)ms2_470))) {
  1941. {T542*n=malloc(sizeof(*n));
  1942. *n=M542;
  1943. r542make_all(n,_clients);
  1944. _new_export_item=(T0*)n;
  1945. }
  1946. /*IF*/if ((_items)==((void*)(NULL))) {
  1947. _items=se_ma587(1,_new_export_item);
  1948. }
  1949. else {
  1950. r587add_last(((T587*)_items),_new_export_item);
  1951. }
  1952. /*FI*/_state=2;
  1953. }
  1954. else {
  1955. /*IF*/if (r818a_feature_list(C)) {
  1956. {T542*n=malloc(sizeof(*n));
  1957. *n=M542;
  1958. r542make(n,_clients,(((T818*)C))->_last_feature_list/*105*/);
  1959. _new_export_item=(T0*)n;
  1960. }
  1961. /*IF*/if ((_items)==((void*)(NULL))) {
  1962. _items=se_ma587(1,_new_export_item);
  1963. }
  1964. else {
  1965. r587add_last(((T587*)_items),_new_export_item);
  1966. }
  1967. /*FI*/_state=2;
  1968. }
  1969. else {
  1970. _state=3;
  1971. }
  1972. /*FI*/}
  1973. /*FI*/}
  1974.  else 
  1975. if((2==z1)){
  1976. /*IF*/if (r818skip1(C,'\73')) {
  1977. _state=0;
  1978. }
  1979.  else if (((((T818*)C))->_cc/*24*/)==('\173')) {
  1980. /*[IRF3.6wcp*/{T818* C1=C;
  1981. T0* b1=((T0*)ms144_818);
  1982. r818warning(r818current_position(C1),b1);
  1983. }/*]*/
  1984. _state=0;
  1985. }
  1986. else {
  1987. /*IF*/if ((_items)!=((void*)(NULL))) {
  1988. {T671*n=malloc(sizeof(*n));
  1989. *n=M671;
  1990. r671make(n,_sp,_items);
  1991. _export_list=(T0*)n;
  1992. }
  1993. /*[IRF3.3set_export*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_export_list)=(_export_list);
  1994. /*]*/
  1995. }
  1996. /*FI*/_state=4;
  1997. }
  1998. /*FI*/}
  1999.  else{r818fcp(C,((T0*)ms149_818));
  2000. _state=4;
  2001. }}
  2002. }
  2003. }
  2004. /*FI*/}
  2005. /*No:EIFFEL_PARSER.last_manifest_string*/
  2006. /*No:EIFFEL_PARSER.last_base_type*/
  2007. /*No:EIFFEL_PARSER.em19*/
  2008. /*No:EIFFEL_PARSER.last_comments*/
  2009. int r818a_retry(T818* C){
  2010. int R=0;
  2011. /*IF*/if (r818a_keyword(C,((T0*)ms42_470))) {
  2012. /*IF*/if (!((((T818*)C))->_in_rescue/*41*/)) {
  2013. r818error(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),((T0*)ms30_818));
  2014. }
  2015. /*FI*/{T526*n=malloc(sizeof(*n));
  2016. *n=M526;
  2017. /*[IRF3.3make*/((((T526*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  2018. /*]*/
  2019. C->_last_instruction=(T0*)n;
  2020. }
  2021. R=1;
  2022. }
  2023. /*FI*/return R;
  2024. }
  2025. /*No:EIFFEL_PARSER.drop_comments*/
  2026. int r818a_e10(T818* C){
  2027. int R=0;
  2028. /*IF*/if (r818a_strip(C)) {
  2029. R=1;
  2030. }
  2031.  else if (r818skip1(C,'\50')) {
  2032. R=1;
  2033. /*IF*/if (r818a_expression(C)) {
  2034. /*IF*/if (r818skip1(C,'\51')) {
  2035. r818a_r10(C,0,(((T818*)C))->_last_expression/*97*/,NULL,NULL);
  2036. }
  2037. else {
  2038. r818fcp(C,((T0*)ms78_818));
  2039. }
  2040. /*FI*/}
  2041. else {
  2042. r818fcp(C,((T0*)ms79_818));
  2043. }
  2044. /*FI*/}
  2045.  else if (r818a_manifest_constant(C)) {
  2046. C->_last_expression=(((T818*)C))->_last_manifest_constant/*141*/;
  2047. R=1;
  2048. /*IF*/if (r818skip1unless2(C,'\56','\56')) {
  2049. /*[IRF3.6wcp*/{T818* C1=C;
  2050. T0* b1=((T0*)ms80_818);
  2051. r818warning(r818current_position(C1),b1);
  2052. }/*]*/
  2053. r818a_after_a_dot(C,0,(((T818*)C))->_last_expression/*97*/);
  2054. }
  2055. /*FI*/}
  2056.  else if (r818a_identifier(C)) {
  2057. R=1;
  2058. /*IF*/if (((((r818a_result(C))||(r818a_current(C)))||(r818a_void(C)))||(r818a_local_variable(C)))||(r818a_argument(C))) {
  2059. r818a_r10(C,0,(((T818*)C))->_last_expression/*97*/,NULL,NULL);
  2060. }
  2061. else {
  2062. r818a_function_call(C);
  2063. }
  2064. /*FI*/}
  2065. /*FI*/return R;
  2066. }
  2067. /*No:EIFFEL_PARSER.last_prefix*/
  2068. void r818a_r10(T818* C,int a1,T0* a2,T0* a3,T0* a4){
  2069. /*IF*/if (r818skip1unless2(C,'\56','\56')) {
  2070. r818a_after_a_dot(C,a1,r818to_call(a2,a3,a4));
  2071. }
  2072. else {
  2073. /*IF*/if (a1) {
  2074. C->_last_instruction=r818to_proc_call(C,a2,a3,a4);
  2075. C->_last_expression=NULL;
  2076. }
  2077. else {
  2078. C->_last_expression=r818to_call(a2,a3,a4);
  2079. C->_last_instruction=NULL;
  2080. }
  2081. /*FI*/}
  2082. /*FI*/}
  2083. void r818skip_comments(T818* C){
  2084. int _state=0;
  2085. T0* _sp=NULL;
  2086. while (!((_state)==(2))) {
  2087. {int z1=_state;
  2088.  
  2089. if((0==z1)){
  2090. {int z2=(((T818*)C))->_cc/*24*/;
  2091.  
  2092. if(((9<=z2)&&(z2<=10))||(32==z2)){
  2093. r818next_char(C);
  2094. }
  2095.  else 
  2096. if((45==z2)){
  2097. r818next_char(C);
  2098. _state=1;
  2099. }
  2100.  else{_state=2;
  2101. }}
  2102. }
  2103.  else {{int z2=(((T818*)C))->_cc/*24*/;
  2104.  
  2105. if((45==z2)){
  2106. /*IF*/if ((((T818*)C))->_drop_comments/*4*/) {
  2107. }
  2108. else {
  2109. /*IF*/if (((((T818*)C))->_last_comments/*25*/)==((void*)(NULL))) {
  2110. {T627*n=malloc(sizeof(*n));
  2111. *n=M627;
  2112. r627make(n,(((T818*)C))->_line/*16*/,((((T818*)C))->_column/*12*/)-(1));
  2113. _sp=(T0*)n;
  2114. }
  2115. }
  2116. /*FI*/}
  2117. /*FI*/r818next_char(C);
  2118. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818lcs)))))->_count)=(0);
  2119. /*]*/
  2120. while (!(((((T818*)C))->_cc/*24*/)==('\n'))) {
  2121. r7extend(((T7*)(oBC818lcs)),(((T818*)C))->_cc/*24*/);
  2122. r818next_char(C);
  2123. }
  2124. /*IF*/if ((((T818*)C))->_drop_comments/*4*/) {
  2125. }
  2126. else {
  2127. /*IF*/if (((((T818*)C))->_last_comments/*25*/)==((void*)(NULL))) {
  2128. {T393*n=malloc(sizeof(*n));
  2129. *n=M393;
  2130. r393make(n,_sp,se_ma52(1,r7twin(((T7*)(oBC818lcs)))));
  2131. C->_last_comments=(T0*)n;
  2132. }
  2133. }
  2134. else {
  2135. /*[IRF3.5add_last*/r52add_last(((T52*)((((T393*)((T393*)((((T818*)C))->_last_comments/*25*/))))->_list/*4*/)),r7twin(((T7*)(oBC818lcs))));
  2136. /*]*/
  2137. }
  2138. /*FI*/}
  2139. /*FI*/_state=0;
  2140. }
  2141.  else{r818prev_char(C);
  2142. _state=2;
  2143. }}
  2144. }}
  2145. }
  2146. }
  2147. /*No:EIFFEL_PARSER.last_class_type*/
  2148. /*No:EIFFEL_PARSER.us_array*/
  2149. /*No:EIFFEL_PARSER.fz_c_withoutcurrent*/
  2150. T0* r818to_proc_call(T818* C,T0* a1,T0* a2,T0* a3){
  2151. T0* R=NULL;
  2152. /*IF*/if ((a2)==((void*)(NULL))) {
  2153. r818fcp(C,((T0*)ms135_818));
  2154. }
  2155.  else if ((a3)==((void*)(NULL))) {
  2156. {T268*n=malloc(sizeof(*n));
  2157. *n=M268;
  2158. r268make(n,a1,a2);
  2159. R=(T0*)n;
  2160. }
  2161. }
  2162.  else if ((r431count(((T431*)a3)))==(1)) {
  2163. {T317*n=malloc(sizeof(*n));
  2164. *n=M317;
  2165. r317make(n,a1,a2,a3);
  2166. R=(T0*)n;
  2167. }
  2168. }
  2169. else {
  2170. {T568*n=malloc(sizeof(*n));
  2171. *n=M568;
  2172. r568make(n,a1,a2,a3);
  2173. R=(T0*)n;
  2174. }
  2175. }
  2176. /*FI*/return R;
  2177. }
  2178. int r818a_tag_mark(T818* C){
  2179. int R=0;
  2180. /*IF*/if (r818a_identifier(C)) {
  2181. /*IF*/if (r818skip1unless2(C,'\72','\75')) {
  2182. R=1;
  2183. C->_last_tag_mark=r511to_tag_name(((T511*)(oBC818tmp_name)));
  2184. }
  2185. else {
  2186. C->_last_tag_mark=NULL;
  2187. r818go_back_at(C,(((T511*)((T511*)(oBC818tmp_name))))->_li/*8*/,(((T511*)((T511*)(oBC818tmp_name))))->_co/*4*/);
  2188. }
  2189. /*FI*/}
  2190. else {
  2191. C->_last_tag_mark=NULL;
  2192. }
  2193. /*FI*/return R;
  2194. }
  2195. /*No:EIFFEL_PARSER.nb_errors*/
  2196. /*No:EIFFEL_PARSER.start_line*/
  2197. void r818a_index_list(T818* C){
  2198. while (!(!(r818a_index_clause(C)))) {
  2199. C->_ok=r818skip1(C,'\73');
  2200. }
  2201. }
  2202. /*No:EIFFEL_PARSER.last_real_constant*/
  2203. T0* r818a_external(T818* C){
  2204. T0* R=NULL;
  2205. T0* _l=NULL;
  2206. /*IF*/if (((((T818*)C))->_cc/*24*/)!=('\42')) {
  2207. /*[IRF3.6wcp*/{T818* C1=C;
  2208. T0* b1=((T0*)ms157_818);
  2209. r818warning(r818current_position(C1),b1);
  2210. }/*]*/
  2211. }
  2212. else {
  2213. C->_ok=r818skip1(C,'\42');
  2214. }
  2215. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms121_470))) {
  2216. {T85*n=malloc(sizeof(*n));
  2217. *n=M85;
  2218. _l=(T0*)n;
  2219. }
  2220. }
  2221.  else if (r818a_keyword(C,((T0*)ms98_470))) {
  2222. {T893*n=malloc(sizeof(*n));
  2223. *n=M893;
  2224. _l=(T0*)n;
  2225. }
  2226. }
  2227.  else if (r818a_keyword(C,((T0*)ms90_470))) {
  2228. {T240*n=malloc(sizeof(*n));
  2229. *n=M240;
  2230. _l=(T0*)n;
  2231. }
  2232. }
  2233.  else if (r818a_keyword(C,((T0*)ms99_470))) {
  2234. {T320*n=malloc(sizeof(*n));
  2235. *n=M320;
  2236. _l=(T0*)n;
  2237. }
  2238. }
  2239.  else if (r818a_keyword(C,((T0*)ms91_470))) {
  2240. {T680*n=malloc(sizeof(*n));
  2241. *n=M680;
  2242. _l=(T0*)n;
  2243. }
  2244. }
  2245.  else if (r818a_keyword(C,((T0*)ms81_818))) {
  2246. {T85*n=malloc(sizeof(*n));
  2247. *n=M85;
  2248. _l=(T0*)n;
  2249. }
  2250. r818wcpefnc(C,((T0*)ms82_818),((T0*)ms121_470));
  2251. }
  2252.  else if (r818a_keyword(C,((T0*)ms83_818))) {
  2253. {T893*n=malloc(sizeof(*n));
  2254. *n=M893;
  2255. _l=(T0*)n;
  2256. }
  2257. r818wcpefnc(C,((T0*)ms84_818),((T0*)ms98_470));
  2258. }
  2259.  else if (r818a_keyword(C,((T0*)ms85_818))) {
  2260. {T240*n=malloc(sizeof(*n));
  2261. *n=M240;
  2262. _l=(T0*)n;
  2263. }
  2264. r818wcpefnc(C,((T0*)ms86_818),((T0*)ms90_470));
  2265. }
  2266.  else if (r818a_keyword(C,((T0*)ms87_818))) {
  2267. {T320*n=malloc(sizeof(*n));
  2268. *n=M320;
  2269. _l=(T0*)n;
  2270. }
  2271. }
  2272.  else if (r818a_keyword(C,((T0*)ms88_818))) {
  2273. {T680*n=malloc(sizeof(*n));
  2274. *n=M680;
  2275. _l=(T0*)n;
  2276. }
  2277. r818wcpefnc(C,((T0*)ms89_818),((T0*)ms91_470));
  2278. }
  2279.  else if (r818a_keyword(C,((T0*)ms28_470))) {
  2280. {T300*n=malloc(sizeof(*n));
  2281. *n=M300;
  2282. _l=(T0*)n;
  2283. }
  2284. }
  2285.  else if (r818a_keyword(C,((T0*)ms29_470))) {
  2286. {T970*n=malloc(sizeof(*n));
  2287. *n=M970;
  2288. _l=(T0*)n;
  2289. }
  2290. }
  2291. else {
  2292. r818fcp(C,((T0*)ms90_818));
  2293. }
  2294. /*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)!=('\42')) {
  2295. /*[IRF3.6wcp*/{T818* C1=C;
  2296. T0* b1=((T0*)ms157_818);
  2297. r818warning(r818current_position(C1),b1);
  2298. }/*]*/
  2299. }
  2300. else {
  2301. C->_ok=r818skip1(C,'\42');
  2302. }
  2303. /*FI*/R=r505to_external_routine(((T505*)(oBC818tmp_feature)),_l,r818a_alias(C));
  2304. return R;
  2305. }
  2306. /*No:EIFFEL_PARSER.show_nb_errors*/
  2307. int r818a_class_type(T818* C){
  2308. int R=0;
  2309. T0* _generic_list=NULL;
  2310. T0* _base_class_name=NULL;
  2311. int _state=0;
  2312. /*IF*/if (r818a_base_type(C)) {
  2313. C->_last_class_type=(((T818*)C))->_last_base_type/*69*/;
  2314. R=1;
  2315. }
  2316.  else if (r818a_base_class_name(C)) {
  2317. R=1;
  2318. _base_class_name=(((T818*)C))->_last_class_name/*89*/;
  2319. while (!((_state)>(2))) {
  2320. {int z1=_state;
  2321.  
  2322. if((0==z1)){
  2323. /*IF*/if (r818skip1(C,'\133')) {
  2324. _state=1;
  2325. }
  2326. else {
  2327. {T657*n=malloc(sizeof(*n));
  2328. *n=M657;
  2329. /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_base_class_name);
  2330. /*]*/
  2331. C->_last_class_type=(T0*)n;
  2332. }
  2333. _state=3;
  2334. }
  2335. /*FI*/}
  2336.  else 
  2337. if((1==z1)){
  2338. /*IF*/if (r818a_type(C)) {
  2339. /*IF*/if ((_generic_list)==((void*)(NULL))) {
  2340. _generic_list=se_ma701(1,(((T818*)C))->_last_type/*157*/);
  2341. }
  2342. else {
  2343. r701add_last(((T701*)_generic_list),(((T818*)C))->_last_type/*157*/);
  2344. }
  2345. /*FI*/_state=2;
  2346. }
  2347.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  2348. /*[IRF3.6wcp*/{T818* C1=C;
  2349. T0* b1=((T0*)ms150_818);
  2350. r818warning(r818current_position(C1),b1);
  2351. }/*]*/
  2352. C->_ok=r818skip1(C,'\54');
  2353. }
  2354.  else if (((((T818*)C))->_cc/*24*/)==('\135')) {
  2355. _state=2;
  2356. }
  2357. else {
  2358. r818fcp(C,((T0*)ms156_818));
  2359. _state=2;
  2360. }
  2361. /*FI*/}
  2362.  else{/*IF*/if (r818skip1(C,'\54')) {
  2363. _state=1;
  2364. }
  2365.  else if (((((T818*)C))->_cc/*24*/)==('\135')) {
  2366. /*IF*/if ((_generic_list)==((void*)(NULL))) {
  2367. /*[IRF3.6wcp*/{T818* C1=C;
  2368. T0* b1=((T0*)ms54_818);
  2369. r818warning(r818current_position(C1),b1);
  2370. }/*]*/
  2371. {T657*n=malloc(sizeof(*n));
  2372. *n=M657;
  2373. /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_base_class_name);
  2374. /*]*/
  2375. C->_last_class_type=(T0*)n;
  2376. }
  2377. }
  2378. else {
  2379. {T720*n=malloc(sizeof(*n));
  2380. *n=M720;
  2381. r720make(n,_base_class_name,_generic_list);
  2382. C->_last_class_type=(T0*)n;
  2383. }
  2384. }
  2385. /*FI*/C->_ok=r818skip1(C,'\135');
  2386. _state=3;
  2387. }
  2388.  else if (r818a_type(C)) {
  2389. /*IF*/if ((_generic_list)==((void*)(NULL))) {
  2390. _generic_list=se_ma701(1,(((T818*)C))->_last_type/*157*/);
  2391. }
  2392. else {
  2393. r701add_last(((T701*)_generic_list),(((T818*)C))->_last_type/*157*/);
  2394. }
  2395. /*FI*/r818warning(X291start_position((((T818*)C))->_last_type/*157*/),((T0*)ms143_818));
  2396. }
  2397. else {
  2398. r818fcp(C,((T0*)ms55_818));
  2399. _state=3;
  2400. }
  2401. /*FI*/}}
  2402. }
  2403. }
  2404. /*FI*/return R;
  2405. }
  2406. T0* r818analyse_class(T818* C,T0* a1){
  2407. T0* R=NULL;
  2408. T0* _path=NULL;
  2409. int _old_nbw=0;
  2410. int _old_nbe=0;
  2411. _path=(((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/;
  2412. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) {
  2413. /*[IRF3.6append*/{T0* b1=((T0*)ms1_818);
  2414. r7append(((T7*)(oBC683explanation)),b1);
  2415. }/*]*/
  2416. r683print_as_fatal_error(((T683*)(oBC364eh)));
  2417. }
  2418. /*FI*/r306put_integer(((T306*)(oBC364echo)),(/*(IRF4.9base_class_count*/(((T718*)((T718*)(oBC604base_class_dictionary))))->_count/*32*//*)*/)+(1));
  2419. r306put_character(((T306*)(oBC364echo)),'\11');
  2420. r306put_string(((T306*)(oBC364echo)),_path);
  2421. r306put_character(((T306*)(oBC364echo)),'\n');
  2422. _old_nbe=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/;
  2423. _old_nbw=/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/;
  2424. C->_is_running=1;
  2425. C->_function_type=NULL;
  2426. C->_in_ensure=0;
  2427. C->_last_comments=NULL;
  2428. C->_ms_numbering=0;
  2429. C->_line=1;
  2430. C->_column=1;
  2431. C->_current_line=r676item((((T818*)C))->_line/*16*/);
  2432. /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) {
  2433. C->_cc='\n';
  2434. }
  2435. else {
  2436. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  2437. }
  2438. /*FI*/{T605*n=malloc(sizeof(*n));
  2439. *n=M605;
  2440. r605make(n);
  2441. C->_last_base_class=(T0*)n;
  2442. }
  2443. r818skip_comments(C);
  2444. r818a_class_declaration(C);
  2445. C->_is_running=0;
  2446. /*[IRF3.3unset_is_ready*/((((T676*)(((T676*)(oBC364parser_buffer)))))->_path)=(NULL);
  2447. /*]*/
  2448. R=(((T818*)C))->_last_base_class/*65*/;
  2449. /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_old_nbe))>(0)) {
  2450. /*[IRF3.2show_nb_errors*/r818show_nb(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/,((T0*)ms10_818));
  2451. /*]*/
  2452. r306w_put_string(((T0*)ms4_818));
  2453. r306w_put_string(_path);
  2454. r306w_put_string(((T0*)ms5_818));
  2455. R=NULL;
  2456. }
  2457.  else if (((/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/)-(_old_nbw))>(0)) {
  2458. /*[IRF3.2show_nb_warnings*/r818show_nb(/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/,((T0*)ms9_818));
  2459. /*]*/
  2460. }
  2461. /*FI*//*IF*/if ((R)!=((void*)(NULL))) {
  2462. r604add_class(((T604*)(oBC364small_eiffel)),R);
  2463. /*IF*/if (((a1)!=((void*)(NULL)))&&(((((T451*)((T451*)a1)))->_to_string/*0*/)!=((void*)((((T451*)((T451*)((((T605*)((T605*)R)))->_base_class_name/*24*/))))->_to_string/*0*/)))) {
  2464. r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/);
  2465. /*[IRF3.6append*/{T0* b1=((T0*)ms135_470);
  2466. r7append(((T7*)(oBC683explanation)),b1);
  2467. }/*]*/
  2468. /*[IRF3.6append*/{T0* b1=_path;
  2469. r7append(((T7*)(oBC683explanation)),b1);
  2470. }/*]*/
  2471. /*[IRF3.6append*/{T0* b1=((T0*)ms6_818);
  2472. r7append(((T7*)(oBC683explanation)),b1);
  2473. }/*]*/
  2474. /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)a1)))->_to_string/*0*/;
  2475. r7append(((T7*)(oBC683explanation)),b1);
  2476. }/*]*/
  2477. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470);
  2478. r683fatal_error(((T683*)(oBC364eh)),b1);
  2479. }/*]*/
  2480. }
  2481. /*FI*/r605get_started(((T605*)R));
  2482. }
  2483. /*FI*/return R;
  2484. }
  2485. T0*oBC364parser_buffer=NULL;
  2486. T0*oBC818tmp_feature=NULL;
  2487. int r818a_character_constant(T818* C){
  2488. int R=0;
  2489. char _value=0;
  2490. int _printing_mode=0;
  2491. int _state=0;
  2492. T0* _sp=NULL;
  2493. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\47')) {
  2494. {T627*n=malloc(sizeof(*n));
  2495. *n=M627;
  2496. r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  2497. _sp=(T0*)n;
  2498. }
  2499. R=1;
  2500. while (!((_state)>(2))) {
  2501. r818next_char(C);
  2502. {int z1=_state;
  2503.  
  2504. if((0==z1)){
  2505. {int z2=(((T818*)C))->_cc/*24*/;
  2506.  
  2507. if((37==z2)){
  2508. _state=1;
  2509. }
  2510.  else 
  2511. if((39==z2)){
  2512. r818fcp(C,((T0*)ms148_818));
  2513. _state=2;
  2514. }
  2515.  else{_value=(((T818*)C))->_cc/*24*/;
  2516. _printing_mode=0;
  2517. _state=2;
  2518. }}
  2519. }
  2520.  else 
  2521. if((1==z1)){
  2522. _printing_mode=1;
  2523. _state=2;
  2524. {int z2=(((T818*)C))->_cc/*24*/;
  2525.  
  2526. if((65==z2)){
  2527. _value='\100';
  2528. }
  2529.  else 
  2530. if((66==z2)){
  2531. _value='\10';
  2532. }
  2533.  else 
  2534. if((67==z2)){
  2535. _value='\136';
  2536. }
  2537.  else 
  2538. if((68==z2)){
  2539. _value='\44';
  2540. }
  2541.  else 
  2542. if((70==z2)){
  2543. _value='\14';
  2544. }
  2545.  else 
  2546. if((72==z2)){
  2547. _value='\134';
  2548. }
  2549.  else 
  2550. if((76==z2)){
  2551. _value='\176';
  2552. }
  2553.  else 
  2554. if((78==z2)){
  2555. _value='\n';
  2556. }
  2557.  else 
  2558. if((81==z2)){
  2559. _value='\140';
  2560. }
  2561.  else 
  2562. if((82==z2)){
  2563. _value='\15';
  2564. }
  2565.  else 
  2566. if((83==z2)){
  2567. _value='\43';
  2568. }
  2569.  else 
  2570. if((84==z2)){
  2571. _value='\11';
  2572. }
  2573.  else 
  2574. if((85==z2)){
  2575. _value='\0';
  2576. }
  2577.  else 
  2578. if((86==z2)){
  2579. _value='\174';
  2580. }
  2581.  else 
  2582. if((37==z2)){
  2583. _value='\45';
  2584. }
  2585.  else 
  2586. if((39==z2)){
  2587. _value='\47';
  2588. }
  2589.  else 
  2590. if((34==z2)){
  2591. _value='\42';
  2592. }
  2593.  else 
  2594. if((40==z2)){
  2595. _value='\133';
  2596. }
  2597.  else 
  2598. if((41==z2)){
  2599. _value='\135';
  2600. }
  2601.  else 
  2602. if((60==z2)){
  2603. _value='\173';
  2604. }
  2605.  else 
  2606. if((62==z2)){
  2607. _value='\175';
  2608. }
  2609.  else 
  2610. if((47==z2)){
  2611. r818a_ascii_code(C);
  2612. _value=((char)((((T818*)C))->_last_ascii_code/*61*/));
  2613. _printing_mode=2;
  2614. }
  2615.  else{r818fcp(C,((T0*)ms24_818));
  2616. }}
  2617. }
  2618.  else{_state=3;
  2619. {int z2=(((T818*)C))->_cc/*24*/;
  2620.  
  2621. if((39==z2)){
  2622. }
  2623.  else{r818fcp(C,((T0*)ms148_818));
  2624. }}
  2625. r818next_char(C);
  2626. r818skip_comments(C);
  2627. }}
  2628. }
  2629. {T260*n=malloc(sizeof(*n));
  2630. *n=M260;
  2631. r260make(n,_sp,_value,_printing_mode);
  2632. C->_last_character_constant=(T0*)n;
  2633. }
  2634. }
  2635. /*FI*/return R;
  2636. }
  2637. int r818a_check(T818* C){
  2638. int R=0;
  2639. T0* _al=NULL;
  2640. T0* _hc=NULL;
  2641. T0* _sp=NULL;
  2642. /*IF*/if (r818a_keyword(C,((T0*)ms4_470))) {
  2643. R=1;
  2644. {T627*n=malloc(sizeof(*n));
  2645. *n=M627;
  2646. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2647. _sp=(T0*)n;
  2648. }
  2649. _hc=r818get_comments(C);
  2650. _al=r818a_assertion(C);
  2651. /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) {
  2652. {T292*n=malloc(sizeof(*n));
  2653. *n=M292;
  2654. r292make(n,_sp,_hc,_al);
  2655. C->_last_instruction=(T0*)n;
  2656. }
  2657. }
  2658. else {
  2659. /*[IRF3.6wcp*/{T818* C1=C;
  2660. T0* b1=((T0*)ms48_818);
  2661. r818warning(r818current_position(C1),b1);
  2662. }/*]*/
  2663. }
  2664. /*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) {
  2665. r818fcp(C,((T0*)ms49_818));
  2666. }
  2667. /*FI*/}
  2668. /*FI*/return R;
  2669. }
  2670. /*No:EIFFEL_PARSER.go_back*/
  2671. /*No:EIFFEL_PARSER.current_class*/
  2672. /*No:EIFFEL_PARSER.fz_export*/
  2673. /*No:EIFFEL_PARSER.fz_invariant*/
  2674. /*No:EIFFEL_PARSER.us_or_else*/
  2675. /*No:EIFFEL_PARSER.is_running*/
  2676. int r818a_result(T818* C){
  2677. int R=0;
  2678. /*IF*/if (r511is_result()) {
  2679. /*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) {
  2680. r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818));
  2681. }
  2682. /*FI*/C->_last_expression=r511to_e_result(((T511*)(oBC818tmp_name)));
  2683. R=1;
  2684. }
  2685. /*FI*/return R;
  2686. }
  2687. int r818a_manifest_string(T818* C){
  2688. int R=0;
  2689. int _state=0;
  2690. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) {
  2691. R=1;
  2692. C->_ms_numbering=((((T818*)C))->_ms_numbering/*57*/)+(1);
  2693. {T805*n=malloc(sizeof(*n));
  2694. *n=M805;
  2695. r805make(n,r818pos((((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/),(((T818*)C))->_ms_numbering/*57*/);
  2696. C->_last_manifest_string=(T0*)n;
  2697. }
  2698. while (!((_state)>(3))) {
  2699. r818next_char(C);
  2700. {int z1=_state;
  2701.  
  2702. if((0==z1)){
  2703. {int z2=(((T818*)C))->_cc/*24*/;
  2704.  
  2705. if((10==z2)){
  2706. r818fcp(C,((T0*)ms146_818));
  2707. }
  2708.  else 
  2709. if((34==z2)){
  2710. _state=4;
  2711. }
  2712.  else 
  2713. if((37==z2)){
  2714. _state=1;
  2715. }
  2716.  else{/*[IRF3.5add*/r7extend(((T7*)((((T805*)((T805*)((((T818*)C))->_last_manifest_string/*145*/))))->_to_string/*12*/)),(((T818*)C))->_cc/*24*/);
  2717. /*]*/
  2718. }}
  2719. }
  2720.  else 
  2721. if((1==z1)){
  2722. _state=0;
  2723. {int z2=(((T818*)C))->_cc/*24*/;
  2724.  
  2725. if((10==z2)){
  2726. _state=3;
  2727. }
  2728.  else 
  2729. if((65==z2)){
  2730. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\100');
  2731. }
  2732.  else 
  2733. if((66==z2)){
  2734. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\10');
  2735. }
  2736.  else 
  2737. if((67==z2)){
  2738. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\136');
  2739. }
  2740.  else 
  2741. if((68==z2)){
  2742. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\44');
  2743. }
  2744.  else 
  2745. if((70==z2)){
  2746. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\14');
  2747. }
  2748.  else 
  2749. if((72==z2)){
  2750. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\134');
  2751. }
  2752.  else 
  2753. if((76==z2)){
  2754. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\176');
  2755. }
  2756.  else 
  2757. if((78==z2)){
  2758. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\n');
  2759. }
  2760.  else 
  2761. if((81==z2)){
  2762. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\140');
  2763. }
  2764.  else 
  2765. if((82==z2)){
  2766. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\15');
  2767. }
  2768.  else 
  2769. if((83==z2)){
  2770. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\43');
  2771. }
  2772.  else 
  2773. if((84==z2)){
  2774. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\11');
  2775. }
  2776.  else 
  2777. if((85==z2)){
  2778. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\0');
  2779. }
  2780.  else 
  2781. if((86==z2)){
  2782. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\174');
  2783. }
  2784.  else 
  2785. if((37==z2)){
  2786. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\45');
  2787. }
  2788.  else 
  2789. if((39==z2)){
  2790. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\47');
  2791. }
  2792.  else 
  2793. if((34==z2)){
  2794. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\42');
  2795. }
  2796.  else 
  2797. if((40==z2)){
  2798. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\133');
  2799. }
  2800.  else 
  2801. if((41==z2)){
  2802. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\135');
  2803. }
  2804.  else 
  2805. if((60==z2)){
  2806. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\173');
  2807. }
  2808.  else 
  2809. if((62==z2)){
  2810. r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\175');
  2811. }
  2812.  else 
  2813. if((47==z2)){
  2814. r818a_ascii_code(C);
  2815. r805add_ascii(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),((char)((((T818*)C))->_last_ascii_code/*61*/)));
  2816. }
  2817.  else 
  2818. if((9==z2)||(32==z2)){
  2819. _state=2;
  2820. }
  2821.  else{r818fcp(C,((T0*)ms26_818));
  2822. _state=0;
  2823. }}
  2824. }
  2825.  else 
  2826. if((2==z1)){
  2827. {int z2=(((T818*)C))->_cc/*24*/;
  2828.  
  2829. if((10==z2)){
  2830. _state=3;
  2831. }
  2832.  else 
  2833. if((9==z2)||(32==z2)){
  2834. }
  2835.  else{r818fcp(C,((T0*)ms27_818));
  2836. }}
  2837. }
  2838.  else{{int z2=(((T818*)C))->_cc/*24*/;
  2839.  
  2840. if((9==z2)||(32==z2)){
  2841. }
  2842.  else 
  2843. if((37==z2)){
  2844. r805break_line(((T805*)((((T818*)C))->_last_manifest_string/*145*/)));
  2845. _state=0;
  2846. }
  2847.  else 
  2848. if((10==z2)){
  2849. r818fcp(C,((T0*)ms146_818));
  2850. _state=0;
  2851. }
  2852.  else{r818fcp(C,((T0*)ms28_818));
  2853. _state=0;
  2854. }}
  2855. }}
  2856. }
  2857. r818next_char(C);
  2858. r818skip_comments(C);
  2859. }
  2860. /*FI*/return R;
  2861. }
  2862. void r818a_function_call(T818* C){
  2863. T0* _e_current=NULL;
  2864. T0* _sfn=NULL;
  2865. _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  2866. {T358*n=malloc(sizeof(*n));
  2867. *n=M358;
  2868. r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*16*/,0);
  2869. _e_current=(T0*)n;
  2870. }
  2871. r818a_r10(C,0,_e_current,_sfn,r818a_actuals(C));
  2872. }
  2873. /*No:EIFFEL_PARSER.fz_01*/
  2874. int r818a_real_constant(T818* C){
  2875. int R=0;
  2876. int _c=0;
  2877. int _l=0;
  2878. _l=(((T818*)C))->_line/*16*/;
  2879. _c=(((T818*)C))->_column/*12*/;
  2880. /*IF*/if (r818skip1(C,'\53')) {
  2881. /*IF*/if (r818a_real(C)) {
  2882. r627set_line_column(((T627*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_start_position/*8*/)),_l,_c);
  2883. R=1;
  2884. }
  2885. else {
  2886. r818go_back_at(C,_l,_c);
  2887. }
  2888. /*FI*/}
  2889.  else if (r818skip1(C,'\55')) {
  2890. /*IF*/if (r818a_real(C)) {
  2891. r627set_line_column(((T627*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_start_position/*8*/)),_l,_c);
  2892. /*[IRF3.5unary_minus*/r7add_first(((T7*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_to_string/*12*/)),'\55');
  2893. /*]*/
  2894. R=1;
  2895. }
  2896. else {
  2897. r818go_back_at(C,_l,_c);
  2898. }
  2899. /*FI*/}
  2900.  else if (r818a_real(C)) {
  2901. R=1;
  2902. }
  2903. /*FI*/return R;
  2904. }
  2905. /*No:EIFFEL_PARSER.fz_inspect*/
  2906. void r818show_nb(int a1,T0* a2){
  2907. /*IF*/if ((a1)>(0)) {
  2908. r306w_put_string(((T0*)ms75_470));
  2909. r306w_put_integer(a1);
  2910. r306w_put_string(a2);
  2911. }
  2912. /*FI*/}
  2913. /*No:EIFFEL_PARSER.fz_c_withcurrent*/
  2914. /*No:EIFFEL_PARSER.fz_03*/
  2915. /*No:EIFFEL_PARSER.fz_rename*/
  2916. int r818a_identifier1(T818* C){
  2917. int R=0;
  2918. int _state=0;
  2919. /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
  2920. r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  2921. /*[IRF3.6extend*/{char b1=r3to_lower((((T818*)C))->_cc/*24*/);
  2922. r7extend(((T7*)(oBC511tmp_string)),b1);
  2923. }/*]*/
  2924. while (!((_state)>(0))) {
  2925. r818next_char(C);
  2926. {int z1=(((T818*)C))->_cc/*24*/;
  2927.  
  2928. if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
  2929. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  2930. r7extend(((T7*)(oBC511tmp_string)),b1);
  2931. }/*]*/
  2932. }
  2933.  else 
  2934. if(((65<=z1)&&(z1<=90))){
  2935. /*[IRF3.6extend*/{char b1=r3to_lower((((T818*)C))->_cc/*24*/);
  2936. r7extend(((T7*)(oBC511tmp_string)),b1);
  2937. }/*]*/
  2938. }
  2939.  else{_state=1;
  2940. }}
  2941. }
  2942. /*IF*/if (r511isa_keyword()) {
  2943. _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/;
  2944. while (!((_state)==(0))) {
  2945. _state=(_state)-(1);
  2946. r818prev_char(C);
  2947. }
  2948. }
  2949. else {
  2950. R=1;
  2951. r818skip_comments(C);
  2952. }
  2953. /*FI*/}
  2954. /*FI*/return R;
  2955. }
  2956. /*No:EIFFEL_PARSER.fz_once*/
  2957. /*No:EIFFEL_PARSER.ecp*/
  2958. void r818fcp(T818* C,T0* a1){
  2959. r683add_position(r818current_position(C));
  2960. /*[IRF3.6fatal_error*/{T0* b1=a1;
  2961. r683fatal_error(((T683*)(oBC364eh)),b1);
  2962. }/*]*/
  2963. }
  2964. int r818a_conditional(T818* C){
  2965. int R=0;
  2966. T0* _ifthenelse=NULL;
  2967. /*IF*/if (r818a_keyword(C,((T0*)ms21_470))) {
  2968. R=1;
  2969. {T530*n=malloc(sizeof(*n));
  2970. *n=M530;
  2971. /*[IRF3.3make*/((((T530*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  2972. /*]*/
  2973. _ifthenelse=(T0*)n;
  2974. }
  2975. r818a_then_part_list(C,_ifthenelse);
  2976. /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
  2977. /*[IRF3.3set_else_compound*/((((T530*)(((T530*)_ifthenelse))))->_else_compound)=(r818a_compound2(C,((T0*)ms60_818),((T0*)ms12_470)));
  2978. /*]*/
  2979. }
  2980. else {
  2981. /*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) {
  2982. /*[IRF3.6wcp*/{T818* C1=C;
  2983. T0* b1=((T0*)ms61_818);
  2984. r818warning(r818current_position(C1),b1);
  2985. }/*]*/
  2986. }
  2987. /*FI*/}
  2988. /*FI*/C->_last_instruction=_ifthenelse;
  2989. }
  2990. /*FI*/return R;
  2991. }
  2992. /*No:EIFFEL_PARSER.us_real*/
  2993. void r818a_procedure_call(T818* C){
  2994. T0* _e_current=NULL;
  2995. T0* _sfn=NULL;
  2996. _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  2997. {T358*n=malloc(sizeof(*n));
  2998. *n=M358;
  2999. r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*16*/,0);
  3000. _e_current=(T0*)n;
  3001. }
  3002. r818a_r10(C,1,_e_current,_sfn,r818a_actuals(C));
  3003. }
  3004. /*No:EIFFEL_PARSER.us_implies*/
  3005. T0*oBC818tmp_string=NULL;
  3006. int r818a_integer(T818* C){
  3007. int R=0;
  3008. int _value=0;
  3009. int _state=0;
  3010. /*IF*/if (r3is_digit((((T818*)C))->_cc/*24*/)) {
  3011. R=1;
  3012. C->_start_line=(((T818*)C))->_line/*16*/;
  3013. C->_start_column=(((T818*)C))->_column/*12*/;
  3014. _value=r3value((((T818*)C))->_cc/*24*/);
  3015. while (!((_state)>(7))) {
  3016. r818next_char(C);
  3017. {int z1=_state;
  3018.  
  3019. if((0==z1)){
  3020. {int z2=(((T818*)C))->_cc/*24*/;
  3021.  
  3022. if(((48<=z2)&&(z2<=57))){
  3023. _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  3024. _state=1;
  3025. }
  3026.  else 
  3027. if((95==z2)){
  3028. _state=4;
  3029. }
  3030.  else{_state=8;
  3031. }}
  3032. }
  3033.  else 
  3034. if((1==z1)){
  3035. {int z2=(((T818*)C))->_cc/*24*/;
  3036.  
  3037. if(((48<=z2)&&(z2<=57))){
  3038. _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  3039. _state=2;
  3040. }
  3041.  else 
  3042. if((95==z2)){
  3043. _state=4;
  3044. }
  3045.  else{_state=8;
  3046. }}
  3047. }
  3048.  else 
  3049. if((2==z1)){
  3050. {int z2=(((T818*)C))->_cc/*24*/;
  3051.  
  3052. if(((48<=z2)&&(z2<=57))){
  3053. _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  3054. _state=3;
  3055. }
  3056.  else 
  3057. if((95==z2)){
  3058. _state=4;
  3059. }
  3060.  else{_state=8;
  3061. }}
  3062. }
  3063.  else 
  3064. if((3==z1)){
  3065. {int z2=(((T818*)C))->_cc/*24*/;
  3066.  
  3067. if(((48<=z2)&&(z2<=57))){
  3068. _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  3069. }
  3070.  else 
  3071. if((95==z2)){
  3072. r818fcp(C,((T0*)ms147_818));
  3073. }
  3074.  else{_state=8;
  3075. }}
  3076. }
  3077.  else 
  3078. if((4==z1)){
  3079. {int z2=(((T818*)C))->_cc/*24*/;
  3080.  
  3081. if(((48<=z2)&&(z2<=57))){
  3082. _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  3083. _state=5;
  3084. }
  3085.  else{r818fcp(C,((T0*)ms147_818));
  3086. }}
  3087. }
  3088.  else 
  3089. if((5==z1)){
  3090. {int z2=(((T818*)C))->_cc/*24*/;
  3091.  
  3092. if(((48<=z2)&&(z2<=57))){
  3093. _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  3094. _state=6;
  3095. }
  3096.  else{r818fcp(C,((T0*)ms147_818));
  3097. }}
  3098. }
  3099.  else 
  3100. if((6==z1)){
  3101. {int z2=(((T818*)C))->_cc/*24*/;
  3102.  
  3103. if(((48<=z2)&&(z2<=57))){
  3104. _value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  3105. _state=7;
  3106. }
  3107.  else{r818fcp(C,((T0*)ms147_818));
  3108. }}
  3109. }
  3110.  else {{int z2=(((T818*)C))->_cc/*24*/;
  3111.  
  3112. if(((48<=z2)&&(z2<=57))){
  3113. r818fcp(C,((T0*)ms147_818));
  3114. }
  3115.  else 
  3116. if((95==z2)){
  3117. _state=4;
  3118. }
  3119.  else{_state=8;
  3120. }}
  3121. }}
  3122. }
  3123. /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
  3124. r818fcp(C,((T0*)ms158_818));
  3125. }
  3126. /*FI*/r818skip_comments(C);
  3127. {T342*n=malloc(sizeof(*n));
  3128. *n=M342;
  3129. r342make(n,_value,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  3130. C->_last_integer_constant=(T0*)n;
  3131. }
  3132. }
  3133. /*FI*/return R;
  3134. }
  3135. /*No:EIFFEL_PARSER.last_binary*/
  3136. int r818a_identifier2(T818* C){
  3137. int R=0;
  3138. int _do_warning=0;
  3139. int _state=0;
  3140. /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
  3141. r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  3142. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  3143. r7extend(((T7*)(oBC511tmp_string)),b1);
  3144. }/*]*/
  3145. while (!((_state)>(0))) {
  3146. r818next_char(C);
  3147. {int z1=(((T818*)C))->_cc/*24*/;
  3148.  
  3149. if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
  3150. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  3151. r7extend(((T7*)(oBC511tmp_string)),b1);
  3152. }/*]*/
  3153. }
  3154.  else 
  3155. if(((65<=z1)&&(z1<=90))){
  3156. _do_warning=1;
  3157. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  3158. r7extend(((T7*)(oBC511tmp_string)),b1);
  3159. }/*]*/
  3160. }
  3161.  else{_state=1;
  3162. }}
  3163. }
  3164. /*IF*/if (r511isa_keyword()) {
  3165. _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/;
  3166. while (!((_state)==(0))) {
  3167. _state=(_state)-(1);
  3168. r818prev_char(C);
  3169. }
  3170. }
  3171. else {
  3172. R=1;
  3173. r818skip_comments(C);
  3174. /*IF*/if (_do_warning) {
  3175. r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms159_818));
  3176. }
  3177. /*FI*/}
  3178. /*FI*/}
  3179. /*FI*/return R;
  3180. }
  3181. /*No:EIFFEL_PARSER.us_minus*/
  3182. /*No:EIFFEL_PARSER.fz_elseif*/
  3183. T0*oBC818lcs=NULL;
  3184. /*No:EIFFEL_PARSER.end_of_text*/
  3185. void r818prev_char(T818* C){
  3186. /*IF*/if (((((T818*)C))->_column/*12*/)>(1)) {
  3187. C->_column=((((T818*)C))->_column/*12*/)-(1);
  3188. C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/;
  3189. }
  3190. else {
  3191. /*IF*/if (((((T818*)C))->_line/*16*/)>(1)) {
  3192. C->_line=((((T818*)C))->_line/*16*/)-(1);
  3193. C->_current_line=r676item((((T818*)C))->_line/*16*/);
  3194. C->_column=((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1);
  3195. C->_cc='\n';
  3196. }
  3197. else {
  3198. C->_column=0;
  3199. C->_cc='\0';
  3200. }
  3201. /*FI*/}
  3202. /*FI*/}
  3203. void r818a_indexing(T818* C){
  3204. /*IF*/if (r818a_keyword(C,((T0*)ms22_470))) {
  3205. r818a_index_list(C);
  3206. }
  3207. /*FI*/}
  3208. void r818next_char(T818* C){
  3209. /*IF*/if (((((T818*)C))->_column/*12*/)<((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)) {
  3210. C->_column=((((T818*)C))->_column/*12*/)+(1);
  3211. C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/;
  3212. }
  3213.  else if (((((T818*)C))->_column/*12*/)==((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)) {
  3214. C->_column=((((T818*)C))->_column/*12*/)+(1);
  3215. C->_cc='\n';
  3216. }
  3217.  else if (((((T818*)C))->_line/*16*/)==((((T676*)((T676*)(oBC364parser_buffer))))->_count/*4*/)) {
  3218. C->_cc='\0';
  3219. }
  3220. else {
  3221. C->_column=1;
  3222. C->_line=((((T818*)C))->_line/*16*/)+(1);
  3223. C->_current_line=r676item((((T818*)C))->_line/*16*/);
  3224. /*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) {
  3225. C->_cc='\n';
  3226. }
  3227. else {
  3228. C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
  3229. }
  3230. /*FI*/}
  3231. /*FI*/}
  3232. /*No:EIFFEL_PARSER.fz_redefine*/
  3233. T0* r818pos(int a1,int a2){
  3234. T0* R=NULL;
  3235. {T627*n=malloc(sizeof(*n));
  3236. *n=M627;
  3237. r627make(n,a1,a2);
  3238. R=(T0*)n;
  3239. }
  3240. return R;
  3241. }
  3242. /*No:EIFFEL_PARSER.fz_variant*/
  3243. /*No:EIFFEL_PARSER.wcp*/
  3244. int r818a_base_class_name(T818* C){
  3245. int R=0;
  3246. int _do_warning=0;
  3247. int _state=0;
  3248. /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
  3249. /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) {
  3250. _do_warning=1;
  3251. C->_cc=r3to_upper((((T818*)C))->_cc/*24*/);
  3252. }
  3253. /*FI*/r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  3254. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  3255. r7extend(((T7*)(oBC511tmp_string)),b1);
  3256. }/*]*/
  3257. while (!((_state)>(0))) {
  3258. r818next_char(C);
  3259. {int z1=(((T818*)C))->_cc/*24*/;
  3260.  
  3261. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
  3262. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  3263. r7extend(((T7*)(oBC511tmp_string)),b1);
  3264. }/*]*/
  3265. }
  3266.  else 
  3267. if(((97<=z1)&&(z1<=122))){
  3268. _do_warning=1;
  3269. /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/);
  3270. r7extend(((T7*)(oBC511tmp_string)),b1);
  3271. }/*]*/
  3272. }
  3273.  else{_state=1;
  3274. }}
  3275. }
  3276. /*IF*/if (r511isa_keyword()) {
  3277. _state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/;
  3278. while (!((_state)==(0))) {
  3279. _state=(_state)-(1);
  3280. r818prev_char(C);
  3281. }
  3282. }
  3283. else {
  3284. R=1;
  3285. r818skip_comments(C);
  3286. /*IF*/if (_do_warning) {
  3287. r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms153_818));
  3288. }
  3289. /*FI*/C->_last_class_name=r511to_class_name(((T511*)(oBC818tmp_name)));
  3290. }
  3291. /*FI*/}
  3292. /*FI*/return R;
  3293. }
  3294. void r818a_formal_generic_list(T818* C){
  3295. int _state=0;
  3296. T0* _list=NULL;
  3297. T0* _fga=NULL;
  3298. T0* _constraint=NULL;
  3299. T0* _name=NULL;
  3300. T0* _sp=NULL;
  3301. C->_formal_generic_list=NULL;
  3302. while (!((_state)>(4))) {
  3303. {int z1=_state;
  3304.  
  3305. if((0==z1)){
  3306. /*IF*/if (r818skip1(C,'\133')) {
  3307. {T627*n=malloc(sizeof(*n));
  3308. *n=M627;
  3309. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3310. _sp=(T0*)n;
  3311. }
  3312. _state=1;
  3313. }
  3314. else {
  3315. _state=5;
  3316. }
  3317. /*FI*/}
  3318.  else 
  3319. if((1==z1)){
  3320. /*IF*/if (r818a_base_class_name(C)) {
  3321. _name=(((T818*)C))->_last_class_name/*89*/;
  3322. _state=2;
  3323. }
  3324. else {
  3325. _state=6;
  3326. }
  3327. /*FI*/}
  3328.  else 
  3329. if((2==z1)){
  3330. /*IF*/if (r818skip2(C,'\55','\76')) {
  3331. _state=4;
  3332. }
  3333.  else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\135'))) {
  3334. {T33*n=malloc(sizeof(*n));
  3335. *n=M33;
  3336. r33make(n,_name,_constraint);
  3337. _fga=(T0*)n;
  3338. }
  3339. _name=NULL;
  3340. _constraint=NULL;
  3341. /*IF*/if ((_list)==((void*)(NULL))) {
  3342. _list=se_ma681(1,_fga);
  3343. }
  3344. else {
  3345. r681add_last(((T681*)_list),_fga);
  3346. }
  3347. /*FI*/_fga=NULL;
  3348. /*IF*/if (r818skip1(C,'\54')) {
  3349. _state=1;
  3350. }
  3351. else {
  3352. C->_ok=r818skip1(C,'\135');
  3353. _state=5;
  3354. }
  3355. /*FI*/}
  3356. else {
  3357. _state=6;
  3358. }
  3359. /*FI*/}
  3360.  else 
  3361. if((3==z1)){
  3362. /*IF*/if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\135'))) {
  3363. {T33*n=malloc(sizeof(*n));
  3364. *n=M33;
  3365. r33make(n,_name,_constraint);
  3366. _fga=(T0*)n;
  3367. }
  3368. _name=NULL;
  3369. _constraint=NULL;
  3370. /*IF*/if ((_list)==((void*)(NULL))) {
  3371. _list=se_ma681(1,_fga);
  3372. }
  3373. else {
  3374. r681add_last(((T681*)_list),_fga);
  3375. }
  3376. /*FI*/_fga=NULL;
  3377. /*IF*/if (r818skip1(C,'\54')) {
  3378. _state=1;
  3379. }
  3380. else {
  3381. C->_ok=r818skip1(C,'\135');
  3382. _state=5;
  3383. }
  3384. /*FI*/}
  3385. else {
  3386. _state=6;
  3387. }
  3388. /*FI*/}
  3389.  else{/*IF*/if (r818a_class_type(C)) {
  3390. _constraint=(((T818*)C))->_last_class_type/*93*/;
  3391. _state=3;
  3392. }
  3393. else {
  3394. r818fcp(C,((T0*)ms94_818));
  3395. _state=6;
  3396. }
  3397. /*FI*/}}
  3398. }
  3399. /*IF*/if ((_state)==(6)) {
  3400. }
  3401.  else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) {
  3402. r818warning(_sp,((T0*)ms95_818));
  3403. }
  3404.  else if ((_sp)!=((void*)(NULL))) {
  3405. {T881*n=malloc(sizeof(*n));
  3406. *n=M881;
  3407. r881make(n,_sp,_list);
  3408. C->_formal_generic_list=(T0*)n;
  3409. }
  3410. /*[IRF3.3set_formal_generic_list*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_formal_generic_list)=((((T818*)C))->_formal_generic_list/*33*/);
  3411. /*]*/
  3412. }
  3413. /*FI*/}
  3414. int r818a_void(T818* C){
  3415. int R=0;
  3416. /*IF*/if (r511is_void()) {
  3417. C->_last_expression=r511to_e_void(((T511*)(oBC818tmp_name)));
  3418. R=1;
  3419. }
  3420. /*FI*/return R;
  3421. }
  3422. /*No:EIFFEL_PARSER.fz_like*/
  3423. T0* r818a_assertion(T818* C){
  3424. T0* R=NULL;
  3425. int _state=0;
  3426. T0* _assertion=NULL;
  3427. T0* _expression=NULL;
  3428. T0* _tag=NULL;
  3429. while (!((_state)>(3))) {
  3430. {int z1=_state;
  3431.  
  3432. if((0==z1)){
  3433. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  3434. /*[IRF3.6wcp*/{T818* C1=C;
  3435. T0* b1=((T0*)ms68_470);
  3436. r818warning(r818current_position(C1),b1);
  3437. }/*]*/
  3438. C->_ok=r818skip1(C,'\73');
  3439. /*IF*/if (((((T818*)C))->_last_comments/*25*/)!=((void*)(NULL))) {
  3440. {T348*n=malloc(sizeof(*n));
  3441. *n=M348;
  3442. r348make(n,NULL,NULL,r818get_comments(C));
  3443. _assertion=(T0*)n;
  3444. }
  3445. /*IF*/if ((R)==((void*)(NULL))) {
  3446. R=se_ma608(1,_assertion);
  3447. }
  3448. else {
  3449. r608add_last(((T608*)R),_assertion);
  3450. }
  3451. /*FI*/}
  3452. /*FI*/}
  3453.  else if (r818a_tag_mark(C)) {
  3454. _tag=(((T818*)C))->_last_tag_mark/*161*/;
  3455. _state=1;
  3456. }
  3457.  else if (r818a_expression(C)) {
  3458. _expression=(((T818*)C))->_last_expression/*97*/;
  3459. _state=2;
  3460. }
  3461. else {
  3462. _state=4;
  3463. }
  3464. /*FI*/}
  3465.  else 
  3466. if((1==z1)){
  3467. /*IF*/if (r818skip1(C,'\73')) {
  3468. {T348*n=malloc(sizeof(*n));
  3469. *n=M348;
  3470. r348make(n,_tag,NULL,r818get_comments(C));
  3471. _assertion=(T0*)n;
  3472. }
  3473. /*IF*/if ((R)==((void*)(NULL))) {
  3474. R=se_ma608(1,_assertion);
  3475. }
  3476. else {
  3477. r608add_last(((T608*)R),_assertion);
  3478. }
  3479. /*FI*/_state=0;
  3480. }
  3481.  else if (r818a_tag_mark(C)) {
  3482. {T348*n=malloc(sizeof(*n));
  3483. *n=M348;
  3484. r348make(n,_tag,NULL,r818get_comments(C));
  3485. _assertion=(T0*)n;
  3486. }
  3487. /*IF*/if ((R)==((void*)(NULL))) {
  3488. R=se_ma608(1,_assertion);
  3489. }
  3490. else {
  3491. r608add_last(((T608*)R),_assertion);
  3492. }
  3493. /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/;
  3494. }
  3495.  else if (r818a_expression(C)) {
  3496. _expression=(((T818*)C))->_last_expression/*97*/;
  3497. _state=3;
  3498. }
  3499. else {
  3500. {T348*n=malloc(sizeof(*n));
  3501. *n=M348;
  3502. r348make(n,_tag,NULL,r818get_comments(C));
  3503. _assertion=(T0*)n;
  3504. }
  3505. /*IF*/if ((R)==((void*)(NULL))) {
  3506. R=se_ma608(1,_assertion);
  3507. }
  3508. else {
  3509. r608add_last(((T608*)R),_assertion);
  3510. }
  3511. /*FI*/_state=4;
  3512. }
  3513. /*FI*/}
  3514.  else 
  3515. if((2==z1)){
  3516. /*IF*/if (r818skip1(C,'\73')) {
  3517. {T348*n=malloc(sizeof(*n));
  3518. *n=M348;
  3519. r348make(n,NULL,_expression,r818get_comments(C));
  3520. _assertion=(T0*)n;
  3521. }
  3522. /*IF*/if ((R)==((void*)(NULL))) {
  3523. R=se_ma608(1,_assertion);
  3524. }
  3525. else {
  3526. r608add_last(((T608*)R),_assertion);
  3527. }
  3528. /*FI*/_state=0;
  3529. }
  3530.  else if (r818a_tag_mark(C)) {
  3531. {T348*n=malloc(sizeof(*n));
  3532. *n=M348;
  3533. r348make(n,NULL,_expression,r818get_comments(C));
  3534. _assertion=(T0*)n;
  3535. }
  3536. /*IF*/if ((R)==((void*)(NULL))) {
  3537. R=se_ma608(1,_assertion);
  3538. }
  3539. else {
  3540. r608add_last(((T608*)R),_assertion);
  3541. }
  3542. /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/;
  3543. _state=1;
  3544. }
  3545.  else if (r818a_expression(C)) {
  3546. {T348*n=malloc(sizeof(*n));
  3547. *n=M348;
  3548. r348make(n,NULL,_expression,r818get_comments(C));
  3549. _assertion=(T0*)n;
  3550. }
  3551. /*IF*/if ((R)==((void*)(NULL))) {
  3552. R=se_ma608(1,_assertion);
  3553. }
  3554. else {
  3555. r608add_last(((T608*)R),_assertion);
  3556. }
  3557. /*FI*/_expression=(((T818*)C))->_last_expression/*97*/;
  3558. _state=2;
  3559. }
  3560. else {
  3561. {T348*n=malloc(sizeof(*n));
  3562. *n=M348;
  3563. r348make(n,NULL,_expression,r818get_comments(C));
  3564. _assertion=(T0*)n;
  3565. }
  3566. /*IF*/if ((R)==((void*)(NULL))) {
  3567. R=se_ma608(1,_assertion);
  3568. }
  3569. else {
  3570. r608add_last(((T608*)R),_assertion);
  3571. }
  3572. /*FI*/_state=4;
  3573. }
  3574. /*FI*/}
  3575.  else{/*IF*/if (r818skip1(C,'\73')) {
  3576. {T348*n=malloc(sizeof(*n));
  3577. *n=M348;
  3578. r348make(n,_tag,_expression,r818get_comments(C));
  3579. _assertion=(T0*)n;
  3580. }
  3581. /*IF*/if ((R)==((void*)(NULL))) {
  3582. R=se_ma608(1,_assertion);
  3583. }
  3584. else {
  3585. r608add_last(((T608*)R),_assertion);
  3586. }
  3587. /*FI*/_state=0;
  3588. }
  3589.  else if (r818a_tag_mark(C)) {
  3590. {T348*n=malloc(sizeof(*n));
  3591. *n=M348;
  3592. r348make(n,_tag,_expression,r818get_comments(C));
  3593. _assertion=(T0*)n;
  3594. }
  3595. /*IF*/if ((R)==((void*)(NULL))) {
  3596. R=se_ma608(1,_assertion);
  3597. }
  3598. else {
  3599. r608add_last(((T608*)R),_assertion);
  3600. }
  3601. /*FI*/_tag=(((T818*)C))->_last_tag_mark/*161*/;
  3602. _state=1;
  3603. }
  3604.  else if (r818a_expression(C)) {
  3605. {T348*n=malloc(sizeof(*n));
  3606. *n=M348;
  3607. r348make(n,_tag,_expression,r818get_comments(C));
  3608. _assertion=(T0*)n;
  3609. }
  3610. /*IF*/if ((R)==((void*)(NULL))) {
  3611. R=se_ma608(1,_assertion);
  3612. }
  3613. else {
  3614. r608add_last(((T608*)R),_assertion);
  3615. }
  3616. /*FI*/_expression=(((T818*)C))->_last_expression/*97*/;
  3617. _state=2;
  3618. }
  3619. else {
  3620. {T348*n=malloc(sizeof(*n));
  3621. *n=M348;
  3622. r348make(n,_tag,_expression,r818get_comments(C));
  3623. _assertion=(T0*)n;
  3624. }
  3625. /*IF*/if ((R)==((void*)(NULL))) {
  3626. R=se_ma608(1,_assertion);
  3627. }
  3628. else {
  3629. r608add_last(((T608*)R),_assertion);
  3630. }
  3631. /*FI*/_state=4;
  3632. }
  3633. /*FI*/}}
  3634. }
  3635. return R;
  3636. }
  3637. void r818wcpefnc(T818* C,T0* a1,T0* a2){
  3638. /*[IRF3.6append*/{T0* b1=((T0*)ms136_818);
  3639. r7append(((T7*)(oBC683explanation)),b1);
  3640. }/*]*/
  3641. /*[IRF3.6append*/{T0* b1=a1;
  3642. r7append(((T7*)(oBC683explanation)),b1);
  3643. }/*]*/
  3644. /*[IRF3.6append*/{T0* b1=((T0*)ms137_818);
  3645. r7append(((T7*)(oBC683explanation)),b1);
  3646. }/*]*/
  3647. /*[IRF3.6append*/{T0* b1=a2;
  3648. r7append(((T7*)(oBC683explanation)),b1);
  3649. }/*]*/
  3650. /*[IRF3.6wcp*/{T818* C1=C;
  3651. T0* b1=((T0*)ms138_818);
  3652. r818warning(r818current_position(C1),b1);
  3653. }/*]*/
  3654. }
  3655. /*No:EIFFEL_PARSER.us_double*/
  3656. T0* r818a_alias(T818* C){
  3657. T0* R=NULL;
  3658. /*IF*/if (r818a_keyword(C,((T0*)ms1_470))) {
  3659. /*IF*/if (r818a_manifest_string(C)) {
  3660. R=(((T805*)((T805*)((((T818*)C))->_last_manifest_string/*145*/))))->_to_string/*12*/;
  3661. }
  3662. else {
  3663. r818fcp(C,((T0*)ms91_818));
  3664. }
  3665. /*FI*/}
  3666. /*FI*/return R;
  3667. }
  3668. int r818a_debug(T818* C){
  3669. int R=0;
  3670. T0* _e_debug=NULL;
  3671. T0* _list=NULL;
  3672. T0* _sp=NULL;
  3673. /*IF*/if (r818a_keyword(C,((T0*)ms7_470))) {
  3674. {T627*n=malloc(sizeof(*n));
  3675. *n=M627;
  3676. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  3677. _sp=(T0*)n;
  3678. }
  3679. /*IF*/if (r818skip1(C,'\50')) {
  3680. while (!(!(r818a_manifest_string(C)))) {
  3681. /*IF*/if ((_list)==((void*)(NULL))) {
  3682. _list=se_ma381(1,(((T818*)C))->_last_manifest_string/*145*/);
  3683. }
  3684. else {
  3685. r381add_last(((T381*)_list),(((T818*)C))->_last_manifest_string/*145*/);
  3686. }
  3687. /*FI*/C->_ok=r818skip1(C,'\54');
  3688. }
  3689. /*IF*/if ((_list)==((void*)(NULL))) {
  3690. /*[IRF3.6wcp*/{T818* C1=C;
  3691. T0* b1=((T0*)ms69_818);
  3692. r818warning(r818current_position(C1),b1);
  3693. }/*]*/
  3694. }
  3695. /*FI*//*IF*/if (!(r818skip1(C,'\51'))) {
  3696. r818fcp(C,((T0*)ms70_818));
  3697. }
  3698. /*FI*/}
  3699. /*FI*/R=1;
  3700. {T347*n=malloc(sizeof(*n));
  3701. *n=M347;
  3702. r347make(n,_sp,_list,r818a_compound2(C,((T0*)ms71_818),((T0*)ms12_470)));
  3703. _e_debug=(T0*)n;
  3704. }
  3705. C->_last_instruction=_e_debug;
  3706. }
  3707. /*FI*/return R;
  3708. }
  3709. int r818a_real(T818* C){
  3710. int R=0;
  3711. int _c=0;
  3712. int _l=0;
  3713. int _state=0;
  3714. /*IF*/if ((r3is_digit((((T818*)C))->_cc/*24*/))||(((((T818*)C))->_cc/*24*/)==('\56'))) {
  3715. _l=(((T818*)C))->_line/*16*/;
  3716. _c=(((T818*)C))->_column/*12*/;
  3717. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0);
  3718. /*]*/
  3719. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\56')) {
  3720. r7append(((T7*)(oBC818tmp_string)),((T0*)ms185_470));
  3721. _state=5;
  3722. }
  3723. else {
  3724. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3725. }
  3726. /*FI*/while (!((_state)>(11))) {
  3727. r818next_char(C);
  3728. {int z1=_state;
  3729.  
  3730. if((0==z1)){
  3731. {int z2=(((T818*)C))->_cc/*24*/;
  3732.  
  3733. if(((48<=z2)&&(z2<=57))){
  3734. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3735. }
  3736.  else 
  3737. if((46==z2)){
  3738. r7extend(((T7*)(oBC818tmp_string)),'\56');
  3739. _state=4;
  3740. }
  3741.  else{_state=13;
  3742. }}
  3743. }
  3744.  else 
  3745. if((1==z1)){
  3746. {int z2=(((T818*)C))->_cc/*24*/;
  3747.  
  3748. if(((48<=z2)&&(z2<=57))){
  3749. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3750. _state=2;
  3751. }
  3752.  else{r818fcp(C,((T0*)ms147_818));
  3753. }}
  3754. }
  3755.  else 
  3756. if((2==z1)){
  3757. {int z2=(((T818*)C))->_cc/*24*/;
  3758.  
  3759. if(((48<=z2)&&(z2<=57))){
  3760. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3761. _state=3;
  3762. }
  3763.  else{r818fcp(C,((T0*)ms147_818));
  3764. }}
  3765. }
  3766.  else 
  3767. if((3==z1)){
  3768. {int z2=(((T818*)C))->_cc/*24*/;
  3769.  
  3770. if(((48<=z2)&&(z2<=57))){
  3771. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3772. _state=0;
  3773. }
  3774.  else{r818fcp(C,((T0*)ms147_818));
  3775. }}
  3776. }
  3777.  else 
  3778. if((4==z1)){
  3779. {int z2=(((T818*)C))->_cc/*24*/;
  3780.  
  3781. if(((48<=z2)&&(z2<=57))){
  3782. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3783. _state=6;
  3784. }
  3785.  else 
  3786. if((69==z2)||(101==z2)){
  3787. r7extend(((T7*)(oBC818tmp_string)),'E');
  3788. _state=10;
  3789. }
  3790.  else{_state=12;
  3791. }}
  3792. }
  3793.  else 
  3794. if((5==z1)){
  3795. {int z2=(((T818*)C))->_cc/*24*/;
  3796.  
  3797. if(((48<=z2)&&(z2<=57))){
  3798. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3799. _state=6;
  3800. }
  3801.  else{_state=13;
  3802. }}
  3803. }
  3804.  else 
  3805. if((6==z1)){
  3806. {int z2=(((T818*)C))->_cc/*24*/;
  3807.  
  3808. if(((48<=z2)&&(z2<=57))){
  3809. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3810. }
  3811.  else 
  3812. if((69==z2)||(101==z2)){
  3813. r7extend(((T7*)(oBC818tmp_string)),'E');
  3814. _state=10;
  3815. }
  3816.  else 
  3817. if((95==z2)){
  3818. _state=7;
  3819. }
  3820.  else{_state=12;
  3821. }}
  3822. }
  3823.  else 
  3824. if((7==z1)){
  3825. {int z2=(((T818*)C))->_cc/*24*/;
  3826.  
  3827. if(((48<=z2)&&(z2<=57))){
  3828. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3829. _state=8;
  3830. }
  3831.  else{r818fcp(C,((T0*)ms139_818));
  3832. }}
  3833. }
  3834.  else 
  3835. if((8==z1)){
  3836. {int z2=(((T818*)C))->_cc/*24*/;
  3837.  
  3838. if(((48<=z2)&&(z2<=57))){
  3839. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3840. _state=9;
  3841. }
  3842.  else{r818fcp(C,((T0*)ms139_818));
  3843. }}
  3844. }
  3845.  else 
  3846. if((9==z1)){
  3847. {int z2=(((T818*)C))->_cc/*24*/;
  3848.  
  3849. if(((48<=z2)&&(z2<=57))){
  3850. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3851. _state=6;
  3852. }
  3853.  else{r818fcp(C,((T0*)ms139_818));
  3854. }}
  3855. }
  3856.  else 
  3857. if((10==z1)){
  3858. {int z2=(((T818*)C))->_cc/*24*/;
  3859.  
  3860. if((43==z2)){
  3861. _state=11;
  3862. }
  3863.  else 
  3864. if((45==z2)){
  3865. r7extend(((T7*)(oBC818tmp_string)),'\55');
  3866. _state=11;
  3867. }
  3868.  else 
  3869. if(((48<=z2)&&(z2<=57))){
  3870. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3871. _state=11;
  3872. }
  3873.  else{r818fcp(C,((T0*)ms29_818));
  3874. _state=13;
  3875. }}
  3876. }
  3877.  else{{int z2=(((T818*)C))->_cc/*24*/;
  3878.  
  3879. if(((48<=z2)&&(z2<=57))){
  3880. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  3881. }
  3882.  else{_state=12;
  3883. }}
  3884. }}
  3885. }
  3886. /*IF*/if ((_state)==(12)) {
  3887. {T936*n=malloc(sizeof(*n));
  3888. *n=M936;
  3889. r936make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string))));
  3890. C->_last_real_constant=(T0*)n;
  3891. }
  3892. R=1;
  3893. r818skip_comments(C);
  3894. }
  3895. else {
  3896. r818go_back_at(C,_l,_c);
  3897. }
  3898. /*FI*/}
  3899. /*FI*/return R;
  3900. }
  3901. void r818a_redefine_list(T818* C){
  3902. /*IF*/if (r818a_feature_list(C)) {
  3903. r877set_redefine(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/);
  3904. }
  3905. /*FI*/}
  3906. /*No:EIFFEL_PARSER.fz_undefine*/
  3907. void r818a_local_var_list(T818* C,T0* a1){
  3908. int _state=0;
  3909. int _rank=0;
  3910. T0* _list=NULL;
  3911. T0* _declaration=NULL;
  3912. T0* _name_list=NULL;
  3913. T0* _name=NULL;
  3914. while (!((_state)>(4))) {
  3915. {int z1=_state;
  3916.  
  3917. if((0==z1)){
  3918. /*IF*/if (r818a_identifier(C)) {
  3919. _name=r511to_local_name1(((T511*)(oBC818tmp_name)));
  3920. _state=1;
  3921. /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) {
  3922. _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),(((T39*)((T39*)_name)))->_to_string/*8*/);
  3923. /*IF*/if ((_rank)>(0)) {
  3924. r683add_position((((T39*)((T39*)_name)))->_start_position/*12*/);
  3925. r683add_position((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T818*)C))->_arguments/*45*/))))->_flat_list/*12*/)),_rank)/*)*/))))->_start_position/*12*/);
  3926. r683error(((T683*)(oBC364eh)),((T0*)ms16_818));
  3927. }
  3928. /*FI*/}
  3929. /*FI*/}
  3930.  else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) {
  3931. /*[IRF3.6wcp*/{T818* C1=C;
  3932. T0* b1=((T0*)ms151_818);
  3933. r818warning(r818current_position(C1),b1);
  3934. }/*]*/
  3935. C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73'));
  3936. }
  3937. else {
  3938. _state=5;
  3939. }
  3940. /*FI*/}
  3941.  else 
  3942. if((1==z1)){
  3943. /*IF*/if (r818skip1(C,'\72')) {
  3944. /*IF*/if ((_name_list)!=((void*)(NULL))) {
  3945. r733add_last(((T733*)_name_list),_name);
  3946. _name=NULL;
  3947. }
  3948. /*FI*/_state=3;
  3949. }
  3950. else {
  3951. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  3952. /*[IRF3.6wcp*/{T818* C1=C;
  3953. T0* b1=((T0*)ms17_818);
  3954. r818warning(r818current_position(C1),b1);
  3955. }/*]*/
  3956. C->_ok=r818skip1(C,'\73');
  3957. }
  3958. else {
  3959. C->_ok=r818skip1(C,'\54');
  3960. }
  3961. /*FI*//*IF*/if ((_name_list)==((void*)(NULL))) {
  3962. _name_list=se_ma733(1,_name);
  3963. }
  3964. else {
  3965. r733add_last(((T733*)_name_list),_name);
  3966. }
  3967. /*FI*/_name=NULL;
  3968. _state=2;
  3969. }
  3970. /*FI*/}
  3971.  else 
  3972. if((2==z1)){
  3973. /*IF*/if (r818a_identifier(C)) {
  3974. _name=r511to_local_name1(((T511*)(oBC818tmp_name)));
  3975. _state=1;
  3976. /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) {
  3977. _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),(((T39*)((T39*)_name)))->_to_string/*8*/);
  3978. /*IF*/if ((_rank)>(0)) {
  3979. r683add_position((((T39*)((T39*)_name)))->_start_position/*12*/);
  3980. r683add_position((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T818*)C))->_arguments/*45*/))))->_flat_list/*12*/)),_rank)/*)*/))))->_start_position/*12*/);
  3981. r683error(((T683*)(oBC364eh)),((T0*)ms18_818));
  3982. }
  3983. /*FI*/}
  3984. /*FI*/}
  3985.  else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) {
  3986. /*[IRF3.6wcp*/{T818* C1=C;
  3987. T0* b1=((T0*)ms151_818);
  3988. r818warning(r818current_position(C1),b1);
  3989. }/*]*/
  3990. C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73'));
  3991. }
  3992. else {
  3993. _state=6;
  3994. }
  3995. /*FI*/}
  3996.  else 
  3997. if((3==z1)){
  3998. /*IF*/if (r818a_type(C)) {
  3999. /*IF*/if ((_name_list)!=((void*)(NULL))) {
  4000. {T64*n=malloc(sizeof(*n));
  4001. *n=M64;
  4002. r64make(n,_name_list,(((T818*)C))->_last_type/*157*/);
  4003. _declaration=(T0*)n;
  4004. }
  4005. _name_list=NULL;
  4006. }
  4007. else {
  4008. {T723*n=malloc(sizeof(*n));
  4009. *n=M723;
  4010. r723make(n,_name,(((T818*)C))->_last_type/*157*/);
  4011. _declaration=(T0*)n;
  4012. }
  4013. _name=NULL;
  4014. }
  4015. /*FI*//*IF*/if ((_list)==((void*)(NULL))) {
  4016. _list=se_ma382(1,_declaration);
  4017. }
  4018. else {
  4019. r382add_last(((T382*)_list),_declaration);
  4020. }
  4021. /*FI*/_state=4;
  4022. }
  4023. else {
  4024. _state=6;
  4025. }
  4026. /*FI*/}
  4027.  else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) {
  4028. /*[IRF3.6wcp*/{T818* C1=C;
  4029. T0* b1=((T0*)ms19_818);
  4030. r818warning(r818current_position(C1),b1);
  4031. }/*]*/
  4032. C->_ok=r818skip1(C,'\54');
  4033. _state=0;
  4034. }
  4035. else {
  4036. C->_ok=r818skip1(C,'\73');
  4037. _state=0;
  4038. }
  4039. /*FI*/}}
  4040. }
  4041. /*IF*/if ((_state)==(6)) {
  4042. r818fcp(C,((T0*)ms20_818));
  4043. }
  4044.  else if ((_list)!=((void*)(NULL))) {
  4045. {T620*n=malloc(sizeof(*n));
  4046. *n=M620;
  4047. r620make(n,a1,_list);
  4048. C->_local_vars=(T0*)n;
  4049. }
  4050. /*[IRF3.3set_local_vars*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_local_vars)=((((T818*)C))->_local_vars/*49*/);
  4051. /*]*/
  4052. }
  4053. /*FI*/}
  4054. /*No:EIFFEL_PARSER.fz_59*/
  4055. /*No:EIFFEL_PARSER.fz_desc*/
  4056. void r818a_rename_list(T818* C){
  4057. while (!(!(r818a_rename_pair(C)))) {
  4058. C->_ok=r818skip1(C,'\54');
  4059. }
  4060. }
  4061. /*No:EIFFEL_PARSER.fz_local*/
  4062. int r818a_argument(T818* C){
  4063. int R=0;
  4064. int _rank=0;
  4065. /*IF*/if (((((T818*)C))->_arguments/*45*/)!=((void*)(NULL))) {
  4066. _rank=r31rank_of(((T31*)((((T818*)C))->_arguments/*45*/)),r511to_string(((T511*)(oBC818tmp_name))));
  4067. /*IF*/if ((_rank)>(0)) {
  4068. C->_last_expression=r511to_argument_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_arguments/*45*/,_rank);
  4069. R=1;
  4070. }
  4071. /*FI*/}
  4072. /*FI*/return R;
  4073. }
  4074. /*No:EIFFEL_PARSER.formal_generic_list*/
  4075. T0* r818to_call(T0* a1,T0* a2,T0* a3){
  4076. T0* R=NULL;
  4077. /*IF*/if ((a2)==((void*)(NULL))) {
  4078. R=a1;
  4079. }
  4080.  else if ((a3)==((void*)(NULL))) {
  4081. {T487*n=malloc(sizeof(*n));
  4082. *n=M487;
  4083. r487make(n,a1,a2);
  4084. R=(T0*)n;
  4085. }
  4086. }
  4087.  else if ((r431count(((T431*)a3)))==(1)) {
  4088. {T492*n=malloc(sizeof(*n));
  4089. *n=M492;
  4090. r492make(n,a1,a2,a3);
  4091. R=(T0*)n;
  4092. }
  4093. }
  4094. else {
  4095. {T915*n=malloc(sizeof(*n));
  4096. *n=M915;
  4097. r915make(n,a1,a2,a3);
  4098. R=(T0*)n;
  4099. }
  4100. }
  4101. /*FI*/return R;
  4102. }
  4103. /*No:EIFFEL_PARSER.fz_require*/
  4104. /*No:EIFFEL_PARSER.fz_then*/
  4105. /*No:EIFFEL_PARSER.fz_when*/
  4106. /*No:EIFFEL_PARSER.fz_error_stars*/
  4107. void r818a_undefine_list(T818* C){
  4108. /*IF*/if (r818a_feature_list(C)) {
  4109. r877set_undefine(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/);
  4110. }
  4111. /*FI*/}
  4112. /*No:EIFFEL_PARSER.current_line*/
  4113. /*No:EIFFEL_PARSER.fatal_error*/
  4114. /*No:EIFFEL_PARSER.us_native_array*/
  4115. void r818a_after_a_dot(T818* C,int a1,T0* a2){
  4116. T0* _eal=NULL;
  4117. T0* _sfn=NULL;
  4118. /*IF*/if (r818a_identifier(C)) {
  4119. /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) {
  4120. r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/));
  4121. r683error(((T683*)(oBC364eh)),((T0*)ms33_818));
  4122. }
  4123. /*FI*/_sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  4124. _eal=r818a_actuals(C);
  4125. r818a_r10(C,a1,a2,_sfn,_eal);
  4126. }
  4127. else {
  4128. r818fcp(C,((T0*)ms34_818));
  4129. }
  4130. /*FI*/}
  4131. int r818a_constant(T818* C){
  4132. int R=0;
  4133. T0* _sfn=NULL;
  4134. T0* _e_current=NULL;
  4135. /*IF*/if (r818a_identifier(C)) {
  4136. R=1;
  4137. _sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  4138. {T358*n=malloc(sizeof(*n));
  4139. *n=M358;
  4140. r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*16*/,0);
  4141. _e_current=(T0*)n;
  4142. }
  4143. {T487*n=malloc(sizeof(*n));
  4144. *n=M487;
  4145. r487make(n,_e_current,_sfn);
  4146. C->_last_expression=(T0*)n;
  4147. }
  4148. }
  4149.  else if (r818a_character_constant(C)) {
  4150. R=1;
  4151. C->_last_expression=(((T818*)C))->_last_character_constant/*85*/;
  4152. }
  4153.  else if (r818a_integer_constant(C)) {
  4154. R=1;
  4155. C->_last_expression=(((T818*)C))->_last_integer_constant/*129*/;
  4156. }
  4157. /*FI*/return R;
  4158. }
  4159. /*No:EIFFEL_PARSER.last_bit_constant*/
  4160. /*No:EIFFEL_PARSER.fz_check*/
  4161. T0* r818a_routine_body(T818* C){
  4162. T0* R=NULL;
  4163. /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) {
  4164. r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/)));
  4165. R=r505to_deferred_routine(((T505*)(oBC818tmp_feature)));
  4166. }
  4167.  else if (r818a_keyword(C,((T0*)ms16_470))) {
  4168. R=r818a_external(C);
  4169. }
  4170.  else if (r818a_keyword(C,((T0*)ms9_470))) {
  4171. /*[IRF3.3set_routine_body*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_routine_body)=(r818a_compound1(C,((T0*)ms116_818)));
  4172. /*]*/
  4173. R=r505to_procedure_or_function(((T505*)(oBC818tmp_feature)));
  4174. }
  4175.  else if (r818a_keyword(C,((T0*)ms35_470))) {
  4176. /*[IRF3.3set_routine_body*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_routine_body)=(r818a_compound1(C,((T0*)ms117_818)));
  4177. /*]*/
  4178. R=r505to_once_routine(((T505*)(oBC818tmp_feature)));
  4179. }
  4180. else {
  4181. r818fcp(C,((T0*)ms118_818));
  4182. }
  4183. /*FI*/return R;
  4184. }
  4185. int r818a_type(T818* C){
  4186. int R=0;
  4187. T0* _argument_name2=NULL;
  4188. T0* _sp=NULL;
  4189. R=1;
  4190. /*IF*/if (r818a_keyword(C,((T0*)ms30_470))) {
  4191. {T627*n=malloc(sizeof(*n));
  4192. *n=M627;
  4193. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  4194. _sp=(T0*)n;
  4195. }
  4196. /*IF*/if (r818a_identifier(C)) {
  4197. /*IF*/if (r818a_current(C)) {
  4198. {T958*n=malloc(sizeof(*n));
  4199. *n=M958;
  4200. r958make(n,_sp,(((T818*)C))->_last_expression/*97*/);
  4201. C->_last_type=(T0*)n;
  4202. }
  4203. }
  4204.  else if (r818a_argument(C)) {
  4205. _argument_name2=(((T818*)C))->_last_expression/*97*/;
  4206. if(NULL!=(_argument_name2))switch(((T0*)_argument_name2)->id) {
  4207. case 886: 
  4208. break;
  4209. default:
  4210. _argument_name2=NULL;
  4211. };{T239*n=malloc(sizeof(*n));
  4212. *n=M239;
  4213. r239make(n,_sp,_argument_name2);
  4214. C->_last_type=(T0*)n;
  4215. }
  4216. }
  4217. else {
  4218. {T648*n=malloc(sizeof(*n));
  4219. *n=M648;
  4220. r648make(n,_sp,r511to_simple_feature_name(((T511*)(oBC818tmp_name))));
  4221. C->_last_type=(T0*)n;
  4222. }
  4223. }
  4224. /*FI*/}
  4225. else {
  4226. r818fcp(C,((T0*)ms129_818));
  4227. }
  4228. /*FI*/}
  4229.  else if (r818a_keyword(C,((T0*)ms14_470))) {
  4230. {T627*n=malloc(sizeof(*n));
  4231. *n=M627;
  4232. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  4233. _sp=(T0*)n;
  4234. }
  4235. /*IF*/if (r818a_class_type(C)) {
  4236. {T523*n=malloc(sizeof(*n));
  4237. *n=M523;
  4238. r523make(n,_sp,(((T818*)C))->_last_class_type/*93*/);
  4239. C->_last_type=(T0*)n;
  4240. }
  4241. }
  4242. else {
  4243. r818fcp(C,((T0*)ms130_818));
  4244. }
  4245. /*FI*/}
  4246.  else if (r818a_keyword(C,((T0*)ms3_473))) {
  4247. {T627*n=malloc(sizeof(*n));
  4248. *n=M627;
  4249. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  4250. _sp=(T0*)n;
  4251. }
  4252. /*IF*/if (r818a_integer(C)) {
  4253. {T549*n=malloc(sizeof(*n));
  4254. *n=M549;
  4255. r549make(n,_sp,(((T818*)C))->_last_integer_constant/*129*/);
  4256. C->_last_type=(T0*)n;
  4257. }
  4258. }
  4259.  else if (r818a_identifier(C)) {
  4260. {T558*n=malloc(sizeof(*n));
  4261. *n=M558;
  4262. r558make(n,_sp,r511to_simple_feature_name(((T511*)(oBC818tmp_name))));
  4263. C->_last_type=(T0*)n;
  4264. }
  4265. }
  4266. else {
  4267. r818fcp(C,((T0*)ms131_818));
  4268. }
  4269. /*FI*/}
  4270.  else if (r818a_type_formal_generic(C)) {
  4271. C->_last_type=(((T818*)C))->_last_type_formal_generic/*117*/;
  4272. }
  4273.  else if (r818a_class_type(C)) {
  4274. C->_last_type=(((T818*)C))->_last_class_type/*93*/;
  4275. }
  4276. else {
  4277. R=0;
  4278. }
  4279. /*FI*/return R;
  4280. }
  4281. /*No:EIFFEL_PARSER.last_manifest_constant*/
  4282. int r818a_inspect(T818* C){
  4283. int R=0;
  4284. T0* _ec=NULL;
  4285. T0* _i=NULL;
  4286. T0* _spec=NULL;
  4287. T0* _sp=NULL;
  4288. /*IF*/if (r818a_keyword(C,((T0*)ms25_470))) {
  4289. R=1;
  4290. {T627*n=malloc(sizeof(*n));
  4291. *n=M627;
  4292. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  4293. _sp=(T0*)n;
  4294. }
  4295. /*IF*/if (r818a_expression(C)) {
  4296. C->_last_expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  4297. }
  4298. else {
  4299. r818fcp(C,((T0*)ms99_818));
  4300. }
  4301. /*FI*/{T270*n=malloc(sizeof(*n));
  4302. *n=M270;
  4303. r270make(n,_sp,(((T818*)C))->_last_expression/*97*/);
  4304. _i=(T0*)n;
  4305. }
  4306. while (!(!(r818a_when_part(C,_i)))) {
  4307. }
  4308. /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
  4309. {T627*n=malloc(sizeof(*n));
  4310. *n=M627;
  4311. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  4312. _spec=(T0*)n;
  4313. }
  4314. _ec=r818a_compound2(C,((T0*)ms100_818),((T0*)ms12_470));
  4315. r270set_else_compound(((T270*)_i),_spec,_ec);
  4316. }
  4317.  else if (!(r818a_keyword(C,((T0*)ms12_470)))) {
  4318. /*[IRF3.6wcp*/{T818* C1=C;
  4319. T0* b1=((T0*)ms101_818);
  4320. r818warning(r818current_position(C1),b1);
  4321. }/*]*/
  4322. }
  4323. /*FI*/C->_last_instruction=_i;
  4324. }
  4325. /*FI*/return R;
  4326. }
  4327. int r818a_assignment_or_call(T818* C){
  4328. int R=0;
  4329. /*IF*/if ((r818skip1(C,'\50'))&&(r818a_expression(C))) {
  4330. R=1;
  4331. /*IF*/if (r818skip1(C,'\51')) {
  4332. r818a_r10(C,1,(((T818*)C))->_last_expression/*97*/,NULL,NULL);
  4333. }
  4334. else {
  4335. r818fcp(C,((T0*)ms35_818));
  4336. }
  4337. /*FI*/}
  4338.  else if (r818a_identifier(C)) {
  4339. R=1;
  4340. /*IF*/if (r818skip2(C,'\72','\75')) {
  4341. r818a_assignment_aux(C,1);
  4342. }
  4343.  else if (r818skip2(C,'\77','\75')) {
  4344. r818a_assignment_aux(C,0);
  4345. }
  4346.  else if ((((r818a_current(C))||(r818a_result(C)))||(r818a_local_variable(C)))||(r818a_argument(C))) {
  4347. r818a_r10(C,1,(((T818*)C))->_last_expression/*97*/,NULL,NULL);
  4348. }
  4349. else {
  4350. r818a_procedure_call(C);
  4351. }
  4352. /*FI*/}
  4353. /*FI*/return R;
  4354. }
  4355. /*No:EIFFEL_PARSER.last_feature_list*/
  4356. T0* r818get_comments(T818* C){
  4357. T0* R=NULL;
  4358. R=(((T818*)C))->_last_comments/*25*/;
  4359. C->_last_comments=NULL;
  4360. return R;
  4361. }
  4362.  
  4363.