home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / dev / ppcsmalleiffel / source.lha / bin_c / compile_to_c40.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  21.5 KB  |  805 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 "compile_to_c.h"
  9. void r883make_e_feature(T883* C,T0* a1,T0* a2){
  10. C->_names=a1;
  11. C->_result_type=a2;
  12. }
  13. void r883check_obsolete(T883* C){
  14. /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
  15. /*IF*/if (((((T883*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) {
  16. /*[IRF3.6append*/{T0* b1=((T0*)ms7_368);
  17. r7append(((T7*)(oBC683explanation)),b1);
  18. }/*]*/
  19. /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T883*)C))->_obsolete_mark/*28*/))))->_to_string/*16*/;
  20. r7append(((T7*)(oBC683explanation)),b1);
  21. }/*]*/
  22. r883warning(r883start_position(C),((T0*)ms137_470));
  23. }
  24. /*FI*/}
  25. /*FI*/}
  26. void r883warning(T0* a1,T0* a2){
  27. r683add_position(a1);
  28. r683warning(((T683*)(oBC364eh)),a2);
  29. }
  30. /*No:CALL_INFIX_AND_THEN.arguments*/
  31. T0* r655add_comment(T655* C,T0* a1){
  32. T0* R=NULL;
  33. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  34. R=(T0*)C;
  35. }
  36. else {
  37. {T529*n=malloc(sizeof(*n));
  38. *n=M529;
  39. r529make(n,(T0*)C,a1);
  40. R=(T0*)n;
  41. }
  42. }
  43. /*FI*/return R;
  44. }
  45. int r655to_integer(T655* C){
  46. int R=0;
  47. r655error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T655*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  48. return R;
  49. }
  50. int r655is_a(T655* C,T0* a1){
  51. int R=0;
  52. R=X291is_a(X291run_type((((T655*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
  53. /*IF*/if (!(R)) {
  54. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T655*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
  55. r655error(X662start_position(a1),((T0*)ms4_662));
  56. }
  57. /*FI*/return R;
  58. }
  59. /*No:CALL_INFIX_AND_THEN.is_current*/
  60. void r655mapping_c_arg(T655* C,T0* a1){
  61. T0* _actual_type=NULL;
  62. _actual_type=X291run_type((((T655*)C))->_result_type/*20*/);
  63. /*IF*/if (X291is_reference(_actual_type)) {
  64. /*IF*/if (X291is_reference(a1)) {
  65. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  66. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  67. }/*]*/
  68. /*]*/
  69. }
  70. else {
  71. X291to_expanded(_actual_type);
  72. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  73. char b1='\50';
  74. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  75. }/*]*/
  76. /*]*/
  77. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  78. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  79. }/*]*/
  80. /*]*/
  81. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  82. char b1='\51';
  83. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  84. }/*]*/
  85. /*]*/
  86. }
  87. /*FI*/}
  88. else {
  89. /*IF*/if (X291is_reference(a1)) {
  90. X291to_reference(_actual_type);
  91. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  92. char b1='\50';
  93. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  94. }/*]*/
  95. /*]*/
  96. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  97. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  98. }/*]*/
  99. /*]*/
  100. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  101. char b1='\51';
  102. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  103. }/*]*/
  104. /*]*/
  105. }
  106. else {
  107. /*IF*/if (X291need_c_struct(a1)) {
  108. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  109. char b1='\46';
  110. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  111. }/*]*/
  112. /*]*/
  113. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  114. char b1='\50';
  115. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  116. }/*]*/
  117. /*]*/
  118. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  119. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  120. }/*]*/
  121. /*]*/
  122. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  123. char b1='\51';
  124. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  125. }/*]*/
  126. /*]*/
  127. }
  128. else {
  129. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  130. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  131. }/*]*/
  132. /*]*/
  133. }
  134. /*FI*/}
  135. /*FI*/}
  136. /*FI*/}
  137. /*No:CALL_INFIX_AND_THEN.us_and_then*/
  138. /*No:CALL_INFIX_AND_THEN.static_value*/
  139. void r655make(T655* C,T0* a1,T0* a2,T0* a3){
  140. T0* _eal=NULL;
  141. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  142. r683add_position(a2);
  143. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  144. r683fatal_error(((T683*)(oBC364eh)),b1);
  145. }/*]*/
  146. }
  147. /*FI*/{T454*n=malloc(sizeof(*n));
  148. *n=M454;
  149. r454make(n,r655operator(),a2);
  150. C->_feature_name=(T0*)n;
  151. }
  152. {T431*n=malloc(sizeof(*n));
  153. *n=M431;
  154. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  155. /*]*/
  156. _eal=(T0*)n;
  157. }
  158. r655make_call_1(C,a1,(((T655*)C))->_feature_name/*28*/,_eal);
  159. }
  160. void r655mapping_c_target(T655* C,T0* a1){
  161. T0* _actual_type=NULL;
  162. int _flag=0;
  163. _flag=r324call_invariant_start(a1);
  164. _actual_type=X291run_type((((T655*)C))->_result_type/*20*/);
  165. /*IF*/if (X291is_reference(_actual_type)) {
  166. /*IF*/if (X291is_reference(a1)) {
  167. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  168. char b1='\50';
  169. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  170. }/*]*/
  171. /*]*/
  172. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  173. char b1='\50';
  174. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  175. }/*]*/
  176. /*]*/
  177. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  178. char b1='T';
  179. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  180. }/*]*/
  181. /*]*/
  182. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  183. /*]*/
  184. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  185. char b1='\52';
  186. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  187. }/*]*/
  188. /*]*/
  189. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  190. char b1='\51';
  191. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  192. }/*]*/
  193. /*]*/
  194. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  195. char b1='\50';
  196. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  197. }/*]*/
  198. /*]*/
  199. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  200. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  201. }/*]*/
  202. /*]*/
  203. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  204. char b1='\51';
  205. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  206. }/*]*/
  207. /*]*/
  208. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  209. char b1='\51';
  210. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  211. }/*]*/
  212. /*]*/
  213. }
  214. else {
  215. X291to_expanded(_actual_type);
  216. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  217. char b1='\50';
  218. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  219. }/*]*/
  220. /*]*/
  221. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  222. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  223. }/*]*/
  224. /*]*/
  225. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  226. char b1='\51';
  227. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  228. }/*]*/
  229. /*]*/
  230. }
  231. /*FI*/}
  232. else {
  233. /*IF*/if (X291is_reference(a1)) {
  234. X291to_reference(_actual_type);
  235. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  236. char b1='\50';
  237. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  238. }/*]*/
  239. /*]*/
  240. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  241. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  242. }/*]*/
  243. /*]*/
  244. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  245. char b1='\51';
  246. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  247. }/*]*/
  248. /*]*/
  249. }
  250. else {
  251. /*IF*/if (X291need_c_struct(a1)) {
  252. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  253. char b1='\46';
  254. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  255. }/*]*/
  256. /*]*/
  257. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  258. char b1='\50';
  259. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  260. }/*]*/
  261. /*]*/
  262. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  263. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  264. }/*]*/
  265. /*]*/
  266. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  267. char b1='\51';
  268. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  269. }/*]*/
  270. /*]*/
  271. }
  272. else {
  273. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
  274. r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
  275. }/*]*/
  276. /*]*/
  277. }
  278. /*FI*/}
  279. /*FI*/}
  280. /*FI*//*IF*/if (_flag) {
  281. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  282. char b1='\51';
  283. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  284. }/*]*/
  285. /*]*/
  286. }
  287. /*FI*/}
  288. /*No:CALL_INFIX_AND_THEN.nb_errors*/
  289. /*No:CALL_INFIX_AND_THEN.feature_name*/
  290. /*No:CALL_INFIX_AND_THEN.fz_iinaiv*/
  291. /*No:CALL_INFIX_AND_THEN.arg_count*/
  292. /*No:CALL_INFIX_AND_THEN.dca_inline_argument*/
  293. /*No:CALL_INFIX_AND_THEN.run_feature*/
  294. /*No:CALL_INFIX_AND_THEN.call_proc_call_c2c*/
  295. /*No:CALL_INFIX_AND_THEN.start_position*/
  296. /*No:CALL_INFIX_AND_THEN.target*/
  297. /*No:CALL_INFIX_AND_THEN.compile_to_c*/
  298. /*No:CALL_INFIX_AND_THEN.c_simple*/
  299. T0* r655to_runnable(T655* C,T0* a1){
  300. T0* R=NULL;
  301. T0* _tla=NULL;
  302. T0* _a=NULL;
  303. /*IF*/if (((((T655*)C))->_current_type/*8*/)==((void*)(NULL))) {
  304. r655to_runnable_0(C,a1);
  305. _a=X431to_runnable((((T655*)C))->_arguments/*24*/,a1);
  306. /*IF*/if ((_a)==((void*)(NULL))) {
  307. r655error(X662start_position(r655arg1(C)),((T0*)ms55_470));
  308. }
  309. else {
  310. C->_arguments=_a;
  311. }
  312. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  313. X431match_with((((T655*)C))->_arguments/*24*/,(((T655*)C))->_run_feature/*16*/);
  314. }
  315. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  316. _tla=(((T655*)C))->_result_type/*20*/;
  317. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  318. case 239: 
  319. break;
  320. default:
  321. _tla=NULL;
  322. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  323. C->_result_type=X291run_type(X662result_type(r655arg1(C)));
  324. }
  325. /*FI*/}
  326. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  327. R=(T0*)C;
  328. }
  329. /*FI*/}
  330. else {
  331. R=r655twin(C);
  332. /*[IRF3.3set_current_type*/((((T655*)(((T655*)R))))->_current_type)=(NULL);
  333. /*]*/
  334. R=r655to_runnable(((T655*)R),a1);
  335. }
  336. /*FI*/return R;
  337. }
  338. /*No:CALL_INFIX_AND_THEN.result_type*/
  339. /*No:CALL_INFIX_AND_THEN.is_result*/
  340. T0* r655twin(T655* C){
  341. T0* R=NULL;
  342. R=malloc(sizeof(*C));
  343. *((T655*)R)=*C;
  344. return R;
  345. }
  346. /*No:CALL_INFIX_AND_THEN.set_current_type*/
  347. T0* r655operator(void){
  348. T0* R=NULL;
  349. R=((T0*)ms28_473);
  350. return R;
  351. }
  352. int r655is_static(T655* C){
  353. int R=0;
  354. /*IF*/if (X291is_boolean(X662result_type((((T655*)C))->_target/*12*/))) {
  355. /*IF*/if (X662is_static((((T655*)C))->_target/*12*/)) {
  356. /*IF*/if ((X662static_value((((T655*)C))->_target/*12*/))==(0)) {
  357. R=1;
  358. }
  359. else {
  360. R=X662is_static(r655arg1(C));
  361. C->_static_value_mem=X662static_value(r655arg1(C));
  362. }
  363. /*FI*/}
  364. /*FI*/}
  365. /*FI*/return R;
  366. }
  367. /*No:CALL_INFIX_AND_THEN.fz_07*/
  368. /*No:CALL_INFIX_AND_THEN.can_be_dropped*/
  369. /*No:CALL_INFIX_AND_THEN.current_type*/
  370. void r655compile_to_c_old(T655* C){
  371. X662compile_to_c_old((((T655*)C))->_target/*12*/);
  372. /*IF*/{/*AT*/X431compile_to_c_old((((T655*)C))->_arguments/*24*/);
  373. }
  374. /*FI*/}
  375. /*No:CALL_INFIX_AND_THEN.static_value_mem*/
  376. void r655make_call_1(T655* C,T0* a1,T0* a2,T0* a3){
  377. C->_target=a1;
  378. C->_feature_name=a2;
  379. C->_arguments=a3;
  380. }
  381. /*No:CALL_INFIX_AND_THEN.is_manifest_string*/
  382. /*No:CALL_INFIX_AND_THEN.is_void*/
  383. void r655to_runnable_0(T655* C,T0* a1){
  384. C->_current_type=a1;
  385. r655cpc_to_runnable(C,a1);
  386. C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T655*)C))->_run_feature/*16*/))))->_result_type/*24*/);
  387. /*IF*/if (((((T655*)C))->_result_type/*20*/)==((void*)(NULL))) {
  388. r683add_position(X496start_position((((T655*)C))->_run_feature/*16*/));
  389. r655error((((T454*)((T454*)((((T655*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
  390. }
  391.  else if (X291is_like_current((((T655*)C))->_result_type/*20*/)) {
  392. C->_result_type=X662result_type((((T655*)C))->_target/*12*/);
  393. }
  394. /*FI*/}
  395. /*No:CALL_INFIX_AND_THEN.is_pre_computable*/
  396. void r655cpc_to_runnable(T655* C,T0* a1){
  397. T0* _rc=NULL;
  398. T0* _t=NULL;
  399. _t=X662to_runnable((((T655*)C))->_target/*12*/,a1);
  400. /*IF*/if ((_t)==((void*)(NULL))) {
  401. r683add_position(X662start_position((((T655*)C))->_target/*12*/));
  402. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  403. r683fatal_error(((T683*)(oBC364eh)),b1);
  404. }/*]*/
  405. }
  406. /*FI*/C->_target=_t;
  407. _rc=X291run_class(X662result_type((((T655*)C))->_target/*12*/));
  408. C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
  409. r576update((((T655*)C))->_target/*12*/,(((T655*)C))->_run_feature/*16*/);
  410. }
  411. int r655use_current(T655* C){
  412. int R=0;
  413. /*IF*/{/*AT*/R=X431use_current((((T655*)C))->_arguments/*24*/);
  414. }
  415. /*FI*//*IF*/if (R) {
  416. }
  417.  else if (X662is_current((((T655*)C))->_target/*12*/)) {
  418. R=X496use_current((((T655*)C))->_run_feature/*16*/);
  419. }
  420. else {
  421. R=X662use_current((((T655*)C))->_target/*12*/);
  422. }
  423. /*FI*/return R;
  424. }
  425. void r655finalize(T655* C){
  426. T0* _rf=NULL;
  427. T0* _rc=NULL;
  428. _rf=(((T655*)C))->_run_feature/*16*/;
  429. _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
  430. /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
  431. _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
  432. C->_run_feature=_rf;
  433. }
  434. /*FI*/}
  435. void r655error(T0* a1,T0* a2){
  436. r683add_position(a1);
  437. r683error(((T683*)(oBC364eh)),a2);
  438. }
  439. /*No:CALL_INFIX_AND_THEN.isa_dca_inline_argument*/
  440. /*No:CALL_INFIX_AND_THEN.fatal_error*/
  441. /*No:CALL_INFIX_AND_THEN.fz_bad_argument*/
  442. T0* r655arg1(T655* C){
  443. T0* R=NULL;
  444. R=X431first((((T655*)C))->_arguments/*24*/);
  445. return R;
  446. }
  447. void r655afd_check(T655* C){
  448. T0* _running=NULL;
  449. T0* _rc=NULL;
  450. _rc=X291run_class(X662result_type((((T655*)C))->_target/*12*/));
  451. _running=(((T355*)((T355*)_rc)))->_running/*12*/;
  452. /*IF*/if ((_running)==((void*)(NULL))) {
  453. r683add_position(X662start_position((((T655*)C))->_target/*12*/));
  454. /*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
  455. r7append(((T7*)(oBC683explanation)),b1);
  456. }/*]*/
  457. /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
  458. r7append(((T7*)(oBC683explanation)),b1);
  459. }/*]*/
  460. /*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
  461. r7append(((T7*)(oBC683explanation)),b1);
  462. }/*]*/
  463. r683print_as_warning(((T683*)(oBC364eh)));
  464. r355set_at_run_time(((T355*)_rc));
  465. }
  466.  else if ((r396count(((T396*)_running)))>(0)) {
  467. r576update((((T655*)C))->_target/*12*/,(((T655*)C))->_run_feature/*16*/);
  468. }
  469. /*FI*/X662afd_check((((T655*)C))->_target/*12*/);
  470. /*IF*/{/*AT*/X431afd_check((((T655*)C))->_arguments/*24*/);
  471. }
  472. /*FI*/}
  473. /*No:TMP_NAME.li*/
  474. /*No:TMP_NAME.co*/
  475. /*No:TMP_NAME.fz_inherit*/
  476. int r511isa_keyword(void){
  477. int R=0;
  478. char _c=0;
  479. _c=r3to_lower(/*(IRF4.6item*/((((T7*)((T7*)(oBC511tmp_string))))->_storage/*0*/)[(1)-(1)]/*)*/);
  480. {int z1=_c;
  481.  
  482. if((97==z1)){
  483. R=r511look_in(oBC511keyword_a);
  484. }
  485.  else 
  486. if((99==z1)){
  487. R=r511look_in(oBC511keyword_c);
  488. }
  489.  else 
  490. if((100==z1)){
  491. R=r511look_in(oBC511keyword_d);
  492. }
  493.  else 
  494. if((101==z1)){
  495. R=r511look_in(oBC511keyword_e);
  496. }
  497.  else 
  498. if((102==z1)){
  499. R=r511look_in(oBC511keyword_f);
  500. }
  501.  else 
  502. if((105==z1)){
  503. R=r511look_in(oBC511keyword_i);
  504. }
  505.  else 
  506. if((108==z1)){
  507. R=r511look_in(oBC511keyword_l);
  508. }
  509.  else 
  510. if((111==z1)){
  511. R=r511look_in(oBC511keyword_o);
  512. }
  513.  else 
  514. if((112==z1)){
  515. R=r7same_as(((T7*)(((T0*)ms37_470))),oBC511tmp_string);
  516. }
  517.  else 
  518. if((114==z1)){
  519. R=r511look_in(oBC511keyword_r);
  520. }
  521.  else 
  522. if((115==z1)){
  523. R=r511look_in(oBC511keyword_s);
  524. }
  525.  else 
  526. if((116==z1)){
  527. R=r511look_in(oBC511keyword_t);
  528. }
  529.  else 
  530. if((117==z1)){
  531. R=r511look_in(oBC511keyword_u);
  532. }
  533.  else 
  534. if((118==z1)){
  535. R=r7same_as(((T7*)(((T0*)ms51_470))),oBC511tmp_string);
  536. }
  537.  else 
  538. if((119==z1)){
  539. R=r7same_as(((T7*)(((T0*)ms52_470))),oBC511tmp_string);
  540. }
  541.  else 
  542. if((120==z1)){
  543. R=r7same_as(((T7*)(((T0*)ms50_473))),oBC511tmp_string);
  544. }
  545. }
  546. return R;
  547. }
  548. /*No:TMP_NAME.fz_select*/
  549. /*No:TMP_NAME.fz_creation*/
  550. T0*oBC511keyword_s=NULL;
  551. T0*oBC511keyword_c=NULL;
  552. /*No:TMP_NAME.fz_old*/
  553. T0* r511to_e_result(T511* C){
  554. T0* R=NULL;
  555. {T715*n=malloc(sizeof(*n));
  556. *n=M715;
  557. r715make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  558. R=(T0*)n;
  559. }
  560. return R;
  561. }
  562. T0* r511to_local_name1(T511* C){
  563. T0* R=NULL;
  564. {T39*n=malloc(sizeof(*n));
  565. *n=M39;
  566. r39make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),oBC511tmp_string);
  567. R=(T0*)n;
  568. }
  569. return R;
  570. }
  571. T0* r511to_e_current(T511* C){
  572. T0* R=NULL;
  573. {T358*n=malloc(sizeof(*n));
  574. *n=M358;
  575. r358make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),1);
  576. R=(T0*)n;
  577. }
  578. return R;
  579. }
  580. /*No:TMP_NAME.extend*/
  581. /*No:TMP_NAME.fz_separate*/
  582. /*No:TMP_NAME.fz_deferred*/
  583. T0*oBC511keyword_t=NULL;
  584. T0*oBC511keyword_d=NULL;
  585. /*No:TMP_NAME.fz_else*/
  586. /*No:TMP_NAME.fz_end*/
  587. T0* r511to_e_void(T511* C){
  588. T0* R=NULL;
  589. {T796*n=malloc(sizeof(*n));
  590. *n=M796;
  591. r796make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  592. R=(T0*)n;
  593. }
  594. return R;
  595. }
  596. int r511is_current(void){
  597. int R=0;
  598. /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(7)) {
  599. R=r7same_as(((T7*)(((T0*)ms143_473))),oBC511tmp_string);
  600. }
  601. /*FI*/return R;
  602. }
  603. T0*oBC511keyword_u=NULL;
  604. T0*oBC511keyword_e=NULL;
  605. /*No:TMP_NAME.us_and*/
  606. T0* r511to_local_name2(T511* C,T0* a1,int a2){
  607. T0* R=NULL;
  608. {T23*n=malloc(sizeof(*n));
  609. *n=M23;
  610. r23refer_to(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),a1,a2);
  611. R=(T0*)n;
  612. }
  613. return R;
  614. }
  615. T0* r511to_argument_name1(T511* C){
  616. T0* R=NULL;
  617. {T873*n=malloc(sizeof(*n));
  618. *n=M873;
  619. r873make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),oBC511tmp_string);
  620. R=(T0*)n;
  621. }
  622. return R;
  623. }
  624. T0*oBC511keyword_f=NULL;
  625. /*No:TMP_NAME.make*/
  626. /*No:TMP_NAME.us_current*/
  627. /*No:TMP_NAME.fz_rescue*/
  628. T0* r511to_string(T511* C){
  629. T0* R=NULL;
  630. /*IF*/if (((((T511*)C))->_unique_string_memory/*0*/)==((void*)(NULL))) {
  631. R=r902item(oBC511tmp_string);
  632. C->_unique_string_memory=R;
  633. }
  634. else {
  635. R=(((T511*)C))->_unique_string_memory/*0*/;
  636. }
  637. /*FI*/return R;
  638. }
  639. T0* r511to_class_name(T511* C){
  640. T0* R=NULL;
  641. {T451*n=malloc(sizeof(*n));
  642. *n=M451;
  643. r451make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  644. R=(T0*)n;
  645. }
  646. return R;
  647. }
  648. T0* r511to_tag_name(T511* C){
  649. T0* R=NULL;
  650. {T490*n=malloc(sizeof(*n));
  651. *n=M490;
  652. r490make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  653. R=(T0*)n;
  654. }
  655. return R;
  656. }
  657. /*No:TMP_NAME.unique_string_memory*/
  658. T0* r511to_argument_name2(T511* C,T0* a1,int a2){
  659. T0* R=NULL;
  660. {T886*n=malloc(sizeof(*n));
  661. *n=M886;
  662. r886refer_to(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),a1,a2);
  663. R=(T0*)n;
  664. }
  665. return R;
  666. }
  667. /*No:TMP_NAME.fz_external*/
  668. T0* r511start_position(T511* C){
  669. T0* R=NULL;
  670. {T627*n=malloc(sizeof(*n));
  671. *n=M627;
  672. r627make(n,(((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/);
  673. R=(T0*)n;
  674. }
  675. return R;
  676. }
  677. /*No:TMP_NAME.fz_prefix*/
  678. /*No:TMP_NAME.fz_export*/
  679. /*No:TMP_NAME.fz_all*/
  680. /*No:TMP_NAME.fz_invariant*/
  681. /*No:TMP_NAME.fz_feature*/
  682. /*No:TMP_NAME.fz_true*/
  683. T0* r511to_infix_name_use(T511* C){
  684. T0* R=NULL;
  685. {T454*n=malloc(sizeof(*n));
  686. *n=M454;
  687. r454make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  688. R=(T0*)n;
  689. }
  690. return R;
  691. }
  692. /*No:TMP_NAME.fz_if*/
  693. T0*oBC511keyword_i=NULL;
  694. /*No:TMP_NAME.fz_inspect*/
  695. /*No:TMP_NAME.fz_alias*/
  696. /*No:TMP_NAME.fz_debug*/
  697. int r511is_result(void){
  698. int R=0;
  699. /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(6)) {
  700. R=r7same_as(((T7*)(((T0*)ms146_473))),oBC511tmp_string);
  701. }
  702. /*FI*/return R;
  703. }
  704. /*No:TMP_NAME.fz_rename*/
  705. /*No:TMP_NAME.fz_from*/
  706. /*No:TMP_NAME.fz_unique*/
  707. /*No:TMP_NAME.fz_once*/
  708. /*No:TMP_NAME.fz_loop*/
  709. /*No:TMP_NAME.fz_do*/
  710. /*No:TMP_NAME.us_result*/
  711. /*No:TMP_NAME.us_implies*/
  712. T0*oBC511tmp_string=NULL;
  713. T0*oBC511keyword_l=NULL;
  714. /*No:TMP_NAME.fz_obsolete*/
  715. /*No:TMP_NAME.fz_as*/
  716. /*No:TMP_NAME.fz_false*/
  717. /*No:TMP_NAME.fz_elseif*/
  718. T0* r511to_infix_name(T0* a1){
  719. T0* R=NULL;
  720. {T454*n=malloc(sizeof(*n));
  721. *n=M454;
  722. r454make(n,oBC511tmp_string,a1);
  723. R=(T0*)n;
  724. }
  725. return R;
  726. }
  727. T0* r511to_prefix_name(T511* C){
  728. T0* R=NULL;
  729. {T406*n=malloc(sizeof(*n));
  730. *n=M406;
  731. r406make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  732. R=(T0*)n;
  733. }
  734. return R;
  735. }
  736. T0* r511pos(int a1,int a2){
  737. T0* R=NULL;
  738. {T627*n=malloc(sizeof(*n));
  739. *n=M627;
  740. r627make(n,a1,a2);
  741. R=(T0*)n;
  742. }
  743. return R;
  744. }
  745. /*No:TMP_NAME.fz_variant*/
  746. /*No:TMP_NAME.fz_redefine*/
  747. /*No:TMP_NAME.fz_like*/
  748. int r511is_void(void){
  749. int R=0;
  750. /*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(4)) {
  751. R=r7same_as(((T7*)(((T0*)ms147_473))),oBC511tmp_string);
  752. }
  753. /*FI*/return R;
  754. }
  755. /*No:TMP_NAME.us_xor*/
  756. /*No:TMP_NAME.fz_frozen*/
  757. /*No:TMP_NAME.fz_undefine*/
  758. T0*oBC511keyword_o=NULL;
  759. T0* r511to_simple_feature_name(T511* C){
  760. T0* R=NULL;
  761. {T446*n=malloc(sizeof(*n));
  762. *n=M446;
  763. r446make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
  764. R=(T0*)n;
  765. }
  766. return R;
  767. }
  768. /*No:TMP_NAME.fz_is*/
  769. /*No:TMP_NAME.fz_ensure*/
  770. int r511look_in(T0* a1){
  771. int R=0;
  772. int _i=0;
  773. _i=(((T52*)((T52*)a1)))->_upper/*8*/;
  774. while (!((R)||((_i)==(0)))) {
  775. R=r7same_as(((T7*)(r52item(((T52*)a1),_i))),oBC511tmp_string);
  776. _i=(_i)-(1);
  777. }
  778. return R;
  779. }
  780. /*No:TMP_NAME.us_void*/
  781. /*No:TMP_NAME.fz_local*/
  782. /*No:TMP_NAME.fz_indexing*/
  783. /*No:TMP_NAME.fz_require*/
  784. /*No:TMP_NAME.count*/
  785. /*No:TMP_NAME.fz_when*/
  786. /*No:TMP_NAME.fz_then*/
  787. /*No:TMP_NAME.fz_until*/
  788. T0*oBC511keyword_a=NULL;
  789. /*No:TMP_NAME.fz_check*/
  790. void r511initialize(T511* C,int a1,int a2){
  791. C->_li=a1;
  792. C->_co=a2;
  793. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC511tmp_string)))))->_count)=(0);
  794. /*]*/
  795. C->_unique_string_memory=NULL;
  796. }
  797. /*No:TMP_NAME.fz_expanded*/
  798. T0*oBC511keyword_r=NULL;
  799. /*No:TMP_NAME.fz_infix*/
  800. /*No:TMP_NAME.fz_class*/
  801. /*No:TMP_NAME.us_or*/
  802. /*No:TMP_NAME.fz_retry*/
  803. /*No:TMP_NAME.fz_strip*/
  804.  
  805.