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

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "short.h"
  9. void r818warning(T0* a1,T0* a2){
  10. r683add_position(a1);
  11. r683warning(((T683*)(oBC364eh)),a2);
  12. }
  13. /*No:EIFFEL_PARSER.fz_retry*/
  14. /*No:EIFFEL_PARSER.fz_inherit*/
  15. /*No:EIFFEL_PARSER.fz_select*/
  16. int r818a_creation(T818* C){
  17. int R=0;
  18. int _state=0;
  19. T0* _call=NULL;
  20. T0* _proc_name=NULL;
  21. T0* _writable=NULL;
  22. T0* _type=NULL;
  23. T0* _sp=NULL;
  24. while (!((_state)>(6))) {
  25. {int z1=_state;
  26.  
  27. if((0==z1)){
  28. /*IF*/if (r818skip1(C,'\41')) {
  29. {T627*n=malloc(sizeof(*n));
  30. *n=M627;
  31. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  32. _sp=(T0*)n;
  33. }
  34. _state=1;
  35. }
  36. else {
  37. _state=7;
  38. }
  39. /*FI*/}
  40.  else 
  41. if((1==z1)){
  42. /*IF*/if (r818a_type(C)) {
  43. _type=(((T818*)C))->_last_type/*157*/;
  44. /*IF*/if (X291is_anchored(_type)) {
  45. r818warning(X291start_position(_type),((T0*)ms62_818));
  46. }
  47. /*FI*/_state=2;
  48. }
  49.  else if (r818skip1(C,'\41')) {
  50. _state=3;
  51. }
  52. else {
  53. r818fcp(C,((T0*)ms63_818));
  54. _state=8;
  55. }
  56. /*FI*/}
  57.  else 
  58. if((2==z1)){
  59. /*IF*/if (r818skip1(C,'\41')) {
  60. _state=3;
  61. }
  62. else {
  63. _state=8;
  64. r818fcp(C,((T0*)ms64_818));
  65. }
  66. /*FI*/}
  67.  else 
  68. if((3==z1)){
  69. /*IF*/if (r818a_identifier(C)) {
  70. /*IF*/if (r818a_current(C)) {
  71. _state=8;
  72. r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms65_818));
  73. }
  74.  else if (r818a_argument(C)) {
  75. _state=8;
  76. r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms66_818));
  77. }
  78.  else if ((r818a_result(C))||(r818a_local_variable(C))) {
  79. _writable=(((T818*)C))->_last_expression/*97*/;
  80. _state=4;
  81. }
  82. else {
  83. _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  84. _state=4;
  85. }
  86. /*FI*/}
  87. else {
  88. _state=8;
  89. r818fcp(C,((T0*)ms67_818));
  90. }
  91. /*FI*/}
  92.  else 
  93. if((4==z1)){
  94. /*IF*/if (r818skip1unless2(C,'\56','\56')) {
  95. _state=5;
  96. }
  97. else {
  98. _state=7;
  99. }
  100. /*FI*/}
  101.  else 
  102. if((5==z1)){
  103. /*IF*/if (r818a_identifier(C)) {
  104. _proc_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  105. _state=6;
  106. }
  107. else {
  108. _state=8;
  109. r818fcp(C,((T0*)ms68_818));
  110. }
  111. /*FI*/}
  112.  else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) {
  113. _call=r818to_proc_call(C,_writable,_proc_name,r818a_actuals(C));
  114. }
  115. else {
  116. {T268*n=malloc(sizeof(*n));
  117. *n=M268;
  118. r268make(n,_writable,_proc_name);
  119. _call=(T0*)n;
  120. }
  121. }
  122. /*FI*/_state=7;
  123. }}
  124. }
  125. /*IF*/if (((_state)==(7))&&((_sp)!=((void*)(NULL)))) {
  126. R=1;
  127. /*IF*/if (((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))) {
  128. {T362*n=malloc(sizeof(*n));
  129. *n=M362;
  130. r362make(n,_sp,_writable);
  131. C->_last_instruction=(T0*)n;
  132. }
  133. }
  134.  else if (((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))) {
  135. {T376*n=malloc(sizeof(*n));
  136. *n=M376;
  137. r376make(n,_sp,_type,_writable);
  138. C->_last_instruction=(T0*)n;
  139. }
  140. }
  141.  else if (((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))) {
  142. {T390*n=malloc(sizeof(*n));
  143. *n=M390;
  144. r390make(n,_sp,_writable,_call);
  145. C->_last_instruction=(T0*)n;
  146. }
  147. }
  148. else {
  149. {T404*n=malloc(sizeof(*n));
  150. *n=M404;
  151. r404make(n,_sp,_type,_writable,_call);
  152. C->_last_instruction=(T0*)n;
  153. }
  154. }
  155. /*FI*/}
  156. /*FI*/return R;
  157. }
  158. /*No:EIFFEL_PARSER.fz_old*/
  159. T0* r818a_routine(T818* C){
  160. T0* R=NULL;
  161. T0* _ea=NULL;
  162. T0* _al=NULL;
  163. T0* _hc=NULL;
  164. T0* _sp=NULL;
  165. /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) {
  166. /*IF*/if (r818a_manifest_string(C)) {
  167. /*[IRF3.3set_obsolete_mark*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_obsolete_mark)=((((T818*)C))->_last_manifest_string/*145*/);
  168. /*]*/
  169. }
  170. else {
  171. r818fcp(C,((T0*)ms114_818));
  172. }
  173. /*FI*/}
  174. /*FI*//*[IRF3.3set_header_comment*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_header_comment)=(r818get_comments(C));
  175. /*]*/
  176. /*IF*/if (r818a_keyword(C,((T0*)ms40_470))) {
  177. {T627*n=malloc(sizeof(*n));
  178. *n=M627;
  179. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  180. _sp=(T0*)n;
  181. }
  182. /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
  183. _hc=r818get_comments(C);
  184. r505set_require_else(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C));
  185. }
  186. else {
  187. _hc=r818get_comments(C);
  188. r505set_require(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C));
  189. }
  190. /*FI*/}
  191. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms31_470))) {
  192. r818a_local_var_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  193. }
  194. /*FI*/R=r818a_routine_body(C);
  195. /*IF*/if (r818a_keyword(C,((T0*)ms13_470))) {
  196. {T627*n=malloc(sizeof(*n));
  197. *n=M627;
  198. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  199. _sp=(T0*)n;
  200. }
  201. C->_in_ensure=1;
  202. /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) {
  203. _hc=r818get_comments(C);
  204. _al=r818a_assertion(C);
  205. /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) {
  206. {T633*n=malloc(sizeof(*n));
  207. *n=M633;
  208. r633make(n,_sp,_hc,_al);
  209. _ea=(T0*)n;
  210. }
  211. /*[IRF3.3set_ensure_then*/((((T633*)(((T633*)_ea))))->_is_ensure_then)=(1);
  212. /*]*/
  213. }
  214. /*FI*/X355set_ensure_assertion(R,_ea);
  215. }
  216. else {
  217. _hc=r818get_comments(C);
  218. _al=r818a_assertion(C);
  219. /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) {
  220. {T633*n=malloc(sizeof(*n));
  221. *n=M633;
  222. r633make(n,_sp,_hc,_al);
  223. _ea=(T0*)n;
  224. }
  225. }
  226. /*FI*/X355set_ensure_assertion(R,_ea);
  227. }
  228. /*FI*/C->_in_ensure=0;
  229. }
  230. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms41_470))) {
  231. C->_in_rescue=1;
  232. X355set_rescue_compound(R,r818a_compound2(C,((T0*)ms41_470),((T0*)ms12_470)));
  233. C->_in_rescue=0;
  234. }
  235. else {
  236. /*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) {
  237. /*[IRF3.6wcp*/{T818* C1=C;
  238. T0* b1=((T0*)ms115_818);
  239. r818warning(r818current_position(C1),b1);
  240. }/*]*/
  241. }
  242. /*FI*/}
  243. /*FI*/C->_local_vars=NULL;
  244. return R;
  245. }
  246. T0*oBC818tmp_name=NULL;
  247. void r818a_then_part_list(T818* C,T0* a1){
  248. /*IF*/if (!(r818a_then_part(C,a1))) {
  249. r818fcp(C,((T0*)ms125_818));
  250. }
  251. /*FI*/while (!(!(r818a_keyword(C,((T0*)ms11_470))))) {
  252. /*IF*/if (!(r818a_then_part(C,a1))) {
  253. r818fcp(C,((T0*)ms126_818));
  254. }
  255. /*FI*/}
  256. }
  257. /*No:EIFFEL_PARSER.us_none*/
  258. void r818a_assignment_aux(T818* C,int a1){
  259. T0* _rhs=NULL;
  260. T0* _writable=NULL;
  261. /*IF*/if (r818a_current(C)) {
  262. r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/));
  263. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms36_818);
  264. r683fatal_error(((T683*)(oBC364eh)),b1);
  265. }/*]*/
  266. }
  267.  else if (r818a_void(C)) {
  268. r683add_position(r511start_position(((T511*)(oBC818tmp_name))));
  269. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms37_818);
  270. r683fatal_error(((T683*)(oBC364eh)),b1);
  271. }/*]*/
  272. }
  273.  else if (r818a_argument(C)) {
  274. r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/));
  275. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms38_818);
  276. r683fatal_error(((T683*)(oBC364eh)),b1);
  277. }/*]*/
  278. }
  279. else {
  280. /*IF*/if (r511is_result()) {
  281. /*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) {
  282. r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818));
  283. }
  284. /*FI*/_writable=r511to_e_result(((T511*)(oBC818tmp_name)));
  285. }
  286.  else if (r818a_local_variable(C)) {
  287. _writable=(((T818*)C))->_last_expression/*97*/;
  288. }
  289. else {
  290. _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  291. }
  292. /*FI*//*IF*/if (r818a_expression(C)) {
  293. _rhs=(((T818*)C))->_last_expression/*97*/;
  294. /*IF*/if (a1) {
  295. {T629*n=malloc(sizeof(*n));
  296. *n=M629;
  297. r629make(n,_writable,_rhs);
  298. C->_last_instruction=(T0*)n;
  299. }
  300. }
  301. else {
  302. {T126*n=malloc(sizeof(*n));
  303. *n=M126;
  304. r126make(n,_writable,_rhs);
  305. C->_last_instruction=(T0*)n;
  306. }
  307. }
  308. /*FI*/}
  309. else {
  310. r818fcp(C,((T0*)ms39_818));
  311. }
  312. /*FI*/}
  313. /*FI*/}
  314. /*No:EIFFEL_PARSER.case_insensitive*/
  315. /*No:EIFFEL_PARSER.fz_deferred*/
  316. int r818a_identifier(T818* C){
  317. int R=0;
  318. /*IF*/if ((((T818*)C))->_case_insensitive/*0*/) {
  319. R=r818a_identifier1(C);
  320. }
  321. else {
  322. R=r818a_identifier2(C);
  323. }
  324. /*FI*/return R;
  325. }
  326. int r818a_expression(T818* C){
  327. int R=0;
  328. T0* _list=NULL;
  329. T0* _sp=NULL;
  330. /*IF*/if (r818skip2(C,'\74','\74')) {
  331. R=1;
  332. {T627*n=malloc(sizeof(*n));
  333. *n=M627;
  334. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  335. _sp=(T0*)n;
  336. }
  337. while (!(!(r818a_expression(C)))) {
  338. /*IF*/if ((_list)==((void*)(NULL))) {
  339. _list=se_ma96(1,(((T818*)C))->_last_expression/*97*/);
  340. }
  341. else {
  342. X96add_last(_list,(((T818*)C))->_last_expression/*97*/);
  343. }
  344. /*FI*/C->_ok=r818skip1(C,'\54');
  345. }
  346. /*IF*/if (!(r818skip2(C,'\76','\76'))) {
  347. r818fcp(C,((T0*)ms72_818));
  348. }
  349. /*FI*/{T436*n=malloc(sizeof(*n));
  350. *n=M436;
  351. r436make(n,_sp,_list);
  352. C->_last_expression=(T0*)n;
  353. }
  354. }
  355. else {
  356. R=r818a_e0(C);
  357. }
  358. /*FI*/return R;
  359. }
  360. void r818a_formal_arg_list(T818* C){
  361. int _state=0;
  362. T0* _list=NULL;
  363. T0* _declaration=NULL;
  364. T0* _name_list=NULL;
  365. T0* _name=NULL;
  366. T0* _sp=NULL;
  367. C->_arguments=NULL;
  368. while (!((_state)>(5))) {
  369. {int z1=_state;
  370.  
  371. if((0==z1)){
  372. /*IF*/if (r818skip1(C,'\50')) {
  373. {T627*n=malloc(sizeof(*n));
  374. *n=M627;
  375. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  376. _sp=(T0*)n;
  377. }
  378. _state=1;
  379. }
  380. else {
  381. _state=6;
  382. }
  383. /*FI*/}
  384.  else 
  385. if((1==z1)){
  386. /*IF*/if (r818a_identifier(C)) {
  387. _name=r511to_argument_name1(((T511*)(oBC818tmp_name)));
  388. _state=2;
  389. }
  390.  else if (r818skip1(C,'\51')) {
  391. _state=6;
  392. }
  393. else {
  394. _state=7;
  395. }
  396. /*FI*/}
  397.  else 
  398. if((2==z1)){
  399. /*IF*/if (r818skip1(C,'\72')) {
  400. /*IF*/if ((_name_list)!=((void*)(NULL))) {
  401. r65add_last(((T65*)_name_list),_name);
  402. _name=NULL;
  403. }
  404. /*FI*/_state=4;
  405. }
  406. else {
  407. C->_ok=r818skip1(C,'\54');
  408. /*IF*/if ((_name_list)==((void*)(NULL))) {
  409. _name_list=se_ma65(1,_name);
  410. }
  411. else {
  412. r65add_last(((T65*)_name_list),_name);
  413. }
  414. /*FI*/_name=NULL;
  415. _state=3;
  416. }
  417. /*FI*/}
  418.  else 
  419. if((3==z1)){
  420. /*IF*/if (r818a_identifier(C)) {
  421. _name=r511to_argument_name1(((T511*)(oBC818tmp_name)));
  422. _state=2;
  423. }
  424.  else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) {
  425. /*[IRF3.6wcp*/{T818* C1=C;
  426. T0* b1=((T0*)ms151_818);
  427. r818warning(r818current_position(C1),b1);
  428. }/*]*/
  429. C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73'));
  430. }
  431. else {
  432. _state=7;
  433. }
  434. /*FI*/}
  435.  else 
  436. if((4==z1)){
  437. /*IF*/if (r818a_type(C)) {
  438. /*IF*/if ((_name_list)!=((void*)(NULL))) {
  439. {T64*n=malloc(sizeof(*n));
  440. *n=M64;
  441. r64make(n,_name_list,(((T818*)C))->_last_type/*157*/);
  442. _declaration=(T0*)n;
  443. }
  444. _name_list=NULL;
  445. }
  446. else {
  447. {T723*n=malloc(sizeof(*n));
  448. *n=M723;
  449. r723make(n,_name,(((T818*)C))->_last_type/*157*/);
  450. _declaration=(T0*)n;
  451. }
  452. _name=NULL;
  453. }
  454. /*FI*//*IF*/if ((_list)==((void*)(NULL))) {
  455. _list=se_ma382(1,_declaration);
  456. }
  457. else {
  458. r382add_last(((T382*)_list),_declaration);
  459. }
  460. /*FI*/_declaration=NULL;
  461. _state=5;
  462. }
  463. else {
  464. _state=7;
  465. }
  466. /*FI*/}
  467.  else{/*IF*/if (r818skip1(C,'\51')) {
  468. _state=6;
  469. }
  470.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  471. /*[IRF3.6wcp*/{T818* C1=C;
  472. T0* b1=((T0*)ms13_818);
  473. r818warning(r818current_position(C1),b1);
  474. }/*]*/
  475. C->_ok=r818skip1(C,'\54');
  476. _state=1;
  477. }
  478. else {
  479. C->_ok=r818skip1(C,'\73');
  480. _state=1;
  481. }
  482. /*FI*/}}
  483. }
  484. /*IF*/if ((_state)==(7)) {
  485. r818fcp(C,((T0*)ms14_818));
  486. }
  487.  else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) {
  488. r818warning(_sp,((T0*)ms15_818));
  489. }
  490.  else if ((_sp)!=((void*)(NULL))) {
  491. {T31*n=malloc(sizeof(*n));
  492. *n=M31;
  493. r31make(n,_sp,_list);
  494. C->_arguments=(T0*)n;
  495. }
  496. /*[IRF3.3set_arguments*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_arguments)=((((T818*)C))->_arguments/*45*/);
  497. /*]*/
  498. }
  499. /*FI*/}
  500. /*No:EIFFEL_PARSER.fz_end*/
  501. /*No:EIFFEL_PARSER.fz_else*/
  502. /*No:EIFFEL_PARSER.last_class_name*/
  503. int r818a_type_formal_generic(T818* C){
  504. int R=0;
  505. int _rank=0;
  506. T0* _cn=NULL;
  507. T0* _fga=NULL;
  508. /*IF*/if (((((T818*)C))->_formal_generic_list/*33*/)!=((void*)(NULL))) {
  509. _rank=1;
  510. while (!((R)||((_rank)>(/*(IRF4.6count*/(((T681*)((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/))))->_upper/*8*//*)*/)))) {
  511. _fga=/*(IRF4.6item*/r681item(((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/)),_rank)/*)*/;
  512. /*IF*/if (r818a_keyword(C,(((T451*)((T451*)((((T33*)((T33*)_fga)))->_name/*0*/))))->_to_string/*0*/)) {
  513. {T451*n=malloc(sizeof(*n));
  514. *n=M451;
  515. r451make(n,(((T451*)((T451*)((((T33*)((T33*)_fga)))->_name/*0*/))))->_to_string/*0*/,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  516. _cn=(T0*)n;
  517. }
  518. {T283*n=malloc(sizeof(*n));
  519. *n=M283;
  520. r283make(n,_cn,_rank);
  521. C->_last_type_formal_generic=(T0*)n;
  522. }
  523. R=1;
  524. }
  525. /*FI*/_rank=(_rank)+(1);
  526. }
  527. }
  528. /*FI*/return R;
  529. }
  530. /*No:EIFFEL_PARSER.last_infix*/
  531. int r818a_feature_name(T818* C){
  532. int R=0;
  533. /*IF*/if (r818a_prefix(C)) {
  534. C->_last_feature_name=(((T818*)C))->_last_prefix/*125*/;
  535. R=1;
  536. }
  537.  else if (r818a_infix(C)) {
  538. C->_last_feature_name=(((T818*)C))->_last_infix/*121*/;
  539. R=1;
  540. }
  541.  else if (r818a_identifier(C)) {
  542. C->_last_feature_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
  543. R=1;
  544. }
  545. /*FI*/return R;
  546. }
  547. /*No:EIFFEL_PARSER.us_and*/
  548. void r818a_feature_clause(T818* C){
  549. T0* _comment=NULL;
  550. T0* _clients=NULL;
  551. T0* _feature_clause=NULL;
  552. _clients=r818a_clients(C);
  553. _comment=r818get_comments(C);
  554. /*[IRF3.3clear*/((((T352*)(((T352*)(oBC818faof)))))->_upper)=(-(1));
  555. /*]*/
  556. while (!(!(r818a_feature_declaration(C)))) {
  557. C->_ok=r818skip1(C,'\73');
  558. /*IF*/if (((((T818*)C))->_last_feature_declaration/*101*/)!=((void*)(NULL))) {
  559. r352add_last(((T352*)(oBC818faof)),(((T818*)C))->_last_feature_declaration/*101*/);
  560. X359set_header_comment((((T818*)C))->_last_feature_declaration/*101*/,r818get_comments(C));
  561. }
  562. /*FI*/}
  563. /*IF*/if (((((T352*)((T352*)(oBC818faof))))->_upper/*8*/)>=(0)) {
  564. {T153*n=malloc(sizeof(*n));
  565. *n=M153;
  566. r153make(n,_clients,_comment,r352twin(((T352*)(oBC818faof))));
  567. _feature_clause=(T0*)n;
  568. }
  569. r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause);
  570. }
  571.  else if ((_comment)!=((void*)(NULL))) {
  572. {T153*n=malloc(sizeof(*n));
  573. *n=M153;
  574. r153make(n,_clients,_comment,NULL);
  575. _feature_clause=(T0*)n;
  576. }
  577. r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause);
  578. }
  579. /*FI*/C->_last_keyword=NULL;
  580. }
  581. /*No:EIFFEL_PARSER.in_rescue*/
  582. /*No:EIFFEL_PARSER.us_and_then*/
  583. int r818a_manifest_constant(T818* C){
  584. int R=0;
  585. /*IF*/if (r818a_boolean_constant(C)) {
  586. C->_last_manifest_constant=(((T818*)C))->_last_boolean_constant/*81*/;
  587. R=1;
  588. }
  589.  else if (r818a_character_constant(C)) {
  590. C->_last_manifest_constant=(((T818*)C))->_last_character_constant/*85*/;
  591. R=1;
  592. }
  593.  else if (r818a_manifest_string(C)) {
  594. C->_last_manifest_constant=(((T818*)C))->_last_manifest_string/*145*/;
  595. R=1;
  596. }
  597.  else if (r818a_bit_constant(C)) {
  598. C->_last_manifest_constant=(((T818*)C))->_last_bit_constant/*77*/;
  599. R=1;
  600. }
  601.  else if (r818a_real_constant(C)) {
  602. C->_last_manifest_constant=(((T818*)C))->_last_real_constant/*153*/;
  603. R=1;
  604. }
  605.  else if (r818a_integer_constant(C)) {
  606. C->_last_manifest_constant=(((T818*)C))->_last_integer_constant/*129*/;
  607. R=1;
  608. }
  609. /*FI*/return R;
  610. }
  611. /*No:EIFFEL_PARSER.last_instruction*/
  612. int r818a_bit_constant(T818* C){
  613. int R=0;
  614. int _state=0;
  615. int _c=0;
  616. int _l=0;
  617. /*IF*/if ((((((T818*)C))->_cc/*24*/)==('0'))||(((((T818*)C))->_cc/*24*/)==('1'))) {
  618. _l=(((T818*)C))->_line/*16*/;
  619. _c=(((T818*)C))->_column/*12*/;
  620. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0);
  621. /*]*/
  622. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  623. while (!((_state)>(0))) {
  624. r818next_char(C);
  625. {int z1=(((T818*)C))->_cc/*24*/;
  626.  
  627. if(((48<=z1)&&(z1<=49))){
  628. r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/);
  629. }
  630.  else 
  631. if((66==z1)||(98==z1)){
  632. {T940*n=malloc(sizeof(*n));
  633. *n=M940;
  634. r940make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string))));
  635. C->_last_bit_constant=(T0*)n;
  636. }
  637. r818next_char(C);
  638. r818skip_comments(C);
  639. _state=1;
  640. R=1;
  641. }
  642.  else{r818go_back_at(C,_l,_c);
  643. _state=2;
  644. }}
  645. }
  646. }
  647. /*FI*/return R;
  648. }
  649. T0*oBC818faof=NULL;
  650. /*No:EIFFEL_PARSER.fz_jvm_invokestatic*/
  651. int r818a_index_clause(T818* C){
  652. int R=0;
  653. T0* _index_clause=NULL;
  654. /*IF*/if (r818a_identifier(C)) {
  655. R=1;
  656. /*IF*/if (r818skip1(C,'\72')) {
  657. {T782*n=malloc(sizeof(*n));
  658. *n=M782;
  659. /*[IRF3.3make*/((((T782*)(n)))->_index)=(r511to_string(((T511*)(oBC818tmp_name))));
  660. /*]*/
  661. _index_clause=(T0*)n;
  662. }
  663. /*IF*/if (r818a_index_value(C)) {
  664. r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/);
  665. }
  666. else {
  667. r818fcp(C,((T0*)ms141_818));
  668. }
  669. /*FI*/}
  670. else {
  671. {T782*n=malloc(sizeof(*n));
  672. *n=M782;
  673. /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL);
  674. /*]*/
  675. _index_clause=(T0*)n;
  676. }
  677. r782add_index_value(((T782*)_index_clause),r511to_simple_feature_name(((T511*)(oBC818tmp_name))));
  678. }
  679. /*FI*/}
  680.  else if (r818a_manifest_constant(C)) {
  681. R=1;
  682. {T782*n=malloc(sizeof(*n));
  683. *n=M782;
  684. /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL);
  685. /*]*/
  686. _index_clause=(T0*)n;
  687. }
  688. r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_manifest_constant/*141*/);
  689. }
  690. /*FI*//*IF*/if (R) {
  691. while (!(!(r818skip1(C,'\54')))) {
  692. /*IF*/if (r818a_index_value(C)) {
  693. r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/);
  694. }
  695. else {
  696. r818fcp(C,((T0*)ms141_818));
  697. }
  698. /*FI*/}
  699. r605add_index_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_index_clause);
  700. }
  701. /*FI*/return R;
  702. }
  703. /*No:EIFFEL_PARSER.line*/
  704. /*No:EIFFEL_PARSER.make*/
  705. /*No:EIFFEL_PARSER.last_index_value*/
  706. /*No:EIFFEL_PARSER.show_nb_warnings*/
  707. /*No:EIFFEL_PARSER.fz_rescue*/
  708. int r818a_infix(T818* C){
  709. int R=0;
  710. T0* _sp=NULL;
  711. /*IF*/if (r818a_keyword(C,((T0*)ms23_470))) {
  712. R=1;
  713. {T627*n=malloc(sizeof(*n));
  714. *n=M627;
  715. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  716. _sp=(T0*)n;
  717. }
  718. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) {
  719. r818next_char(C);
  720. }
  721. else {
  722. /*[IRF3.6wcp*/{T818* C1=C;
  723. T0* b1=((T0*)ms96_818);
  724. r818warning(r818current_position(C1),b1);
  725. }/*]*/
  726. }
  727. /*FI*//*IF*/if (r818a_binary(C,_sp)) {
  728. C->_last_infix=(((T818*)C))->_last_binary/*73*/;
  729. }
  730.  else if (r818a_free_operator(C)) {
  731. C->_last_infix=r511to_infix_name(_sp);
  732. }
  733. else {
  734. r818fcp(C,((T0*)ms97_818));
  735. }
  736. /*FI*//*IF*/if (!(r818skip1(C,'\42'))) {
  737. /*[IRF3.6wcp*/{T818* C1=C;
  738. T0* b1=((T0*)ms98_818);
  739. r818warning(r818current_position(C1),b1);
  740. }/*]*/
  741. }
  742. /*FI*/}
  743. /*FI*/return R;
  744. }
  745. T0* r818a_actuals(T818* C){
  746. T0* R=NULL;
  747. T0* _args=NULL;
  748. /*IF*/if (r818skip1(C,'\50')) {
  749. while (!(!(r818a_actual(C)))) {
  750. /*IF*/if ((_args)==((void*)(NULL))) {
  751. _args=se_ma96(1,(((T818*)C))->_last_expression/*97*/);
  752. }
  753. else {
  754. X96add_last(_args,(((T818*)C))->_last_expression/*97*/);
  755. }
  756. /*FI*//*IF*/if ((!(r818skip1(C,'\54')))&&(((((T818*)C))->_cc/*24*/)!=('\51'))) {
  757. /*[IRF3.6wcp*/{T818* C1=C;
  758. T0* b1=((T0*)ms143_818);
  759. r818warning(r818current_position(C1),b1);
  760. }/*]*/
  761. }
  762. /*FI*/}
  763. /*IF*/if ((_args)==((void*)(NULL))) {
  764. /*[IRF3.6wcp*/{T818* C1=C;
  765. T0* b1=((T0*)ms31_818);
  766. r818warning(r818current_position(C1),b1);
  767. }/*]*/
  768. }
  769. else {
  770. {T431*n=malloc(sizeof(*n));
  771. *n=M431;
  772. /*[IRF3.3make*/((((T431*)(n)))->_list)=(_args);
  773. /*]*/
  774. R=(T0*)n;
  775. }
  776. }
  777. /*FI*//*IF*/if (!(r818skip1(C,'\51'))) {
  778. r818fcp(C,((T0*)ms32_818));
  779. }
  780. /*FI*/}
  781. /*FI*/return R;
  782. }
  783. /*No:EIFFEL_PARSER.us_pointer*/
  784. /*No:EIFFEL_PARSER.fz_iinaiv*/
  785. int r818a_actual(T818* C){
  786. int R=0;
  787. /*IF*/if (r818skip1(C,'\44')) {
  788. /*IF*/if (r818a_identifier(C)) {
  789. /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) {
  790. r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/));
  791. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms155_818);
  792. r683fatal_error(((T683*)(oBC364eh)),b1);
  793. }/*]*/
  794. }
  795. else {
  796. {T708*n=malloc(sizeof(*n));
  797. *n=M708;
  798. /*[IRF3.3make*/((((T708*)(n)))->_feature_name)=(r511to_simple_feature_name(((T511*)(oBC818tmp_name))));
  799. /*]*/
  800. C->_last_expression=(T0*)n;
  801. }
  802. R=1;
  803. }
  804. /*FI*/}
  805. else {
  806. r818fcp(C,((T0*)ms155_818));
  807. }
  808. /*FI*/}
  809.  else if (r818a_expression(C)) {
  810. R=1;
  811. }
  812. /*FI*/return R;
  813. }
  814. /*No:EIFFEL_PARSER.us_string*/
  815. /*No:EIFFEL_PARSER.local_vars*/
  816. void r818a_base_class_name1(T818* C){
  817. T0* _ccn=NULL;
  818. int _do_warning=0;
  819. int _state=0;
  820. _ccn=(((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_base_class_name/*24*/;
  821. /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
  822. r627set_line_column(((T627*)((((T451*)((T451*)_ccn)))->_start_position/*4*/)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  823. r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  824. /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) {
  825. _do_warning=1;
  826. C->_cc=r3to_upper((((T818*)C))->_cc/*24*/);
  827. }
  828. /*FI*//*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  829. r7extend(((T7*)(oBC511tmp_string)),b1);
  830. }/*]*/
  831. while (!((_state)>(0))) {
  832. r818next_char(C);
  833. {int z1=(((T818*)C))->_cc/*24*/;
  834.  
  835. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){
  836. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  837. r7extend(((T7*)(oBC511tmp_string)),b1);
  838. }/*]*/
  839. }
  840.  else 
  841. if(((97<=z1)&&(z1<=122))){
  842. _do_warning=1;
  843. /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/);
  844. r7extend(((T7*)(oBC511tmp_string)),b1);
  845. }/*]*/
  846. }
  847.  else{_state=1;
  848. }}
  849. }
  850. r818skip_comments(C);
  851. /*IF*/if (r511isa_keyword()) {
  852. r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/);
  853. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms154_818);
  854. r683fatal_error(((T683*)(oBC364eh)),b1);
  855. }/*]*/
  856. }
  857. /*FI*//*IF*/if (_do_warning) {
  858. r818warning((((T451*)((T451*)_ccn)))->_start_position/*4*/,((T0*)ms153_818));
  859. }
  860. /*FI*/r451identify(((T451*)_ccn),r511to_string(((T511*)(oBC818tmp_name))));
  861. }
  862. else {
  863. r818fcp(C,((T0*)ms154_818));
  864. }
  865. /*FI*//*IF*/if (r52fast_has(((T52*)(oBC818forbidden_class)),(((T451*)((T451*)_ccn)))->_to_string/*0*/)) {
  866. r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/);
  867. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms25_818);
  868. r683fatal_error(((T683*)(oBC364eh)),b1);
  869. }/*]*/
  870. }
  871. /*FI*/}
  872. int r818a_strip(T818* C){
  873. int R=0;
  874. T0* _sp=NULL;
  875. /*IF*/if (r818a_keyword(C,((T0*)ms45_470))) {
  876. {T627*n=malloc(sizeof(*n));
  877. *n=M627;
  878. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  879. _sp=(T0*)n;
  880. }
  881. /*IF*/if (r818skip1(C,'\50')) {
  882. C->_ok=r818a_feature_list(C);
  883. {T420*n=malloc(sizeof(*n));
  884. *n=M420;
  885. r420make(n,_sp,(((T818*)C))->_last_feature_list/*105*/);
  886. C->_last_expression=(T0*)n;
  887. }
  888. /*IF*/if (!(r818skip1(C,'\51'))) {
  889. r818fcp(C,((T0*)ms123_818));
  890. }
  891. /*FI*/R=1;
  892. }
  893. else {
  894. r818fcp(C,((T0*)ms124_818));
  895. }
  896. /*FI*/}
  897. /*FI*/return R;
  898. }
  899. /*No:EIFFEL_PARSER.fz_external*/
  900. T0* r818a_compound1(T818* C,T0* a1){
  901. T0* R=NULL;
  902. T0* _instruction=NULL;
  903. T0* _list=NULL;
  904. T0* _hc=NULL;
  905. _hc=r818get_comments(C);
  906. while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) {
  907. /*[IRF3.6wcp*/{T818* C1=C;
  908. T0* b1=((T0*)ms68_470);
  909. r818warning(r818current_position(C1),b1);
  910. }/*]*/
  911. C->_ok=r818skip1(C,'\73');
  912. }
  913. while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  914. _instruction=(((T818*)C))->_last_instruction/*133*/;
  915. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) {
  916. /*[IRF3.6wcp*/{T818* C1=C;
  917. T0* b1=((T0*)ms144_818);
  918. r818warning(r818current_position(C1),b1);
  919. }/*]*/
  920. }
  921. /*FI*/C->_ok=r818skip1(C,'\73');
  922. while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) {
  923. /*[IRF3.6wcp*/{T818* C1=C;
  924. T0* b1=((T0*)ms68_470);
  925. r818warning(r818current_position(C1),b1);
  926. }/*]*/
  927. C->_ok=r818skip1(C,'\73');
  928. }
  929. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  930. /*IF*/if ((_list)==((void*)(NULL))) {
  931. _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C)));
  932. }
  933. else {
  934. r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C)));
  935. }
  936. /*FI*/}
  937. /*FI*/}
  938. /*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) {
  939. {T592*n=malloc(sizeof(*n));
  940. *n=M592;
  941. r592make(n,_hc,_list);
  942. R=(T0*)n;
  943. }
  944. }
  945. /*FI*/return R;
  946. }
  947. /*No:EIFFEL_PARSER.fz_prefix*/
  948. /*No:EIFFEL_PARSER.fz_all*/
  949. /*No:EIFFEL_PARSER.column*/
  950. int r818a_loop(T818* C){
  951. int R=0;
  952. T0* _al=NULL;
  953. T0* _hc=NULL;
  954. T0* _lb=NULL;
  955. T0* _ue=NULL;
  956. T0* _vc=NULL;
  957. T0* _ic=NULL;
  958. T0* _i=NULL;
  959. T0* _e_loop=NULL;
  960. int _c2=0;
  961. int _l2=0;
  962. int _c1=0;
  963. int _l1=0;
  964. /*IF*/if (r818a_keyword(C,((T0*)ms19_470))) {
  965. R=1;
  966. _l1=(((T818*)C))->_start_line/*169*/;
  967. _c1=(((T818*)C))->_start_column/*165*/;
  968. _i=r818a_compound1(C,((T0*)ms102_818));
  969. /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) {
  970. _l2=(((T818*)C))->_start_line/*169*/;
  971. _c2=(((T818*)C))->_start_column/*165*/;
  972. _hc=r818get_comments(C);
  973. _al=r818a_assertion(C);
  974. /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) {
  975. {T213*n=malloc(sizeof(*n));
  976. *n=M213;
  977. r213make(n,r818pos(_l2,_c2),_hc,_al);
  978. _ic=(T0*)n;
  979. }
  980. }
  981. /*FI*/}
  982. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms51_470))) {
  983. /*IF*/if ((r818a_tag_mark(C))&&(r818a_expression(C))) {
  984. {T158*n=malloc(sizeof(*n));
  985. *n=M158;
  986. r158make(n,(((T818*)C))->_last_tag_mark/*161*/,(((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  987. _vc=(T0*)n;
  988. }
  989. }
  990.  else if (r818a_expression(C)) {
  991. {T145*n=malloc(sizeof(*n));
  992. *n=M145;
  993. r145make(n,(((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  994. _vc=(T0*)n;
  995. }
  996. }
  997. else {
  998. /*[IRF3.6wcp*/{T818* C1=C;
  999. T0* b1=((T0*)ms103_818);
  1000. r818warning(r818current_position(C1),b1);
  1001. }/*]*/
  1002. }
  1003. /*FI*/}
  1004. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms50_470))) {
  1005. /*IF*/if (r818a_expression(C)) {
  1006. _ue=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  1007. }
  1008. else {
  1009. r818fcp(C,((T0*)ms104_818));
  1010. _ue=(((T818*)C))->_last_expression/*97*/;
  1011. }
  1012. /*FI*/}
  1013. else {
  1014. r818fcp(C,((T0*)ms105_818));
  1015. _ue=(((T818*)C))->_last_expression/*97*/;
  1016. }
  1017. /*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  1018. /*[IRF3.6wcp*/{T818* C1=C;
  1019. T0* b1=((T0*)ms68_470);
  1020. r818warning(r818current_position(C1),b1);
  1021. }/*]*/
  1022. C->_ok=r818skip1(C,'\73');
  1023. }
  1024. /*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms32_470)))) {
  1025. /*[IRF3.6wcp*/{T818* C1=C;
  1026. T0* b1=((T0*)ms106_818);
  1027. r818warning(r818current_position(C1),b1);
  1028. }/*]*/
  1029. }
  1030. /*FI*/_lb=r818a_compound2(C,((T0*)ms107_818),((T0*)ms12_470));
  1031. {T880*n=malloc(sizeof(*n));
  1032. *n=M880;
  1033. r880make(n,r818pos(_l1,_c1),_i,_ic,_vc,_ue,_lb);
  1034. _e_loop=(T0*)n;
  1035. }
  1036. C->_last_instruction=_e_loop;
  1037. }
  1038. /*FI*/return R;
  1039. }
  1040. /*No:EIFFEL_PARSER.fz_feature*/
  1041. /*No:EIFFEL_PARSER.fz_true*/
  1042. int r818a_local_variable(T818* C){
  1043. int R=0;
  1044. int _rank=0;
  1045. /*IF*/if (((((T818*)C))->_local_vars/*49*/)!=((void*)(NULL))) {
  1046. _rank=r620rank_of(((T620*)((((T818*)C))->_local_vars/*49*/)),r511to_string(((T511*)(oBC818tmp_name))));
  1047. /*IF*/if ((_rank)>(0)) {
  1048. C->_last_expression=r511to_local_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_local_vars/*49*/,_rank);
  1049. R=1;
  1050. }
  1051. /*FI*/}
  1052. /*FI*/return R;
  1053. }
  1054. /*No:EIFFEL_PARSER.start_column*/
  1055. /*No:EIFFEL_PARSER.us_ge*/
  1056. /*No:EIFFEL_PARSER.us_neq*/
  1057. T0*oBC364echo=NULL;
  1058. int r818skip1unless2(T818* C,char a1,char a2){
  1059. int R=0;
  1060. C->_start_line=(((T818*)C))->_line/*16*/;
  1061. C->_start_column=(((T818*)C))->_column/*12*/;
  1062. /*IF*/if (((((T818*)C))->_cc/*24*/)==(a1)) {
  1063. r818next_char(C);
  1064. /*IF*/if (((((T818*)C))->_cc/*24*/)==(a2)) {
  1065. r818prev_char(C);
  1066. }
  1067. else {
  1068. R=1;
  1069. r818skip_comments(C);
  1070. }
  1071. /*FI*/}
  1072. /*FI*/return R;
  1073. }
  1074. /*No:EIFFEL_PARSER.fz_if*/
  1075. T0* r818a_compound2(T818* C,T0* a1,T0* a2){
  1076. T0* R=NULL;
  1077. T0* _instruction=NULL;
  1078. T0* _list=NULL;
  1079. T0* _hc=NULL;
  1080. _hc=r818get_comments(C);
  1081. while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) {
  1082. /*[IRF3.6wcp*/{T818* C1=C;
  1083. T0* b1=((T0*)ms68_470);
  1084. r818warning(r818current_position(C1),b1);
  1085. }/*]*/
  1086. C->_ok=r818skip1(C,'\73');
  1087. }
  1088. while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  1089. _instruction=(((T818*)C))->_last_instruction/*133*/;
  1090. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) {
  1091. /*[IRF3.6wcp*/{T818* C1=C;
  1092. T0* b1=((T0*)ms144_818);
  1093. r818warning(r818current_position(C1),b1);
  1094. }/*]*/
  1095. }
  1096. /*FI*/C->_ok=r818skip1(C,'\73');
  1097. while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) {
  1098. /*[IRF3.6wcp*/{T818* C1=C;
  1099. T0* b1=((T0*)ms68_470);
  1100. r818warning(r818current_position(C1),b1);
  1101. }/*]*/
  1102. C->_ok=r818skip1(C,'\73');
  1103. }
  1104. /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  1105. /*IF*/if ((_list)==((void*)(NULL))) {
  1106. _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C)));
  1107. }
  1108. else {
  1109. r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C)));
  1110. }
  1111. /*FI*/}
  1112. /*FI*/}
  1113. /*IF*/if (!(r818a_keyword(C,a2))) {
  1114. /*[IRF3.6append*/{T0* b1=((T0*)ms57_818);
  1115. r7append(((T7*)(oBC683explanation)),b1);
  1116. }/*]*/
  1117. /*[IRF3.6append*/{T0* b1=a1;
  1118. r7append(((T7*)(oBC683explanation)),b1);
  1119. }/*]*/
  1120. /*[IRF3.6append*/{T0* b1=((T0*)ms58_818);
  1121. r7append(((T7*)(oBC683explanation)),b1);
  1122. }/*]*/
  1123. /*[IRF3.6append*/{T0* b1=a2;
  1124. r7append(((T7*)(oBC683explanation)),b1);
  1125. }/*]*/
  1126. r818fcp(C,((T0*)ms59_818));
  1127. }
  1128. /*FI*//*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) {
  1129. {T592*n=malloc(sizeof(*n));
  1130. *n=M592;
  1131. r592make(n,_hc,_list);
  1132. R=(T0*)n;
  1133. }
  1134. }
  1135. /*FI*/return R;
  1136. }
  1137. int r818a_rename_pair(T818* C){
  1138. int R=0;
  1139. T0* _rename_pair=NULL;
  1140. T0* _name1=NULL;
  1141. /*IF*/if (r818a_feature_name(C)) {
  1142. _name1=(((T818*)C))->_last_feature_name/*109*/;
  1143. /*IF*/if (r818a_keyword(C,((T0*)ms3_470))) {
  1144. /*IF*/if (r818a_feature_name(C)) {
  1145. R=1;
  1146. {T498*n=malloc(sizeof(*n));
  1147. *n=M498;
  1148. r498make(n,_name1,(((T818*)C))->_last_feature_name/*109*/);
  1149. _rename_pair=(T0*)n;
  1150. }
  1151. r877add_rename(((T877*)((((T818*)C))->_last_parent/*149*/)),_rename_pair);
  1152. }
  1153. else {
  1154. r818fcp(C,((T0*)ms113_818));
  1155. }
  1156. /*FI*/}
  1157. else {
  1158. /*[IRF3.6go_back*/{T818* C1=C;
  1159. T0* b1=X776start_position(_name1);
  1160. r818go_back_at(C1,/*(IRF4.6line*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)%(1000)/*)*/);
  1161. }/*]*/
  1162. }
  1163. /*FI*/}
  1164. /*FI*/return R;
  1165. }
  1166. /*No:EIFFEL_PARSER.us_slash*/
  1167. /*No:EIFFEL_PARSER.fz_alias*/
  1168. /*No:EIFFEL_PARSER.fz_debug*/
  1169. int r818a_keyword(T818* C,T0* a1){
  1170. int R=0;
  1171. int _keyword_count=0;
  1172. int _i=0;
  1173. _keyword_count=(((T7*)((T7*)a1)))->_count/*4*/;
  1174. C->_start_line=(((T818*)C))->_line/*16*/;
  1175. C->_start_column=(((T818*)C))->_column/*12*/;
  1176. while (!(((_i)==(_keyword_count))||(!(r3same_as((((T818*)C))->_cc/*24*/,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) {
  1177. _i=(_i)+(1);
  1178. r818next_char(C);
  1179. }
  1180. /*IF*/if ((_i)==(_keyword_count)) {
  1181. {int z1=(((T818*)C))->_cc/*24*/;
  1182.  
  1183. if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){
  1184. R=1;
  1185. C->_last_keyword=a1;
  1186. r818skip_comments(C);
  1187. }
  1188.  else 
  1189. if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){
  1190. while (!((_i)==(0))) {
  1191. r818prev_char(C);
  1192. _i=(_i)-(1);
  1193. }
  1194. }
  1195.  else{R=1;
  1196. C->_last_keyword=a1;
  1197. }}
  1198. }
  1199. else {
  1200. while (!((_i)==(0))) {
  1201. r818prev_char(C);
  1202. _i=(_i)-(1);
  1203. }
  1204. }
  1205. /*FI*/return R;
  1206. }
  1207. /*No:EIFFEL_PARSER.us_character*/
  1208. /*No:EIFFEL_PARSER.us_le*/
  1209. /*No:EIFFEL_PARSER.fz_from*/
  1210. /*No:EIFFEL_PARSER.last_keyword*/
  1211. /*No:EIFFEL_PARSER.fz_unique*/
  1212. /*No:EIFFEL_PARSER.fz_loop*/
  1213. /*No:EIFFEL_PARSER.em1*/
  1214. /*No:EIFFEL_PARSER.fz_do*/
  1215. int r818a_unary(T818* C){
  1216. int R=0;
  1217. /*IF*/if (r818a_keyword(C,((T0*)ms40_473))) {
  1218. {T406*n=malloc(sizeof(*n));
  1219. *n=M406;
  1220. r406make(n,((T0*)ms40_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1221. C->_last_prefix=(T0*)n;
  1222. }
  1223. R=1;
  1224. }
  1225.  else if (r818skip1(C,'\53')) {
  1226. {T406*n=malloc(sizeof(*n));
  1227. *n=M406;
  1228. r406make(n,((T0*)ms43_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1229. C->_last_prefix=(T0*)n;
  1230. }
  1231. R=1;
  1232. }
  1233.  else if (r818skip1(C,'\55')) {
  1234. {T406*n=malloc(sizeof(*n));
  1235. *n=M406;
  1236. r406make(n,((T0*)ms37_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1237. C->_last_prefix=(T0*)n;
  1238. }
  1239. R=1;
  1240. }
  1241. /*FI*/return R;
  1242. }
  1243. /*No:EIFFEL_PARSER.em2*/
  1244. /*No:EIFFEL_PARSER.last_feature_declaration*/
  1245. /*No:EIFFEL_PARSER.em3*/
  1246. /*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/
  1247. /*No:EIFFEL_PARSER.fz_obsolete*/
  1248. /*No:EIFFEL_PARSER.em4*/
  1249. /*No:EIFFEL_PARSER.fz_se*/
  1250. void r818go_back_at(T818* C,int a1,int a2){
  1251. C->_line=a1;
  1252. C->_column=a2;
  1253. C->_current_line=r676item((((T818*)C))->_line/*16*/);
  1254. /*IF*/if (((((T818*)C))->_column/*12*/)==(((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1))) {
  1255. C->_cc='\n';
  1256. }
  1257.  else if (((((T818*)C))->_column/*12*/)==(0)) {
  1258. C->_cc='\0';
  1259. }
  1260. else {
  1261. C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/;
  1262. }
  1263. /*FI*/}
  1264. void r818a_ascii_code(T818* C){
  1265. int _counter=0;
  1266. r818next_char(C);
  1267. _counter=0;
  1268. C->_last_ascii_code=0;
  1269. while (!(((_counter)>(3))||(((((T818*)C))->_cc/*24*/)==('\57')))) {
  1270. {int z1=(((T818*)C))->_cc/*24*/;
  1271.  
  1272. if(((48<=z1)&&(z1<=57))){
  1273. C->_last_ascii_code=(((((T818*)C))->_last_ascii_code/*61*/)*(10))+(r3value((((T818*)C))->_cc/*24*/));
  1274. }
  1275.  else{r818fcp(C,((T0*)ms21_818));
  1276. }}
  1277. _counter=(_counter)+(1);
  1278. r818next_char(C);
  1279. }
  1280. /*IF*/if ((_counter)==(0)) {
  1281. r818fcp(C,((T0*)ms22_818));
  1282. }
  1283.  else if ((_counter)>(3)) {
  1284. r818fcp(C,((T0*)ms23_818));
  1285. }
  1286. else {
  1287. }
  1288. /*FI*/}
  1289. /*No:EIFFEL_PARSER.fz_as*/
  1290. /*No:EIFFEL_PARSER.em5*/
  1291. /*No:EIFFEL_PARSER.fz_false*/
  1292. /*No:EIFFEL_PARSER.us_bit*/
  1293. /*No:EIFFEL_PARSER.em6*/
  1294. int r818a_current(T818* C){
  1295. int R=0;
  1296. /*IF*/if (r511is_current()) {
  1297. C->_last_expression=r511to_e_current(((T511*)(oBC818tmp_name)));
  1298. R=1;
  1299. }
  1300. /*FI*/return R;
  1301. }
  1302. void r818a_parent_list(T818* C,T0* a1,T0* a2){
  1303. T0* _list=NULL;
  1304. while (!(!(r818a_parent(C)))) {
  1305. /*IF*/if ((_list)==((void*)(NULL))) {
  1306. _list=se_ma26(1,(((T818*)C))->_last_parent/*149*/);
  1307. }
  1308. else {
  1309. r26add_last(((T26*)_list),(((T818*)C))->_last_parent/*149*/);
  1310. }
  1311. /*FI*/C->_ok=r818skip1(C,'\73');
  1312. /*[IRF3.3set_comment*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_comment)=(r818get_comments(C));
  1313. /*]*/
  1314. }
  1315. /*IF*/if (((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) {
  1316. /*IF*/if ((_list)==((void*)(NULL))) {
  1317. /*IF*/if (((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)==((void*)(NULL))) {
  1318. /*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(a2);
  1319. /*]*/
  1320. }
  1321. else {
  1322. r393append(((T393*)((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)),a2);
  1323. }
  1324. /*FI*/}
  1325. else {
  1326. r605set_parent_list(((T605*)((((T818*)C))->_last_base_class/*65*/)),a1,a2,_list);
  1327. }
  1328. /*FI*/}
  1329. /*FI*/}
  1330. /*No:EIFFEL_PARSER.em7*/
  1331. /*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/
  1332. void r818a_select_list(T818* C){
  1333. /*IF*/if (r818a_feature_list(C)) {
  1334. r877set_select(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/);
  1335. }
  1336. /*FI*/}
  1337. void r818err_exp(T0* a1,T0* a2){
  1338. T0* _msg=NULL;
  1339. {T7*n=malloc(sizeof(*n));
  1340. *n=M7;
  1341. r7make(n,0);
  1342. _msg=(T0*)n;
  1343. }
  1344. r7append(((T7*)_msg),((T0*)ms11_818));
  1345. r7append(((T7*)_msg),a2);
  1346. r7append(((T7*)_msg),((T0*)ms12_818));
  1347. r683add_position(a1);
  1348. /*[IRF3.6fatal_error*/{T0* b1=_msg;
  1349. r683fatal_error(((T683*)(oBC364eh)),b1);
  1350. }/*]*/
  1351. }
  1352. /*No:EIFFEL_PARSER.em8*/
  1353. /*No:EIFFEL_PARSER.last_boolean_constant*/
  1354. /*No:EIFFEL_PARSER.em9*/
  1355. T0* r818current_position(T818* C){
  1356. T0* R=NULL;
  1357. {T627*n=malloc(sizeof(*n));
  1358. *n=M627;
  1359. r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  1360. R=(T0*)n;
  1361. }
  1362. return R;
  1363. }
  1364. /*No:EIFFEL_PARSER.last_tag_mark*/
  1365. /*No:EIFFEL_PARSER.us_boolean*/
  1366. /*No:EIFFEL_PARSER.last_feature_name*/
  1367. /*No:EIFFEL_PARSER.us_eq*/
  1368. int r818a_free_operator(T818* C){
  1369. int R=0;
  1370. /*IF*/if ((((((((T818*)C))->_cc/*24*/)==('\100'))||(((((T818*)C))->_cc/*24*/)==('\43')))||(((((T818*)C))->_cc/*24*/)==('\174')))||(((((T818*)C))->_cc/*24*/)==('\46'))) {
  1371. R=1;
  1372. r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
  1373. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  1374. r7extend(((T7*)(oBC511tmp_string)),b1);
  1375. }/*]*/
  1376. r818next_char(C);
  1377. while (!((((((((T818*)C))->_cc/*24*/)==('\n'))||(((((T818*)C))->_cc/*24*/)==('\40')))||(((((T818*)C))->_cc/*24*/)==('\11')))||(((((T818*)C))->_cc/*24*/)==('\42')))) {
  1378. /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
  1379. r7extend(((T7*)(oBC511tmp_string)),b1);
  1380. }/*]*/
  1381. r818next_char(C);
  1382. }
  1383. r818skip_comments(C);
  1384. }
  1385. /*FI*/return R;
  1386. }
  1387. /*No:EIFFEL_PARSER.function_type*/
  1388. int r818a_then_part(T818* C,T0* a1){
  1389. int R=0;
  1390. T0* _expression=NULL;
  1391. /*IF*/if (r818a_expression(C)) {
  1392. R=1;
  1393. _expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C));
  1394. /*IF*/if (!(r818a_keyword(C,((T0*)ms46_470)))) {
  1395. /*[IRF3.6wcp*/{T818* C1=C;
  1396. T0* b1=((T0*)ms127_818);
  1397. r818warning(r818current_position(C1),b1);
  1398. }/*]*/
  1399. }
  1400. /*FI*/r530add_if_then(((T530*)a1),_expression,r818a_compound1(C,((T0*)ms128_818)));
  1401. }
  1402. /*FI*/return R;
  1403. }
  1404. /*No:EIFFEL_PARSER.us_xor*/
  1405. /*No:EIFFEL_PARSER.last_integer_constant*/
  1406. /*No:EIFFEL_PARSER.in_ensure*/
  1407. /*No:EIFFEL_PARSER.fz_frozen*/
  1408. /*No:EIFFEL_PARSER.ms_numbering*/
  1409. T0* r818a_clients(T818* C){
  1410. T0* R=NULL;
  1411. int _state=0;
  1412. T0* _list=NULL;
  1413. T0* _sp=NULL;
  1414. /*IF*/if (r818skip1(C,'\173')) {
  1415. {T627*n=malloc(sizeof(*n));
  1416. *n=M627;
  1417. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1418. _sp=(T0*)n;
  1419. }
  1420. while (!((_state)>(3))) {
  1421. {int z1=_state;
  1422.  
  1423. if((0==z1)){
  1424. /*IF*/if (r818a_base_class_name(C)) {
  1425. _list=se_ma901(1,(((T818*)C))->_last_class_name/*89*/);
  1426. _state=2;
  1427. }
  1428.  else if (r818skip1(C,'\175')) {
  1429. _state=4;
  1430. }
  1431.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  1432. /*[IRF3.6wcp*/{T818* C1=C;
  1433. T0* b1=((T0*)ms145_818);
  1434. r818warning(r818current_position(C1),b1);
  1435. }/*]*/
  1436. C->_ok=r818skip1(C,'\54');
  1437. }
  1438. else {
  1439. _state=3;
  1440. }
  1441. /*FI*/}
  1442.  else 
  1443. if((1==z1)){
  1444. /*IF*/if (r818a_base_class_name(C)) {
  1445. r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/);
  1446. _state=2;
  1447. }
  1448.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  1449. /*[IRF3.6wcp*/{T818* C1=C;
  1450. T0* b1=((T0*)ms145_818);
  1451. r818warning(r818current_position(C1),b1);
  1452. }/*]*/
  1453. C->_ok=r818skip1(C,'\54');
  1454. }
  1455.  else if (((((T818*)C))->_cc/*24*/)==('\175')) {
  1456. /*[IRF3.6wcp*/{T818* C1=C;
  1457. T0* b1=((T0*)ms56_818);
  1458. r818warning(r818current_position(C1),b1);
  1459. }/*]*/
  1460. C->_ok=r818skip1(C,'\175');
  1461. _state=4;
  1462. }
  1463. else {
  1464. _state=3;
  1465. }
  1466. /*FI*/}
  1467.  else 
  1468. if((2==z1)){
  1469. /*IF*/if (r818skip1(C,'\54')) {
  1470. _state=1;
  1471. }
  1472.  else if (r818skip1(C,'\175')) {
  1473. _state=4;
  1474. }
  1475.  else if (r818a_base_class_name(C)) {
  1476. r818warning((((T451*)((T451*)((((T818*)C))->_last_class_name/*89*/))))->_start_position/*4*/,((T0*)ms143_818));
  1477. r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/);
  1478. }
  1479. else {
  1480. _state=3;
  1481. }
  1482. /*FI*/}
  1483.  else{r818fcp(C,((T0*)ms149_818));
  1484. _state=4;
  1485. }}
  1486. }
  1487. {T636*n=malloc(sizeof(*n));
  1488. *n=M636;
  1489. r636make(n,_sp,_list);
  1490. R=(T0*)n;
  1491. }
  1492. }
  1493. else {
  1494. {T636*n=malloc(sizeof(*n));
  1495. *n=M636;
  1496. /*[IRF3.1omitted*//*]*/
  1497. R=(T0*)n;
  1498. }
  1499. }
  1500. /*FI*/return R;
  1501. }
  1502. int r818a_when_part(T818* C,T0* a1){
  1503. int R=0;
  1504. T0* _constant=NULL;
  1505. T0* _e_when=NULL;
  1506. int _state=0;
  1507. /*IF*/if (r818a_keyword(C,((T0*)ms52_470))) {
  1508. R=1;
  1509. {T843*n=malloc(sizeof(*n));
  1510. *n=M843;
  1511. r843make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C));
  1512. _e_when=(T0*)n;
  1513. }
  1514. while (!((_state)>(3))) {
  1515. {int z1=_state;
  1516.  
  1517. if((0==z1)){
  1518. /*IF*/if (r818a_constant(C)) {
  1519. _constant=(((T818*)C))->_last_expression/*97*/;
  1520. _state=1;
  1521. }
  1522.  else if (r818a_keyword(C,((T0*)ms46_470))) {
  1523. /*IF*/if ((_constant)!=((void*)(NULL))) {
  1524. r843add_value(((T843*)_e_when),_constant);
  1525. }
  1526. /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms132_818)));
  1527. /*]*/
  1528. r270add_when(((T270*)a1),_e_when);
  1529. _state=4;
  1530. }
  1531.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  1532. /*[IRF3.6wcp*/{T818* C1=C;
  1533. T0* b1=((T0*)ms145_818);
  1534. r818warning(r818current_position(C1),b1);
  1535. }/*]*/
  1536. C->_ok=r818skip1(C,'\54');
  1537. }
  1538. else {
  1539. r818fcp(C,((T0*)ms142_818));
  1540. _state=4;
  1541. }
  1542. /*FI*/}
  1543.  else 
  1544. if((1==z1)){
  1545. /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) {
  1546. /*IF*/if ((_constant)!=((void*)(NULL))) {
  1547. r843add_value(((T843*)_e_when),_constant);
  1548. }
  1549. /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms133_818)));
  1550. /*]*/
  1551. r270add_when(((T270*)a1),_e_when);
  1552. _state=4;
  1553. }
  1554.  else if (r818skip2(C,'\56','\56')) {
  1555. _state=2;
  1556. }
  1557.  else if (r818skip1(C,'\54')) {
  1558. r843add_value(((T843*)_e_when),_constant);
  1559. _constant=NULL;
  1560. _state=0;
  1561. }
  1562. else {
  1563. r818fcp(C,((T0*)ms142_818));
  1564. _state=4;
  1565. }
  1566. /*FI*/}
  1567.  else 
  1568. if((2==z1)){
  1569. /*IF*/if (r818a_constant(C)) {
  1570. r843add_slice(((T843*)_e_when),_constant,(((T818*)C))->_last_expression/*97*/);
  1571. _constant=NULL;
  1572. _state=3;
  1573. }
  1574. else {
  1575. r818fcp(C,((T0*)ms142_818));
  1576. _state=4;
  1577. }
  1578. /*FI*/}
  1579.  else{/*IF*/if (r818skip1(C,'\54')) {
  1580. _state=0;
  1581. }
  1582.  else if (r818a_keyword(C,((T0*)ms46_470))) {
  1583. /*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms134_818)));
  1584. /*]*/
  1585. r270add_when(((T270*)a1),_e_when);
  1586. _state=4;
  1587. }
  1588.  else if (r818a_constant(C)) {
  1589. _constant=(((T818*)C))->_last_expression/*97*/;
  1590. r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms143_818));
  1591. _state=1;
  1592. }
  1593. else {
  1594. r818fcp(C,((T0*)ms142_818));
  1595. _state=4;
  1596. }
  1597. /*FI*/}}
  1598. }
  1599. }
  1600. /*FI*/return R;
  1601. }
  1602. int r818a_feature_list(T818* C){
  1603. int R=0;
  1604. int _state=0;
  1605. C->_last_feature_list=NULL;
  1606. while (!((_state)>=(3))) {
  1607. {int z1=_state;
  1608.  
  1609. if((0==z1)){
  1610. /*IF*/if (r818a_feature_name(C)) {
  1611. C->_last_feature_list=se_ma855(1,(((T818*)C))->_last_feature_name/*109*/);
  1612. R=1;
  1613. _state=1;
  1614. }
  1615.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  1616. /*[IRF3.6wcp*/{T818* C1=C;
  1617. T0* b1=((T0*)ms145_818);
  1618. r818warning(r818current_position(C1),b1);
  1619. }/*]*/
  1620. C->_ok=r818skip1(C,'\54');
  1621. }
  1622. else {
  1623. _state=3;
  1624. }
  1625. /*FI*/}
  1626.  else 
  1627. if((1==z1)){
  1628. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) {
  1629. C->_ok=r818skip1(C,'\54');
  1630. _state=2;
  1631. }
  1632.  else if (r818a_feature_name(C)) {
  1633. r818warning(X776start_position((((T818*)C))->_last_feature_name/*109*/),((T0*)ms143_818));
  1634. r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/);
  1635. }
  1636. else {
  1637. _state=3;
  1638. }
  1639. /*FI*/}
  1640.  else {/*IF*/if (r818a_feature_name(C)) {
  1641. r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/);
  1642. _state=1;
  1643. }
  1644.  else if (((((T818*)C))->_cc/*24*/)==('\54')) {
  1645. /*[IRF3.6wcp*/{T818* C1=C;
  1646. T0* b1=((T0*)ms150_818);
  1647. r818warning(r818current_position(C1),b1);
  1648. }/*]*/
  1649. C->_ok=r818skip1(C,'\54');
  1650. }
  1651. else {
  1652. /*[IRF3.6ecp*/{T818* C1=C;
  1653. T0* b1=((T0*)ms140_818);
  1654. r818error(r818current_position(C1),b1);
  1655. }/*]*/
  1656. _state=3;
  1657. }
  1658. /*FI*/}}
  1659. }
  1660. return R;
  1661. }
  1662. /*No:EIFFEL_PARSER.set_case_insensitive*/
  1663. int r818a_instruction(T818* C){
  1664. int R=0;
  1665. R=(((((((r818a_check(C))||(r818a_debug(C)))||(r818a_conditional(C)))||(r818a_retry(C)))||(r818a_inspect(C)))||(r818a_loop(C)))||(r818a_creation(C)))||(r818a_assignment_or_call(C));
  1666. return R;
  1667. }
  1668. /*No:EIFFEL_PARSER.fz_is*/
  1669. /*No:EIFFEL_PARSER.fz_ensure*/
  1670. /*No:EIFFEL_PARSER.fz_indexing*/
  1671. /*No:EIFFEL_PARSER.us_not*/
  1672. int r818a_parent(T818* C){
  1673. int R=0;
  1674. /*IF*/if (r818a_class_type(C)) {
  1675. R=1;
  1676. {T877*n=malloc(sizeof(*n));
  1677. *n=M877;
  1678. r877make(n,(((T818*)C))->_last_class_type/*93*/);
  1679. C->_last_parent=(T0*)n;
  1680. }
  1681. /*IF*/if (r818a_keyword(C,((T0*)ms39_470))) {
  1682. r818a_rename_list(C);
  1683. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  1684. /*[IRF3.6wcp*/{T818* C1=C;
  1685. T0* b1=((T0*)ms108_818);
  1686. r818warning(r818current_position(C1),b1);
  1687. }/*]*/
  1688. C->_ok=r818skip1(C,'\73');
  1689. }
  1690. /*FI*/}
  1691. /*FI*/r818a_new_export_list(C);
  1692. /*IF*/if (r818a_keyword(C,((T0*)ms48_470))) {
  1693. r818a_undefine_list(C);
  1694. }
  1695. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms38_470))) {
  1696. r818a_redefine_list(C);
  1697. }
  1698. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms43_470))) {
  1699. r818a_select_list(C);
  1700. }
  1701. /*FI*//*IF*/if (((((r818a_keyword(C,((T0*)ms39_470)))||(r818a_keyword(C,((T0*)ms15_470))))||(r818a_keyword(C,((T0*)ms48_470))))||(r818a_keyword(C,((T0*)ms38_470))))||(r818a_keyword(C,((T0*)ms43_470)))) {
  1702. r683add_position(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1703. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms109_818);
  1704. r683fatal_error(((T683*)(oBC364eh)),b1);
  1705. }/*]*/
  1706. }
  1707. /*FI*/C->_ok=r818a_keyword(C,((T0*)ms12_470));
  1708. }
  1709. /*FI*/return R;
  1710. }
  1711. /*No:EIFFEL_PARSER.us_muls*/
  1712. /*No:EIFFEL_PARSER.last_ascii_code*/
  1713. /*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/
  1714. int r818a_prefix(T818* C){
  1715. int R=0;
  1716. /*IF*/if (r818a_keyword(C,((T0*)ms37_470))) {
  1717. R=1;
  1718. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) {
  1719. r818next_char(C);
  1720. }
  1721. else {
  1722. /*[IRF3.6wcp*/{T818* C1=C;
  1723. T0* b1=((T0*)ms110_818);
  1724. r818warning(r818current_position(C1),b1);
  1725. }/*]*/
  1726. }
  1727. /*FI*//*IF*/if (r818a_unary(C)) {
  1728. }
  1729.  else if (r818a_free_operator(C)) {
  1730. C->_last_prefix=r511to_prefix_name(((T511*)(oBC818tmp_name)));
  1731. }
  1732. else {
  1733. r818fcp(C,((T0*)ms111_818));
  1734. }
  1735. /*FI*//*IF*/if (!(r818skip1(C,'\42'))) {
  1736. /*[IRF3.6wcp*/{T818* C1=C;
  1737. T0* b1=((T0*)ms112_818);
  1738. r818warning(r818current_position(C1),b1);
  1739. }/*]*/
  1740. }
  1741. /*FI*/}
  1742. /*FI*/return R;
  1743. }
  1744. void r818error(T0* a1,T0* a2){
  1745. r683add_position(a1);
  1746. r683error(((T683*)(oBC364eh)),a2);
  1747. }
  1748. /*No:EIFFEL_PARSER.us_gt*/
  1749. /*No:EIFFEL_PARSER.fz_until*/
  1750. int r818a_e0(T818* C){
  1751. int R=0;
  1752. R=r818a_e1(C);
  1753. r818a_r1(C,(((T818*)C))->_last_expression/*97*/);
  1754. return R;
  1755. }
  1756. void r818a_class_declaration(T818* C){
  1757. T0* _al=NULL;
  1758. T0* _hc=NULL;
  1759. T0* _sp=NULL;
  1760. r818a_indexing(C);
  1761. /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) {
  1762. r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/)));
  1763. }
  1764. /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms14_470))) {
  1765. r605set_is_expanded(((T605*)((((T818*)C))->_last_base_class/*65*/)));
  1766. /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) {
  1767. r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/)));
  1768. }
  1769. /*FI*/}
  1770. /*FI*//*[IRF3.3set_heading_comment1*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment1)=(r818get_comments(C));
  1771. /*]*/
  1772. /*IF*/if (!(r818a_keyword(C,((T0*)ms5_470)))) {
  1773. r818fcp(C,((T0*)ms50_818));
  1774. }
  1775. /*FI*/r818a_base_class_name1(C);
  1776. r818a_formal_generic_list(C);
  1777. /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) {
  1778. /*IF*/if (r818a_manifest_string(C)) {
  1779. /*[IRF3.3set_obsolete_type_string*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_obsolete_type_string)=((((T818*)C))->_last_manifest_string/*145*/);
  1780. /*]*/
  1781. }
  1782. else {
  1783. r818fcp(C,((T0*)ms51_818));
  1784. }
  1785. /*FI*/}
  1786. /*FI*//*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(r818get_comments(C));
  1787. /*]*/
  1788. /*IF*/if (r818a_keyword(C,((T0*)ms24_470))) {
  1789. r818a_parent_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C));
  1790. }
  1791. /*FI*/while (!(!(r818a_keyword(C,((T0*)ms6_470))))) {
  1792. r818a_creation_clause(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
  1793. }
  1794. while (!(!(r818a_keyword(C,((T0*)ms18_470))))) {
  1795. r818a_feature_clause(C);
  1796. }
  1797. /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) {
  1798. {T627*n=malloc(sizeof(*n));
  1799. *n=M627;
  1800. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1801. _sp=(T0*)n;
  1802. }
  1803. _hc=r818get_comments(C);
  1804. _al=r818a_assertion(C);
  1805. r605set_invariant(((T605*)((((T818*)C))->_last_base_class/*65*/)),_sp,_hc,_al);
  1806. }
  1807. /*FI*//*IF*/if ((r818a_keyword(C,((T0*)ms12_470)))||(((((T818*)C))->_last_keyword/*113*/)==((void*)(((T0*)ms12_470))))) {
  1808. /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) {
  1809. /*[IRF3.6wcp*/{T818* C1=C;
  1810. T0* b1=((T0*)ms68_470);
  1811. r818warning(r818current_position(C1),b1);
  1812. }/*]*/
  1813. C->_ok=r818skip1(C,'\73');
  1814. }
  1815. /*FI*//*[IRF3.3set_end_comment*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_end_comment)=(r818get_comments(C));
  1816. /*]*/
  1817. /*IF*/if (((((T818*)C))->_cc/*24*/)!=('\0')) {
  1818. r818fcp(C,((T0*)ms52_818));
  1819. }
  1820. /*FI*/}
  1821. else {
  1822. r818fcp(C,((T0*)ms53_818));
  1823. }
  1824. /*FI*/}
  1825. int r818skip1(T818* C,char a1){
  1826. int R=0;
  1827. /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) {
  1828. C->_start_line=(((T818*)C))->_line/*16*/;
  1829. C->_start_column=(((T818*)C))->_column/*12*/;
  1830. R=1;
  1831. r818next_char(C);
  1832. r818skip_comments(C);
  1833. }
  1834. /*FI*/return R;
  1835. }
  1836. /*No:EIFFEL_PARSER.us_plus*/
  1837. void r818a_r1(T818* C,T0* a1){
  1838. T0* _sp=NULL;
  1839. T0* _infix_implies=NULL;
  1840. /*IF*/if (r818a_keyword(C,((T0*)ms34_473))) {
  1841. {T627*n=malloc(sizeof(*n));
  1842. *n=M627;
  1843. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1844. _sp=(T0*)n;
  1845. }
  1846. /*IF*/if (r818a_e1(C)) {
  1847. {T90*n=malloc(sizeof(*n));
  1848. *n=M90;
  1849. r90make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1850. _infix_implies=(T0*)n;
  1851. }
  1852. r818a_r1(C,_infix_implies);
  1853. }
  1854. else {
  1855. r818error(_sp,((T0*)ms119_818));
  1856. }
  1857. /*FI*/}
  1858. else {
  1859. C->_last_expression=a1;
  1860. }
  1861. /*FI*/}
  1862. int r818a_e1(T818* C){
  1863. int R=0;
  1864. R=r818a_e2(C);
  1865. r818a_r2(C,(((T818*)C))->_last_expression/*97*/);
  1866. return R;
  1867. }
  1868. /*No:EIFFEL_PARSER.last_type_formal_generic*/
  1869. /*No:EIFFEL_PARSER.em10*/
  1870. /*No:EIFFEL_PARSER.em20*/
  1871. int r818skip2(T818* C,char a1,char a2){
  1872. int R=0;
  1873. /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) {
  1874. C->_start_line=(((T818*)C))->_line/*16*/;
  1875. C->_start_column=(((T818*)C))->_column/*12*/;
  1876. r818next_char(C);
  1877. /*IF*/if ((a2)==((((T818*)C))->_cc/*24*/)) {
  1878. R=1;
  1879. r818next_char(C);
  1880. r818skip_comments(C);
  1881. }
  1882. else {
  1883. r818prev_char(C);
  1884. }
  1885. /*FI*/}
  1886. /*FI*/return R;
  1887. }
  1888. void r818a_r2(T818* C,T0* a1){
  1889. T0* _sp=NULL;
  1890. T0* _infix_xor=NULL;
  1891. T0* _infix_or=NULL;
  1892. T0* _infix_or_else=NULL;
  1893. /*IF*/if (r818a_keyword(C,((T0*)ms41_473))) {
  1894. {T627*n=malloc(sizeof(*n));
  1895. *n=M627;
  1896. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1897. _sp=(T0*)n;
  1898. }
  1899. /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
  1900. /*IF*/if (r818a_e2(C)) {
  1901. {T278*n=malloc(sizeof(*n));
  1902. *n=M278;
  1903. r278make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1904. _infix_or_else=(T0*)n;
  1905. }
  1906. r818a_r2(C,_infix_or_else);
  1907. }
  1908. else {
  1909. r818err_exp(_sp,((T0*)ms42_473));
  1910. }
  1911. /*FI*/}
  1912. else {
  1913. /*IF*/if (r818a_e2(C)) {
  1914. {T121*n=malloc(sizeof(*n));
  1915. *n=M121;
  1916. r121make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1917. _infix_or=(T0*)n;
  1918. }
  1919. r818a_r2(C,_infix_or);
  1920. }
  1921. else {
  1922. r818err_exp(_sp,((T0*)ms41_473));
  1923. }
  1924. /*FI*/}
  1925. /*FI*/}
  1926.  else if (r818a_keyword(C,((T0*)ms50_473))) {
  1927. {T627*n=malloc(sizeof(*n));
  1928. *n=M627;
  1929. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1930. _sp=(T0*)n;
  1931. }
  1932. /*IF*/if (r818a_e2(C)) {
  1933. {T760*n=malloc(sizeof(*n));
  1934. *n=M760;
  1935. r760make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1936. _infix_xor=(T0*)n;
  1937. }
  1938. r818a_r2(C,_infix_xor);
  1939. }
  1940. else {
  1941. r818err_exp(_sp,((T0*)ms50_473));
  1942. }
  1943. /*FI*/}
  1944. else {
  1945. C->_last_expression=a1;
  1946. }
  1947. /*FI*/}
  1948. int r818a_e2(T818* C){
  1949. int R=0;
  1950. R=r818a_e3(C);
  1951. r818a_r3(C,(((T818*)C))->_last_expression/*97*/);
  1952. return R;
  1953. }
  1954. /*No:EIFFEL_PARSER.em11*/
  1955. /*No:EIFFEL_PARSER.fz_expanded*/
  1956. void r818a_r3(T818* C,T0* a1){
  1957. T0* _sp=NULL;
  1958. T0* _infix_and=NULL;
  1959. T0* _infix_and_then=NULL;
  1960. /*IF*/if (r818a_keyword(C,((T0*)ms27_473))) {
  1961. {T627*n=malloc(sizeof(*n));
  1962. *n=M627;
  1963. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  1964. _sp=(T0*)n;
  1965. }
  1966. /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) {
  1967. /*IF*/if (r818a_e3(C)) {
  1968. {T655*n=malloc(sizeof(*n));
  1969. *n=M655;
  1970. r655make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1971. _infix_and_then=(T0*)n;
  1972. }
  1973. r818a_r3(C,_infix_and_then);
  1974. }
  1975. else {
  1976. r818err_exp(_sp,((T0*)ms28_473));
  1977. }
  1978. /*FI*/}
  1979. else {
  1980. /*IF*/if (r818a_e3(C)) {
  1981. {T313*n=malloc(sizeof(*n));
  1982. *n=M313;
  1983. r313make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  1984. _infix_and=(T0*)n;
  1985. }
  1986. r818a_r3(C,_infix_and);
  1987. }
  1988. else {
  1989. r818err_exp(_sp,((T0*)ms27_473));
  1990. }
  1991. /*FI*/}
  1992. /*FI*/}
  1993. else {
  1994. C->_last_expression=a1;
  1995. }
  1996. /*FI*/}
  1997. int r818a_e3(T818* C){
  1998. int R=0;
  1999. R=r818a_e4(C);
  2000. r818a_r4(C,(((T818*)C))->_last_expression/*97*/);
  2001. return R;
  2002. }
  2003. /*No:EIFFEL_PARSER.fz_class*/
  2004. /*No:EIFFEL_PARSER.last_base_class*/
  2005. /*No:EIFFEL_PARSER.fz_infix*/
  2006. /*No:EIFFEL_PARSER.em12*/
  2007. T0*oBC818forbidden_class=NULL;
  2008. /*No:EIFFEL_PARSER.us_lt*/
  2009. /*No:EIFFEL_PARSER.us_or*/
  2010. void r818a_r4(T818* C,T0* a1){
  2011. T0* _sp=NULL;
  2012. T0* _infix_gt=NULL;
  2013. T0* _infix_ge=NULL;
  2014. T0* _infix_lt=NULL;
  2015. T0* _infix_le=NULL;
  2016. T0* _infix_neq=NULL;
  2017. T0* _infix_eq=NULL;
  2018. /*IF*/if (r818skip1(C,'\75')) {
  2019. {T627*n=malloc(sizeof(*n));
  2020. *n=M627;
  2021. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2022. _sp=(T0*)n;
  2023. }
  2024. /*IF*/if (r818a_e4(C)) {
  2025. {T999*n=malloc(sizeof(*n));
  2026. *n=M999;
  2027. r999make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  2028. _infix_eq=(T0*)n;
  2029. }
  2030. r818a_r4(C,_infix_eq);
  2031. }
  2032. else {
  2033. r818err_exp(_sp,((T0*)ms31_473));
  2034. }
  2035. /*FI*/}
  2036.  else if (r818skip2(C,'\57','\75')) {
  2037. {T627*n=malloc(sizeof(*n));
  2038. *n=M627;
  2039. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2040. _sp=(T0*)n;
  2041. }
  2042. /*IF*/if (r818a_e4(C)) {
  2043. {T517*n=malloc(sizeof(*n));
  2044. *n=M517;
  2045. r517make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  2046. _infix_neq=(T0*)n;
  2047. }
  2048. r818a_r4(C,_infix_neq);
  2049. }
  2050. else {
  2051. r818err_exp(_sp,((T0*)ms39_473));
  2052. }
  2053. /*FI*/}
  2054.  else if (r818skip2(C,'\74','\75')) {
  2055. {T627*n=malloc(sizeof(*n));
  2056. *n=M627;
  2057. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2058. _sp=(T0*)n;
  2059. }
  2060. /*IF*/if (r818a_e4(C)) {
  2061. {T932*n=malloc(sizeof(*n));
  2062. *n=M932;
  2063. r932make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  2064. _infix_le=(T0*)n;
  2065. }
  2066. r818a_r4(C,_infix_le);
  2067. }
  2068. else {
  2069. r818err_exp(_sp,((T0*)ms35_473));
  2070. }
  2071. /*FI*/}
  2072.  else if (r818skip2(C,'\76','\75')) {
  2073. {T627*n=malloc(sizeof(*n));
  2074. *n=M627;
  2075. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2076. _sp=(T0*)n;
  2077. }
  2078. /*IF*/if (r818a_e4(C)) {
  2079. {T890*n=malloc(sizeof(*n));
  2080. *n=M890;
  2081. r890make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  2082. _infix_ge=(T0*)n;
  2083. }
  2084. r818a_r4(C,_infix_ge);
  2085. }
  2086. else {
  2087. r818err_exp(_sp,((T0*)ms32_473));
  2088. }
  2089. /*FI*/}
  2090.  else if (r818skip1(C,'\74')) {
  2091. {T627*n=malloc(sizeof(*n));
  2092. *n=M627;
  2093. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2094. _sp=(T0*)n;
  2095. }
  2096. /*IF*/if (r818a_e4(C)) {
  2097. {T112*n=malloc(sizeof(*n));
  2098. *n=M112;
  2099. r112make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  2100. _infix_lt=(T0*)n;
  2101. }
  2102. r818a_r4(C,_infix_lt);
  2103. }
  2104. else {
  2105. r818err_exp(_sp,((T0*)ms36_473));
  2106. }
  2107. /*FI*/}
  2108.  else if (r818skip1unless2(C,'\76','\76')) {
  2109. {T627*n=malloc(sizeof(*n));
  2110. *n=M627;
  2111. r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
  2112. _sp=(T0*)n;
  2113. }
  2114. /*IF*/if (r818a_e4(C)) {
  2115. {T57*n=malloc(sizeof(*n));
  2116. *n=M57;
  2117. r57make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
  2118. _infix_gt=(T0*)n;
  2119. }
  2120. r818a_r4(C,_infix_gt);
  2121. }
  2122. else {
  2123. r818err_exp(_sp,((T0*)ms33_473));
  2124. }
  2125. /*FI*/}
  2126. else {
  2127. C->_last_expression=a1;
  2128. }
  2129. /*FI*/}
  2130. int r818a_e4(T818* C){
  2131. int R=0;
  2132. R=r818a_e5(C);
  2133. r818a_r5(C,(((T818*)C))->_last_expression/*97*/);
  2134. return R;
  2135. }
  2136. /*No:EIFFEL_PARSER.us_any*/
  2137. /*No:EIFFEL_PARSER.em13*/
  2138. /*No:EIFFEL_PARSER.current_class_name*/
  2139. /*No:EIFFEL_PARSER.fz_strip*/
  2140. /*No:SHORT_PRINT.dos_system*/
  2141. /*No:SHORT_PRINT.fz_system_se*/
  2142. T0*oBC580tmp_hook_path=NULL;
  2143. /*No:SHORT_PRINT.fz_sys*/
  2144. T0*oBC580tmp_hook=NULL;
  2145. void r580a_run_feature(T580* C,T0* a1){
  2146. T0* _ea=NULL;
  2147. T0* _rr=NULL;
  2148. T0* _hc=NULL;
  2149. T0* _rt=NULL;
  2150. T0* _args=NULL;
  2151. r580hook_or(C,((T0*)ms35_580),((T0*)ms36_580));
  2152. X776short(/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/));
  2153. _args=/*X496*/((T0*)(((T808*)((T808*)a1)))->_arguments/*20*/);
  2154. /*IF*/if ((_args)==((void*)(NULL))) {
  2155. r580hook_or(C,((T0*)ms37_580),((T0*)ms38_580));
  2156. }
  2157. else {
  2158. r31short(((T31*)_args));
  2159. }
  2160. /*FI*/_rt=/*X496*/((T0*)(((T808*)((T808*)a1)))->_result_type/*24*/);
  2161. /*IF*/if ((_rt)==((void*)(NULL))) {
  2162. r580hook_or(C,((T0*)ms39_580),((T0*)ms40_580));
  2163. }
  2164. else {
  2165. r580hook_or(C,((T0*)ms41_580),((T0*)ms42_580));
  2166. X291short(_rt);
  2167. r580hook_or(C,((T0*)ms43_580),((T0*)ms44_580));
  2168. }
  2169. /*FI*/_hc=/*X359*/((T0*)(((T398*)((T398*)(X496base_feature(a1)))))->_header_comment/*16*/);
  2170. /*IF*/if ((_hc)!=((void*)(NULL))) {
  2171. r580hook(C,((T0*)ms45_580));
  2172. r393short(((T393*)_hc),((T0*)ms46_580),((T0*)ms47_580),((T0*)ms48_580),((T0*)ms49_580));
  2173. r580hook(C,((T0*)ms50_580));
  2174. }
  2175. else {
  2176. r580hook(C,((T0*)ms51_580));
  2177. }
  2178. /*FI*/_rr=/*X496*/((T0*)(((T808*)((T808*)a1)))->_require_assertion/*28*/);
  2179. /*IF*/if ((_rr)==((void*)(NULL))) {
  2180. r580hook(C,((T0*)ms52_580));
  2181. }
  2182. else {
  2183. r541short(((T541*)_rr));
  2184. }
  2185. /*FI*/_ea=X496ensure_assertion(a1);
  2186. /*IF*/if ((_ea)==((void*)(NULL))) {
  2187. r580hook_or(C,((T0*)ms53_580),((T0*)ms54_580));
  2188. }
  2189. else {
  2190. r633short(((T633*)_ea));
  2191. }
  2192. /*FI*/r580hook_or(C,((T0*)ms55_580),((T0*)ms56_580));
  2193. }
  2194. void r580a_infix_name(T580* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  2195. T0* _str=NULL;
  2196. int _i=0;
  2197. r580hook_or(C,a1,a2);
  2198. _str=(((T454*)((T454*)a5)))->_to_string/*4*/;
  2199. /*IF*/if ((((T0*)ms30_473))==((void*)(_str))) {
  2200. r580hook_or(C,((T0*)ms61_580),((T0*)ms30_473));
  2201. }
  2202. else {
  2203. _i=1;
  2204. while (!((_i)>((((T7*)((T7*)_str)))->_count/*4*/))) {
  2205. /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output));
  2206. char b1=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  2207. putc(b1,((FILE*)(stdout)));
  2208. }/*]*/
  2209. _i=(_i)+(1);
  2210. }
  2211. }
  2212. /*FI*/r580hook_or(C,a3,a4);
  2213. }
  2214. /*No:SHORT_PRINT.a_character*/
  2215. T0*oBC364tmp_file_read=NULL;
  2216. /*No:SHORT_PRINT.unix_system*/
  2217. void r580start(T580* C,T0* a1,T0* a2,T0* a3){
  2218. T0* _fgl=NULL;
  2219. T0* _hc2=NULL;
  2220. C->_base_class=a2;
  2221. C->_run_class=a3;
  2222. C->_format_directory=r7twin(((T7*)(r580small_eiffel_directory(C))));
  2223. r580add_directory(C,(((T580*)C))->_format_directory/*0*/,((T0*)ms1_580));
  2224. r580add_directory(C,(((T580*)C))->_format_directory/*0*/,a1);
  2225. r580hook(C,((T0*)ms2_580));
  2226. /*IF*/if ((((T605*)((T605*)a2)))->_is_expanded/*20*/) {
  2227. r580hook_or(C,((T0*)ms3_580),((T0*)ms4_580));
  2228. }
  2229.  else if ((((T605*)((T605*)a2)))->_is_deferred/*16*/) {
  2230. r580hook_or(C,((T0*)ms5_580),((T0*)ms6_580));
  2231. }
  2232. else {
  2233. r580hook_or(C,((T0*)ms7_580),((T0*)ms8_580));
  2234. }
  2235. /*FI*/r580hook(C,((T0*)ms9_580));
  2236. r580a_class_name(C,(((T605*)((T605*)a2)))->_base_class_name/*24*/);
  2237. _fgl=(((T605*)((T605*)a2)))->_formal_generic_list/*28*/;
  2238. /*IF*/if ((_fgl)!=((void*)(NULL))) {
  2239. r881short(((T881*)_fgl));
  2240. }
  2241. /*FI*/r580hook_or(C,((T0*)ms10_580),((T0*)ms11_580));
  2242. _hc2=(((T605*)((T605*)a2)))->_heading_comment2/*32*/;
  2243. /*IF*/if ((_hc2)!=((void*)(NULL))) {
  2244. r580hook(C,((T0*)ms12_580));
  2245. r393short(((T393*)_hc2),((T0*)ms13_580),((T0*)ms14_580),((T0*)ms15_580),((T0*)ms16_580));
  2246. r580hook(C,((T0*)ms17_580));
  2247. }
  2248. else {
  2249. r580hook(C,((T0*)ms18_580));
  2250. }
  2251. /*FI*/}
  2252. /*No:SHORT_PRINT.us_backslash_backslash*/
  2253. /*No:SHORT_PRINT.exit_failure_code*/
  2254. /*No:SHORT_PRINT.vms_system*/
  2255. int fBC364small_eiffel_directory=0;
  2256. T0*oBC364small_eiffel_directory=NULL;
  2257. T0* r580small_eiffel_directory(T580* C){
  2258. if (fBC364small_eiffel_directory==0){
  2259. T0* R=NULL;
  2260. char _slash=0;
  2261. int _i=0;
  2262. fBC364small_eiffel_directory=1;
  2263. R=r580get_environment_variable(C,((T0*)ms121_470));
  2264. /*IF*/if ((R)==((void*)(NULL))) {
  2265. R=r7twin(((T7*)(((T0*)ms121_470))));
  2266. r7to_upper(((T7*)R));
  2267. R=r580get_environment_variable(C,R);
  2268. /*IF*/if ((R)!=((void*)(NULL))) {
  2269. r7to_upper(((T7*)(((T0*)ms121_470))));
  2270. }
  2271. /*FI*/}
  2272. /*FI*//*IF*/if ((R)==((void*)(NULL))) {
  2273. R=((T0*)ms1_364);
  2274. }
  2275. /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/;
  2276. while (!((_i)<(0))) {
  2277. _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  2278. /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) {
  2279. _i=(_i)-(1);
  2280. }
  2281. else {
  2282. _i=-(1);
  2283. }
  2284. /*FI*/}
  2285. /*IF*/if ((_i)==(0)) {
  2286. r7extend(((T7*)R),'\57');
  2287. }
  2288.  else if (!((r7last(((T7*)R)))==(_slash))) {
  2289. r7extend(((T7*)R),_slash);
  2290. }
  2291. /*FI*/oBC364small_eiffel_directory=R;}
  2292. return oBC364small_eiffel_directory;}
  2293. void r580hook_or(T580* C,T0* a1,T0* a2){
  2294. /*IF*/if (r580hook_exists(C,a1)) {
  2295. r675read_character(((T675*)(oBC580tmp_hook)));
  2296. while (!(r675end_of_input(((T675*)(oBC580tmp_hook))))) {
  2297. /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output));
  2298. char b1=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC580tmp_hook))))->_memory/*12*/))/*)*/;
  2299. putc(b1,((FILE*)(stdout)));
  2300. }/*]*/
  2301. r675read_character(((T675*)(oBC580tmp_hook)));
  2302. }
  2303. r675disconnect(((T675*)(oBC580tmp_hook)));
  2304. }
  2305. else {
  2306. r830put_string(((T830*)(oBC1std_output)),a2);
  2307. }
  2308. /*FI*/}
  2309. /*No:SHORT_PRINT.amiga_system*/
  2310. /*No:SHORT_PRINT.make*/
  2311. /*No:SHORT_PRINT.format_directory*/
  2312. void r580finish(T580* C){
  2313. T0* _ci=NULL;
  2314. T0* _fgl=NULL;
  2315. _ci=(((T368*)((T368*)((((T580*)C))->_run_class/*8*/))))->_invariant_assertion/*16*/;
  2316. /*IF*/if ((_ci)==((void*)(NULL))) {
  2317. r580hook(C,((T0*)ms19_580));
  2318. }
  2319. else {
  2320. r673short(((T673*)_ci),(((T580*)C))->_base_class/*4*/);
  2321. }
  2322. /*FI*/r580hook(C,((T0*)ms20_580));
  2323. /*IF*/if ((((T605*)((T605*)((((T580*)C))->_base_class/*4*/))))->_is_expanded/*20*/) {
  2324. r580hook_or(C,((T0*)ms21_580),((T0*)ms22_580));
  2325. }
  2326.  else if ((((T605*)((T605*)((((T580*)C))->_base_class/*4*/))))->_is_deferred/*16*/) {
  2327. r580hook_or(C,((T0*)ms23_580),((T0*)ms24_580));
  2328. }
  2329. else {
  2330. r580hook_or(C,((T0*)ms25_580),((T0*)ms26_580));
  2331. }
  2332. /*FI*/r580hook(C,((T0*)ms27_580));
  2333. r580a_class_name(C,(((T605*)((T605*)((((T580*)C))->_base_class/*4*/))))->_base_class_name/*24*/);
  2334. _fgl=(((T605*)((T605*)((((T580*)C))->_base_class/*4*/))))->_formal_generic_list/*28*/;
  2335. /*IF*/if ((_fgl)!=((void*)(NULL))) {
  2336. r881short(((T881*)_fgl));
  2337. }
  2338. /*FI*/r580hook_or(C,((T0*)ms28_580),((T0*)ms29_580));
  2339. r580hook(C,((T0*)ms30_580));
  2340. }
  2341. void r580a_base_type_constant(T580* C,T0* a1){
  2342. char _c=0;
  2343. int _i=0;
  2344. _i=1;
  2345. while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
  2346. _c=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  2347. /*IF*/if ((_c)==('\56')) {
  2348. r580hook_or(C,((T0*)ms62_580),((T0*)ms63_580));
  2349. }
  2350. else {
  2351. /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output));
  2352. char b1=_c;
  2353. putc(b1,((FILE*)(stdout)));
  2354. }/*]*/
  2355. }
  2356. /*FI*/_i=(_i)+(1);
  2357. }
  2358. }
  2359. void r580hook(T580* C,T0* a1){
  2360. /*IF*/if (r580hook_exists(C,a1)) {
  2361. r675read_character(((T675*)(oBC580tmp_hook)));
  2362. while (!(r675end_of_input(((T675*)(oBC580tmp_hook))))) {
  2363. /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output));
  2364. char b1=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC580tmp_hook))))->_memory/*12*/))/*)*/;
  2365. putc(b1,((FILE*)(stdout)));
  2366. }/*]*/
  2367. r675read_character(((T675*)(oBC580tmp_hook)));
  2368. }
  2369. r675disconnect(((T675*)(oBC580tmp_hook)));
  2370. }
  2371. /*FI*/}
  2372. void r580add_directory(T580* C,T0* a1,T0* a2){
  2373. /*IF*/if ((((T0*)ms17_364))==((void*)(r580system_name(C)))) {
  2374. r7set_last(((T7*)a1),'\57');
  2375. r7append(((T7*)a1),a2);
  2376. r7set_last(((T7*)a1),'\57');
  2377. }
  2378.  else if ((((T0*)ms19_364))==((void*)(r580system_name(C)))) {
  2379. r7set_last(((T7*)a1),'\134');
  2380. r7append(((T7*)a1),a2);
  2381. r7set_last(((T7*)a1),'\134');
  2382. }
  2383.  else if ((((T0*)ms15_364))==((void*)(r580system_name(C)))) {
  2384. r7set_last(((T7*)a1),'\72');
  2385. r7append(((T7*)a1),a2);
  2386. r7set_last(((T7*)a1),'\72');
  2387. }
  2388.  else if ((((T0*)ms14_364))==((void*)(r580system_name(C)))) {
  2389. r7set_last(((T7*)a1),'\134');
  2390. r7append(((T7*)a1),a2);
  2391. r7set_last(((T7*)a1),'\134');
  2392. }
  2393.  else if ((((T0*)ms16_364))==((void*)(r580system_name(C)))) {
  2394. r7set_last(((T7*)a1),'\134');
  2395. r7append(((T7*)a1),a2);
  2396. r7set_last(((T7*)a1),'\134');
  2397. }
  2398.  else if ((((T0*)ms13_364))==((void*)(r580system_name(C)))) {
  2399. r7set_last(((T7*)a1),'\57');
  2400. r7append(((T7*)a1),a2);
  2401. r7set_last(((T7*)a1),'\57');
  2402. }
  2403.  else if ((((T0*)ms18_364))==((void*)(r580system_name(C)))) {
  2404. r7set_last(((T7*)a1),'\135');
  2405. r7remove_last(((T7*)a1),1);
  2406. r7set_last(((T7*)a1),'\56');
  2407. r7append(((T7*)a1),a2);
  2408. r7set_last(((T7*)a1),'\135');
  2409. }
  2410. /*FI*/}
  2411. T0*oBC1std_output=NULL;
  2412. /*No:SHORT_PRINT.windows_system*/
  2413. T0* r580get_environment_variable(T580* C,T0* a1){
  2414. T0* R=NULL;
  2415. void* _p=0;
  2416. _p=r7to_external(((T7*)a1));
  2417. R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
  2418. return R;
  2419. }
  2420. void r580a_prefix_name(T580* C,T0* a1){
  2421. T0* _str=NULL;
  2422. char _c=0;
  2423. int _i=0;
  2424. _str=(((T406*)((T406*)a1)))->_to_string/*4*/;
  2425. _i=1;
  2426. while (!((_i)>((((T7*)((T7*)_str)))->_count/*4*/))) {
  2427. _c=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  2428. /*IF*/if ((_c)==('\137')) {
  2429. r580hook_or(C,((T0*)ms59_580),((T0*)ms60_580));
  2430. }
  2431. else {
  2432. /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output));
  2433. char b1=_c;
  2434. putc(b1,((FILE*)(stdout)));
  2435. }/*]*/
  2436. }
  2437. /*FI*/_i=(_i)+(1);
  2438. }
  2439. /*[IRF3.6a_character*/{char b1='\40';
  2440. /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output));
  2441. char c1=b1;
  2442. putc(c1,((FILE*)(stdout)));
  2443. }/*]*/
  2444. }/*]*/
  2445. }
  2446. T0*oBC364system_list=NULL;
  2447. int fBC364system_name=0;
  2448. T0*oBC364system_name=NULL;
  2449. T0* r580system_name(T580* C){
  2450. if (fBC364system_name==0){
  2451. T0* R=NULL;
  2452. int _i=0;
  2453. fBC364system_name=1;
  2454. r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C));
  2455. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) {
  2456. r7set_last(((T7*)(oBC364tmp_path)),'\57');
  2457. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  2458. r7extend(((T7*)(oBC364tmp_path)),'\57');
  2459. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  2460. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  2461. }
  2462. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  2463. r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C));
  2464. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) {
  2465. r7set_last(((T7*)(oBC364tmp_path)),'\134');
  2466. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  2467. r7extend(((T7*)(oBC364tmp_path)),'\134');
  2468. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  2469. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  2470. }
  2471. /*FI*/}
  2472. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  2473. r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C));
  2474. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) {
  2475. r7set_last(((T7*)(oBC364tmp_path)),'\72');
  2476. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  2477. r7extend(((T7*)(oBC364tmp_path)),'\72');
  2478. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  2479. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  2480. }
  2481. /*FI*/}
  2482. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  2483. r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C));
  2484. /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) {
  2485. r7set_last(((T7*)(oBC364tmp_path)),'\135');
  2486. r7remove_last(((T7*)(oBC364tmp_path)),1);
  2487. r7extend(((T7*)(oBC364tmp_path)),'\56');
  2488. r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
  2489. r7extend(((T7*)(oBC364tmp_path)),'\135');
  2490. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  2491. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  2492. }
  2493. /*FI*/}
  2494. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  2495. r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C));
  2496. r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
  2497. r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
  2498. }
  2499. /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
  2500. r306w_put_string(((T0*)ms20_364));
  2501. r306w_put_string(((T0*)ms127_470));
  2502. r306w_put_string(((T0*)ms21_364));
  2503. r306w_put_string(r580small_eiffel_directory(C));
  2504. r306w_put_string(((T0*)ms242_470));
  2505. exit(1);
  2506. }
  2507. /*FI*/r675read_line(((T675*)(oBC364tmp_file_read)));
  2508. R=oBC762last_string;
  2509. _i=r52index_of(((T52*)(oBC364system_list)),R);
  2510. r675disconnect(((T675*)(oBC364tmp_file_read)));
  2511. /*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) {
  2512. r306w_put_string(((T0*)ms22_364));
  2513. r306w_put_string(oBC364tmp_path);
  2514. r306w_put_string(((T0*)ms23_364));
  2515. _i=1;
  2516. while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) {
  2517. r306w_put_string(r52item(((T52*)(oBC364system_list)),_i));
  2518. r306w_put_character('\n');
  2519. _i=(_i)+(1);
  2520. }
  2521. }
  2522. else {
  2523. R=r52item(((T52*)(oBC364system_list)),_i);
  2524. r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364));
  2525. r306put_string(((T306*)(oBC364echo)),R);
  2526. r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470));
  2527. }
  2528. /*FI*/oBC364system_name=R;}
  2529. return oBC364system_name;}
  2530. /*No:SHORT_PRINT.fz_b0*/
  2531. T0*oBC364tmp_path=NULL;
  2532. void r580a_integer(int a1){
  2533. int _i=0;
  2534. char _c=0;
  2535. T0* _s=NULL;
  2536. _s=((T0*)ms57_580);
  2537. /*[IRF3.3clear*/((((T7*)(((T7*)_s))))->_count)=(0);
  2538. /*]*/
  2539. r2append_in(a1,_s);
  2540. _i=1;
  2541. while (!((_i)>((((T7*)((T7*)_s)))->_count/*4*/))) {
  2542. _c=/*(IRF4.6item*/((((T7*)((T7*)_s)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  2543. /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output));
  2544. char b1=_c;
  2545. putc(b1,((FILE*)(stdout)));
  2546. }/*]*/
  2547. _i=(_i)+(1);
  2548. }
  2549. }
  2550. /*No:SHORT_PRINT.fz_se*/
  2551. /*No:SHORT_PRINT.os2_system*/
  2552. void r580a_feature(T580* C,T0* a1){
  2553. T0* _rf=NULL;
  2554. _rf=r368get_feature(((T368*)((((T580*)C))->_run_class/*8*/)),a1);
  2555. r580a_run_feature(C,_rf);
  2556. }
  2557. /*No:SHORT_PRINT.run_class*/
  2558. /*No:SHORT_PRINT.a_dot*/
  2559. /*No:SHORT_PRINT.macintosh_system*/
  2560. /*No:SHORT_PRINT.fz_dot*/
  2561. int r580hook_exists(T580* C,T0* a1){
  2562. int R=0;
  2563. r7copy(((T7*)(oBC580tmp_hook_path)),(((T580*)C))->_format_directory/*0*/);
  2564. r7append(((T7*)(oBC580tmp_hook_path)),a1);
  2565. r675connect_to(((T675*)(oBC580tmp_hook)),oBC580tmp_hook_path);
  2566. R=/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC580tmp_hook))))->_path/*4*/)!=(NULL)/*)*/;
  2567. return R;
  2568. }
  2569. /*No:SHORT_PRINT.base_class*/
  2570. void r580a_class_name(T580* C,T0* a1){
  2571. T0* _str=NULL;
  2572. char _c=0;
  2573. int _i=0;
  2574. r580hook(C,((T0*)ms31_580));
  2575. _str=(((T451*)((T451*)a1)))->_to_string/*0*/;
  2576. _i=1;
  2577. while (!((_i)>((((T7*)((T7*)_str)))->_count/*4*/))) {
  2578. _c=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(_i)-(1)]/*)*/;
  2579. /*IF*/if ((_c)==('\137')) {
  2580. r580hook_or(C,((T0*)ms32_580),((T0*)ms33_580));
  2581. }
  2582. else {
  2583. /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output));
  2584. char b1=_c;
  2585. putc(b1,((FILE*)(stdout)));
  2586. }/*]*/
  2587. }
  2588. /*FI*/_i=(_i)+(1);
  2589. }
  2590. r580hook(C,((T0*)ms34_580));
  2591. }
  2592.  
  2593.