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

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