home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / eiffel / smalleif.97 / se.t / SmallEiffel / bin_c / compile_to_c8.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-02  |  28.0 KB  |  1,268 lines

  1. /* ANSI C code generated by SmallEiffel. */
  2. /*
  3. -- SmallEiffel  -- Release (- 0.97)    --      FRANCE
  4. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  5. -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
  6. -- CRIN (Centre de Recherche en Informatique de Nancy)
  7. -- FRANCE 
  8. */
  9. #include "compile_to_c.h"
  10. void rT99mapping_cast(T99 *C){
  11. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  12. rT2append_in(rT99id(C),oRBC58tmp_string);
  13. /*IF*/if (rT99is_reference(C)) {
  14. rT7extend((T7*)oRBC58tmp_string,'\52');
  15. }
  16. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  17. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  18. }
  19. T0 * rT99run_class(T99 *C){
  20. T0 * R=NULL;
  21. R=(/*UT*/(T52*)oRBC27small_eiffel,
  22. rT52run_class((C)->_run_type));
  23. return R;
  24. }
  25. int rT99is_expanded(T99 *C){
  26. int R=0;
  27. T0 * _bc=NULL;
  28. _bc=rT99base_class(C);
  29. /*IF*/if (!(_bc)) {
  30. rT99error((C)->_start_position,(T0 *)ms476);
  31. }
  32. else {
  33. R=((T50*)_bc)->_is_expanded;
  34. }
  35. /*FI*/return R;
  36. }
  37. T0 * rT99smallest_ancestor(T99 *C,T0 * a1){
  38. T0 * R=NULL;
  39. R=XrT58smallest_ancestor((C)->_run_type,a1);
  40. return R;
  41. }
  42. T0 * rT99base_class_name(T99 *C){
  43. T0 * R=NULL;
  44. R=XrT58base_class_name((C)->_run_type);
  45. return R;
  46. }
  47. T0 * rT99base_class(T99 *C){
  48. T0 * R=NULL;
  49. R=rT48base_class((T48*)rT99base_class_name(C));
  50. return R;
  51. }
  52. void rT99copy(T99 *C,T0 * a1){
  53. /*IF*//*AF*//*AE*/
  54. memcpy(C,a1,s[C->id]);
  55. /*FI*/}
  56. int rT99is_a_in(T99 *C,T0 * a1,T0 * a2){
  57. int R=0;
  58. T0 * _ct=NULL;
  59. T0 * _t2=NULL;
  60. T0 * _t1=NULL;
  61. /*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT58written_mark(a1))) {
  62. R=1;
  63. }
  64. else {
  65. _ct=((T260*)a2)->_current_type;
  66. _t1=rT99to_runnable(C,_ct);
  67. _t2=XrT58to_runnable(a1,_ct);
  68. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  69. R=1;
  70. }
  71. else {
  72. R=XrT58is_a(_t1,_t2);
  73. }
  74. /*FI*/}
  75. /*FI*/return R;
  76. }
  77. int rT99is_a(T99 *C,T0 * a1){
  78. int R=0;
  79. R=XrT58is_a((C)->_run_type,a1);
  80. return R;
  81. }
  82. void rT99expanded_to_reference(T99 *C){
  83. /*IF*/if (((T0 *)(C)->_run_type)!=((T0 *)C)) {
  84. XrT58expanded_to_reference((C)->_run_type);
  85. }
  86.  else if (rT99is_expanded(C)) {
  87. /*UT*/(T45*)oRBC27eh;
  88. rT45add_type((T0 *)C,(T0 *)ms1007);
  89. rT99fatal_error((T0 *)ms1008);
  90. }
  91. /*FI*/}
  92. int rT99has_creation(T99 *C,T0 * a1){
  93. int R=0;
  94. R=XrT58has_creation((C)->_run_type,a1);
  95. return R;
  96. }
  97. void rT99make(T99 *C,T0 * a1,T0 * a2){
  98. C->_start_position=a1;
  99. C->_like_what=a2;
  100. {T7 *n=((T7*)new(7));
  101. rT7copy(n,(T0 *)ms207);
  102. C->_written_mark=(T0 *)n;}
  103. rT7append((T7*)(C)->_written_mark,XrT67to_string((C)->_like_what));
  104. }
  105. void rT99c_type_in(T99 *C,T0* a1){
  106. XrT58c_type_in((C)->_run_type,a1);
  107. }
  108. int rT98is_run_type(T98 *C){
  109. int R=0;
  110. R=((int)(C)->_run_type);
  111. return R;
  112. }
  113. T0 * rT98like_argument(T98 *C){
  114. T0 * R=NULL;
  115. R=(C)->_like_what;
  116. return R;
  117. }
  118. T0* rT98run_time_mark(T98 *C){
  119. T0* R=NULL;
  120. /*IF*/if (((int)(C)->_run_type)) {
  121. R=XrT58run_time_mark((C)->_run_type);
  122. }
  123. /*FI*/return R;
  124. }
  125. void rT98fatal_error(/*C*/T0* a1){
  126. rT45fatal_error((T45*)oRBC27eh,a1);
  127. }
  128. T0 * rT98to_runnable(T98 *C,T0 * a1){
  129. T0 * R=NULL;
  130. T0 * _an=NULL;
  131. T0 * _t=NULL;
  132. C->_like_what=rT88to_runnable((T88*)(C)->_like_what,a1);
  133. /*IF*/if (XrT58is_anchored(((T88*)(C)->_like_what)->_result_type)) {
  134. /*UT*/(T45*)oRBC27eh;
  135. rT45add_position((C)->_start_position);
  136. /*UT*/(T45*)oRBC27eh;
  137. rT45add_position(XrT58start_position(((T88*)(C)->_like_what)->_result_type));
  138. rT45error((T45*)oRBC27eh,(T0 *)ms1413);
  139. }
  140. /*FI*//*IF*/if (XrT58is_expanded(((T88*)(C)->_like_what)->_result_type)) {
  141. /*UT*/(T45*)oRBC27eh;
  142. rT45add_position((C)->_start_position);
  143. /*UT*/(T45*)oRBC27eh;
  144. rT45add_position(XrT58start_position(((T88*)(C)->_like_what)->_result_type));
  145. rT45error((T45*)oRBC27eh,(T0 *)ms1414);
  146. }
  147. /*FI*//*IF*/if (!((C)->_run_type)) {
  148. _an=rT88to_runnable((T88*)(C)->_like_what,a1);
  149. /*IF*/if (!(_an)) {
  150. rT98error((C)->_start_position,(T0 *)ms1415);
  151. }
  152. else {
  153. C->_like_what=_an;
  154. _t=((T88*)(C)->_like_what)->_result_type;
  155. /*IF*/if (!(_t)) {
  156. rT98error((C)->_start_position,(T0 *)ms1416);
  157. }
  158. else {
  159. C->_run_type=XrT58to_runnable(_t,a1);
  160. /*IF*/if (!((C)->_run_type)) {
  161. rT98error((C)->_start_position,(T0 *)ms1417);
  162. }
  163. else {
  164. R=(T0 *)C;
  165. }
  166. /*FI*/}
  167. /*FI*/}
  168. /*FI*/}
  169. else {
  170. {T98 *n=((T98*)new(98));
  171. rT98make(n,(C)->_start_position,(C)->_like_what);
  172. R=(T0 *)n;}
  173. R=rT98to_runnable((T98*)R,a1);
  174. }
  175. /*FI*/return R;
  176. }
  177. void rT98cast_to_ref(T98 *C){
  178. XrT58cast_to_ref((C)->_run_type);
  179. }
  180. void rT98error(/*C*/T0 * a1,T0* a2){
  181. /*UT*/(T45*)oRBC27eh;
  182. rT45add_position(a1);
  183. rT45error((T45*)oRBC27eh,a2);
  184. }
  185. int rT98fast_mapping_c(T98 *C){
  186. int R=0;
  187. R=XrT58fast_mapping_c((C)->_run_type);
  188. return R;
  189. }
  190. int rT98id(T98 *C){
  191. int R=0;
  192. R=((T260*)rT98run_class(C))->_id;
  193. return R;
  194. }
  195. T0* rT98generic_list(T98 *C){
  196. T0* R=NULL;
  197. /*UT*/(T45*)oRBC27eh;
  198. rT45add_type((T0 *)C,(T0 *)ms1437);
  199. rT45print_as_fatal_error((T45*)oRBC27eh);
  200. return R;
  201. }
  202. int rT98is_reference(T98 *C){
  203. int R=0;
  204. R=XrT58is_reference((C)->_run_type);
  205. return R;
  206. }
  207. T0 * rT98look_up_for(T98 *C,T0 * a1,T0 * a2){
  208. T0 * R=NULL;
  209. T0 * _bc=NULL;
  210. _bc=rT98base_class(C);
  211. /*IF*/if (((int)_bc)) {
  212. R=rT50look_up_for((T50*)_bc,a1,a2);
  213. }
  214. else {
  215. /*UT*/(T45*)oRBC27eh;
  216. rT45append((T0 *)ms481);
  217. /*UT*/(T45*)oRBC27eh;
  218. rT45add_type((T0 *)C,(T0 *)ms38);
  219. rT45print_as_error((T45*)oRBC27eh);
  220. }
  221. /*FI*/return R;
  222. }
  223. void rT98mapping_c_in(T98 *C,T0* a1){
  224. rT7extend((T7*)a1,'T');
  225. rT2append_in(rT98id(C),a1);
  226. }
  227. void rT98mapping_cast(T98 *C){
  228. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  229. rT2append_in(rT98id(C),oRBC58tmp_string);
  230. /*IF*/if (rT98is_reference(C)) {
  231. rT7extend((T7*)oRBC58tmp_string,'\52');
  232. }
  233. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  234. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  235. }
  236. T0 * rT98run_class(T98 *C){
  237. T0 * R=NULL;
  238. R=(/*UT*/(T52*)oRBC27small_eiffel,
  239. rT52run_class((C)->_run_type));
  240. return R;
  241. }
  242. int rT98is_expanded(T98 *C){
  243. int R=0;
  244. T0 * _bc=NULL;
  245. _bc=rT98base_class(C);
  246. /*IF*/if (!(_bc)) {
  247. rT98error((C)->_start_position,(T0 *)ms476);
  248. }
  249. else {
  250. R=((T50*)_bc)->_is_expanded;
  251. }
  252. /*FI*/return R;
  253. }
  254. T0 * rT98smallest_ancestor(T98 *C,T0 * a1){
  255. T0 * R=NULL;
  256. R=XrT58smallest_ancestor((C)->_run_type,a1);
  257. return R;
  258. }
  259. T0 * rT98base_class_name(T98 *C){
  260. T0 * R=NULL;
  261. R=XrT58base_class_name((C)->_run_type);
  262. return R;
  263. }
  264. T0 * rT98base_class(T98 *C){
  265. T0 * R=NULL;
  266. R=rT48base_class((T48*)rT98base_class_name(C));
  267. return R;
  268. }
  269. void rT98copy(T98 *C,T0 * a1){
  270. /*IF*//*AF*//*AE*/
  271. memcpy(C,a1,s[C->id]);
  272. /*FI*/}
  273. int rT98is_a_in(T98 *C,T0 * a1,T0 * a2){
  274. int R=0;
  275. T0 * _ct=NULL;
  276. T0 * _t2=NULL;
  277. T0 * _t1=NULL;
  278. /*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT58written_mark(a1))) {
  279. R=1;
  280. }
  281. else {
  282. _ct=((T260*)a2)->_current_type;
  283. _t1=rT98to_runnable(C,_ct);
  284. _t2=XrT58to_runnable(a1,_ct);
  285. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  286. R=1;
  287. }
  288. else {
  289. R=XrT58is_a(_t1,_t2);
  290. }
  291. /*FI*/}
  292. /*FI*/return R;
  293. }
  294. int rT98is_a(T98 *C,T0 * a1){
  295. int R=0;
  296. R=XrT58is_a((C)->_run_type,a1);
  297. return R;
  298. }
  299. void rT98expanded_to_reference(T98 *C){
  300. /*IF*/if (((T0 *)(C)->_run_type)!=((T0 *)C)) {
  301. XrT58expanded_to_reference((C)->_run_type);
  302. }
  303.  else if (rT98is_expanded(C)) {
  304. /*UT*/(T45*)oRBC27eh;
  305. rT45add_type((T0 *)C,(T0 *)ms1007);
  306. rT98fatal_error((T0 *)ms1008);
  307. }
  308. /*FI*/}
  309. int rT98has_creation(T98 *C,T0 * a1){
  310. int R=0;
  311. R=XrT58has_creation((C)->_run_type,a1);
  312. return R;
  313. }
  314. void rT98make(T98 *C,T0 * a1,T0 * a2){
  315. C->_start_position=a1;
  316. C->_like_what=a2;
  317. {T7 *n=((T7*)new(7));
  318. rT7copy(n,(T0 *)ms206);
  319. C->_written_mark=(T0 *)n;}
  320. rT7append((T7*)(C)->_written_mark,((T88*)(C)->_like_what)->_to_string);
  321. }
  322. void rT98c_type_in(T98 *C,T0* a1){
  323. XrT58c_type_in((C)->_run_type,a1);
  324. }
  325. int rT90is_run_type(T90 *C){
  326. int R=0;
  327. R=((int)(C)->_run_type);
  328. return R;
  329. }
  330. T0* rT90run_time_mark(T90 *C){
  331. T0* R=NULL;
  332. /*IF*/if (((int)(C)->_run_type)) {
  333. R=XrT58run_time_mark((C)->_run_type);
  334. }
  335. /*FI*/return R;
  336. }
  337. void rT90fatal_error(/*C*/T0* a1){
  338. rT45fatal_error((T45*)oRBC27eh,a1);
  339. }
  340. T0 * rT90to_runnable(T90 *C,T0 * a1){
  341. T0 * R=NULL;
  342. /*IF*/if (!((C)->_run_type)) {
  343. C->_run_type=a1;
  344. R=(T0 *)C;
  345. }
  346.  else if (rT7is_equal((T7*)XrT58run_time_mark((C)->_run_type),XrT58run_time_mark(a1))) {
  347. R=(T0 *)C;
  348. }
  349. else {
  350. {T90 *n=((T90*)new(90));
  351. rT90make(n,(C)->_start_position,(C)->_like_what);
  352. R=(T0 *)n;}
  353. R=rT90to_runnable((T90*)R,a1);
  354. }
  355. /*FI*/return R;
  356. }
  357. void rT90error(/*C*/T0 * a1,T0* a2){
  358. /*UT*/(T45*)oRBC27eh;
  359. rT45add_position(a1);
  360. rT45error((T45*)oRBC27eh,a2);
  361. }
  362. void rT90cast_to_ref(T90 *C){
  363. XrT58cast_to_ref((C)->_run_type);
  364. }
  365. int rT90fast_mapping_c(T90 *C){
  366. int R=0;
  367. R=XrT58fast_mapping_c((C)->_run_type);
  368. return R;
  369. }
  370. int rT90id(T90 *C){
  371. int R=0;
  372. R=((T260*)rT90run_class(C))->_id;
  373. return R;
  374. }
  375. T0* rT90generic_list(T90 *C){
  376. T0* R=NULL;
  377. /*UT*/(T45*)oRBC27eh;
  378. rT45add_type((T0 *)C,(T0 *)ms1437);
  379. rT45print_as_fatal_error((T45*)oRBC27eh);
  380. return R;
  381. }
  382. int rT90is_reference(T90 *C){
  383. int R=0;
  384. R=XrT58is_reference((C)->_run_type);
  385. return R;
  386. }
  387. T0 * rT90look_up_for(T90 *C,T0 * a1,T0 * a2){
  388. T0 * R=NULL;
  389. T0 * _bc=NULL;
  390. _bc=rT90base_class(C);
  391. /*IF*/if (((int)_bc)) {
  392. R=rT50look_up_for((T50*)_bc,a1,a2);
  393. }
  394. else {
  395. /*UT*/(T45*)oRBC27eh;
  396. rT45append((T0 *)ms481);
  397. /*UT*/(T45*)oRBC27eh;
  398. rT45add_type((T0 *)C,(T0 *)ms38);
  399. rT45print_as_error((T45*)oRBC27eh);
  400. }
  401. /*FI*/return R;
  402. }
  403. void rT90mapping_c_in(T90 *C,T0* a1){
  404. rT7extend((T7*)a1,'T');
  405. rT2append_in(rT90id(C),a1);
  406. }
  407. void rT90mapping_cast(T90 *C){
  408. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  409. rT2append_in(rT90id(C),oRBC58tmp_string);
  410. /*IF*/if (rT90is_reference(C)) {
  411. rT7extend((T7*)oRBC58tmp_string,'\52');
  412. }
  413. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  414. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  415. }
  416. T0 * rT90run_class(T90 *C){
  417. T0 * R=NULL;
  418. R=(/*UT*/(T52*)oRBC27small_eiffel,
  419. rT52run_class((C)->_run_type));
  420. return R;
  421. }
  422. int rT90is_expanded(T90 *C){
  423. int R=0;
  424. T0 * _bc=NULL;
  425. _bc=rT90base_class(C);
  426. /*IF*/if (!(_bc)) {
  427. rT90error((C)->_start_position,(T0 *)ms476);
  428. }
  429. else {
  430. R=((T50*)_bc)->_is_expanded;
  431. }
  432. /*FI*/return R;
  433. }
  434. T0 * rT90smallest_ancestor(T90 *C,T0 * a1){
  435. T0 * R=NULL;
  436. R=XrT58smallest_ancestor((C)->_run_type,a1);
  437. return R;
  438. }
  439. T0 * rT90base_class_name(T90 *C){
  440. T0 * R=NULL;
  441. R=XrT58base_class_name((C)->_run_type);
  442. return R;
  443. }
  444. T0 * rT90base_class(T90 *C){
  445. T0 * R=NULL;
  446. R=rT48base_class((T48*)rT90base_class_name(C));
  447. return R;
  448. }
  449. void rT90copy(T90 *C,T0 * a1){
  450. /*IF*//*AF*//*AE*/
  451. memcpy(C,a1,s[C->id]);
  452. /*FI*/}
  453. int rT90is_a_in(T90 *C,T0 * a1,T0 * a2){
  454. int R=0;
  455. T0 * _ct=NULL;
  456. T0 * _t2=NULL;
  457. T0 * _t1=NULL;
  458. /*IF*/if (rT7is_equal((T7*)(T0 *)ms1477,XrT58written_mark(a1))) {
  459. R=1;
  460. }
  461. else {
  462. _ct=((T260*)a2)->_current_type;
  463. _t1=rT90to_runnable(C,_ct);
  464. _t2=XrT58to_runnable(a1,_ct);
  465. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  466. R=1;
  467. }
  468. else {
  469. R=XrT58is_a(_t1,_t2);
  470. }
  471. /*FI*/}
  472. /*FI*/return R;
  473. }
  474. int rT90is_a(T90 *C,T0 * a1){
  475. int R=0;
  476. R=XrT58is_a((C)->_run_type,a1);
  477. return R;
  478. }
  479. void rT90expanded_to_reference(T90 *C){
  480. /*IF*/if (((T0 *)(C)->_run_type)!=((T0 *)C)) {
  481. XrT58expanded_to_reference((C)->_run_type);
  482. }
  483.  else if (rT90is_expanded(C)) {
  484. /*UT*/(T45*)oRBC27eh;
  485. rT45add_type((T0 *)C,(T0 *)ms1007);
  486. rT90fatal_error((T0 *)ms1008);
  487. }
  488. /*FI*/}
  489. int rT90has_creation(T90 *C,T0 * a1){
  490. int R=0;
  491. R=XrT58has_creation((C)->_run_type,a1);
  492. return R;
  493. }
  494. void rT90make(T90 *C,T0 * a1,T0 * a2){
  495. C->_start_position=a1;
  496. C->_like_what=a2;
  497. if ((int)C->_like_what) switch (((T0 *)C->_like_what)->id) {
  498. case 89: 
  499. break;
  500. default:
  501. C->_like_what = NULL;
  502. };}
  503. void rT90c_type_in(T90 *C,T0* a1){
  504. XrT58c_type_in((C)->_run_type,a1);
  505. }
  506. T0 * rT87run_type(T87 *C){
  507. T0 * R=NULL;
  508. R=(T0 *)C;
  509. return R;
  510. }
  511. void rT87fatal_error(/*C*/T0* a1){
  512. rT45fatal_error((T45*)oRBC27eh,a1);
  513. }
  514. T0 * rT87to_runnable(T87 *C,T0 * a1){
  515. T0 * R=NULL;
  516. R=(T0 *)C;
  517. rT87check_type(C);
  518. return R;
  519. }
  520. void rT87cast_to_ref(T87 *C){
  521. XrT58cast_to_ref(rT87run_type(C));
  522. }
  523. void rT87error(/*C*/T0 * a1,T0* a2){
  524. /*UT*/(T45*)oRBC27eh;
  525. rT45add_position(a1);
  526. rT45error((T45*)oRBC27eh,a2);
  527. }
  528. int rT87id(T87 *C){
  529. int R=0;
  530. R=((T50*)rT87base_class(C))->_id;
  531. return R;
  532. }
  533. T0 * rT87start_position(T87 *C){
  534. T0 * R=NULL;
  535. R=((T48*)(C)->_base_class_name)->_start_position;
  536. return R;
  537. }
  538. T0* rT87generic_list(T87 *C){
  539. T0* R=NULL;
  540. /*UT*/(T45*)oRBC27eh;
  541. rT45add_type((T0 *)C,(T0 *)ms1437);
  542. rT45print_as_fatal_error((T45*)oRBC27eh);
  543. return R;
  544. }
  545. T0 * rT87look_up_for(T87 *C,T0 * a1,T0 * a2){
  546. T0 * R=NULL;
  547. T0 * _bc=NULL;
  548. _bc=rT87base_class(C);
  549. /*IF*/if (((int)_bc)) {
  550. R=rT50look_up_for((T50*)_bc,a1,a2);
  551. }
  552. else {
  553. /*UT*/(T45*)oRBC27eh;
  554. rT45append((T0 *)ms481);
  555. /*UT*/(T45*)oRBC27eh;
  556. rT45add_type((T0 *)C,(T0 *)ms38);
  557. rT45print_as_error((T45*)oRBC27eh);
  558. }
  559. /*FI*/return R;
  560. }
  561. void rT87mapping_c_in(T87 *C,T0* a1){
  562. rT7extend((T7*)a1,'T');
  563. rT2append_in(rT87id(C),a1);
  564. }
  565. void rT87mapping_cast(T87 *C){
  566. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  567. rT2append_in(rT87id(C),oRBC58tmp_string);
  568. /*IF*/{/*AT*/rT7extend((T7*)oRBC58tmp_string,'\52');
  569. }
  570. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  571. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  572. }
  573. T0 * rT87run_class(T87 *C){
  574. T0 * R=NULL;
  575. R=(/*UT*/(T52*)oRBC27small_eiffel,
  576. rT52run_class(rT87run_type(C)));
  577. return R;
  578. }
  579. T0 * rT87smallest_ancestor(T87 *C,T0 * a1){
  580. T0 * R=NULL;
  581. R=(T0 *)C;
  582. return R;
  583. }
  584. T0 * rT87base_class(T87 *C){
  585. T0 * R=NULL;
  586. R=rT48base_class((T48*)(C)->_base_class_name);
  587. return R;
  588. }
  589. void rT87copy(T87 *C,T0 * a1){
  590. /*IF*//*AF*//*AE*/
  591. memcpy(C,a1,s[C->id]);
  592. /*FI*/}
  593. int rT87is_a_in(T87 *C,T0 * a1,T0 * a2){
  594. int R=0;
  595. T0 * _ct=NULL;
  596. T0 * _t2=NULL;
  597. T0 * _t1=NULL;
  598. /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms183/*)*/,XrT58written_mark(a1))) {
  599. R=1;
  600. }
  601. else {
  602. _ct=((T260*)a2)->_current_type;
  603. _t1=rT87to_runnable(C,_ct);
  604. _t2=XrT58to_runnable(a1,_ct);
  605. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  606. R=1;
  607. }
  608. else {
  609. R=XrT58is_a(_t1,_t2);
  610. }
  611. /*FI*/}
  612. /*FI*/return R;
  613. }
  614. void rT87c_struct(T87 *C){
  615. T0* _wa=NULL;
  616. T0 * _a=NULL;
  617. int _i=0;
  618. /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0);
  619. /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms762);
  620. rT2append_in(rT87id(C),oRBC58tmp_string);
  621. rT7extend((T7*)oRBC58tmp_string,'\173');
  622. /*IF*/{/*AT*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms763);
  623. }
  624. /*FI*/_wa=rT260writable_attributes((T260*)rT87run_class(C));
  625. /*IF*/if (((int)_wa)) {
  626. _i=XrT265lower(_wa);
  627. while (!((_i)>(XrT265upper(_wa)))) {
  628. _a=XrT265item(_wa,_i);
  629. XrT58c_type_in(XrT58run_type(XrT261result_type(_a)),oRBC58tmp_string);
  630. rT7append((T7*)oRBC58tmp_string,(T0 *)ms765);
  631. rT7append((T7*)oRBC58tmp_string,XrT67to_string(XrT261name(_a)));
  632. rT7extend((T7*)oRBC58tmp_string,'\73');
  633. _i=(_i)+(1);
  634. }
  635. }
  636. /*FI*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms766);
  637. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  638. }
  639. int rT87is_a(T87 *C,T0 * a1){
  640. int R=0;
  641. /*IF*/if (XrT58is_any(a1)) {
  642. R=1;
  643. }
  644. else {
  645. R=rT50is_subclass_of((T50*)rT87base_class(C),XrT58base_class(a1));
  646. }
  647. /*FI*//*IF*/if (!(R)) {
  648. /*UT*/(T45*)oRBC27eh;
  649. rT45add_type((T0 *)C,(T0 *)ms1483);
  650. /*UT*/(T45*)oRBC27eh;
  651. rT45add_type(a1,(T0 *)ms38);
  652. }
  653. /*FI*/return R;
  654. }
  655. void rT87expanded_to_reference(T87 *C){
  656. /*IF*/if (((T0 *)rT87run_type(C))!=((T0 *)C)) {
  657. XrT58expanded_to_reference(rT87run_type(C));
  658. }
  659. /*AF*//*FI*/}
  660. int rT87has_creation(T87 *C,T0 * a1){
  661. int R=0;
  662. /*UT*/(T45*)oRBC27eh;
  663. rT45add_position(XrT67start_position(a1));
  664. rT87error(rT87start_position(C),(T0 *)ms1491);
  665. return R;
  666. }
  667. int ofBC87check_type=0;
  668. void rT87check_type(T87 *C){
  669. T0 * _rc=NULL;
  670. T0 * _bc=NULL;
  671. int _ne=0;
  672. if (ofBC87check_type==0){
  673. ofBC87check_type=1;
  674. _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
  675. _bc=rT87base_class(C);
  676. /*IF*/if (!(_bc)) {
  677. rT87error(rT87start_position(C),(T0 *)ms1411);
  678. }
  679. /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
  680. _rc=rT87run_class(C);
  681. }
  682. /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
  683. /*IF*/if (((T50*)_bc)->_is_expanded) {
  684. rT87error(rT87start_position(C),(T0 *)ms1412);
  685. }
  686. /*FI*/}
  687. /*FI*/}
  688. }
  689. void rT87make(T87 *C,T0 * a1){
  690. {T48 *n=((T48*)new(48));
  691. rT48make(n,(T0 *)ms183,a1);
  692. C->_base_class_name=(T0 *)n;}
  693. }
  694. void rT87c_typedef(T87 *C){
  695. int _mem_id=0;
  696. _mem_id=rT87id(C);
  697. /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0);
  698. /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms755);
  699. rT2append_in(rT87id(C),oRBC58tmp_string);
  700. rT7append((T7*)oRBC58tmp_string,(T0 *)ms756);
  701. rT2append_in(rT87id(C),oRBC58tmp_string);
  702. rT7append((T7*)oRBC58tmp_string,(T0 *)ms757);
  703. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  704. }
  705. void rT87c_type_in(/*C*/T0* a1){
  706. rT7append((T7*)a1,(T0 *)ms764);
  707. }
  708. int rT100is_run_type(T100 *C){
  709. int R=0;
  710. R=((int)(C)->_run_type);
  711. return R;
  712. }
  713. void rT100c_initialize_expanded(T100 *C){
  714. T0 * _rf=NULL;
  715. int _i=0;
  716. T0* _wa=NULL;
  717. rT40put_character((T40*)oRBC27cpp,'\173');
  718. _wa=rT260writable_attributes((T260*)rT100run_class(C));
  719. /*IF*/if (((int)_wa)) {
  720. _i=1;
  721. while (!((_i)>(XrT265upper(_wa)))) {
  722. _rf=XrT265item(_wa,_i);
  723. XrT58c_initialize(XrT261result_type(_rf));
  724. _i=(_i)+(1);
  725. /*IF*/if ((_i)<=(XrT265upper(_wa))) {
  726. rT40put_character((T40*)oRBC27cpp,'\54');
  727. }
  728. /*FI*/}
  729. }
  730. /*FI*/rT40put_character((T40*)oRBC27cpp,'\175');
  731. }
  732. void rT100c_initialize(T100 *C){
  733. rT100c_initialize_expanded(C);
  734. }
  735. T0* rT100run_time_mark(T100 *C){
  736. T0* R=NULL;
  737. R=((T100*)(C)->_run_type)->_written_mark;
  738. return R;
  739. }
  740. void rT100fatal_error(/*C*/T0* a1){
  741. rT45fatal_error((T45*)oRBC27eh,a1);
  742. }
  743. T0 * rT100to_runnable(T100 *C,T0 * a1){
  744. T0 * R=NULL;
  745. T0 * _m=NULL;
  746. _m=XrT58to_runnable((C)->_mapped,a1);
  747. /*IF*/if (!((C)->_run_type)) {
  748. R=(T0 *)C;
  749. /*IF*/if (((T0 *)_m)==((T0 *)(C)->_mapped)) {
  750. C->_run_type=(T0 *)C;
  751. }
  752. else {
  753. {T100 *n=((T100*)new(100));
  754. rT100make(n,(C)->_start_position,_m);
  755. C->_run_type=(T0 *)n;}
  756. C->_run_type=rT100to_runnable((T100*)(C)->_run_type,a1);
  757. }
  758. /*FI*/rT50check_expanded_with((T50*)rT100base_class((T100*)(C)->_run_type),(C)->_run_type);
  759. rT260set_at_run_time((T260*)rT100run_class(C));
  760. }
  761.  else if (((T0 *)_m)==((T0 *)((T100*)(C)->_run_type)->_mapped)) {
  762. R=(T0 *)C;
  763. }
  764. else {
  765. {T100 *n=((T100*)new(100));
  766. rT100make(n,(C)->_start_position,(C)->_mapped);
  767. R=(T0 *)n;}
  768. R=rT100to_runnable((T100*)R,a1);
  769. }
  770. /*FI*/return R;
  771. }
  772. void rT100error(/*C*/T0 * a1,T0* a2){
  773. /*UT*/(T45*)oRBC27eh;
  774. rT45add_position(a1);
  775. rT45error((T45*)oRBC27eh,a2);
  776. }
  777. void rT100cast_to_ref(T100 *C){
  778. rT100cast_to_ref((T100*)(C)->_run_type);
  779. }
  780. int rT100id(T100 *C){
  781. int R=0;
  782. R=((T260*)rT100run_class(C))->_id;
  783. return R;
  784. }
  785. T0* rT100generic_list(T100 *C){
  786. T0* R=NULL;
  787. /*UT*/(T45*)oRBC27eh;
  788. rT45add_type((T0 *)C,(T0 *)ms1437);
  789. rT45print_as_fatal_error((T45*)oRBC27eh);
  790. return R;
  791. }
  792. T0 * rT100look_up_for(T100 *C,T0 * a1,T0 * a2){
  793. T0 * R=NULL;
  794. T0 * _bc=NULL;
  795. _bc=rT100base_class(C);
  796. /*IF*/if (((int)_bc)) {
  797. R=rT50look_up_for((T50*)_bc,a1,a2);
  798. }
  799. else {
  800. /*UT*/(T45*)oRBC27eh;
  801. rT45append((T0 *)ms481);
  802. /*UT*/(T45*)oRBC27eh;
  803. rT45add_type((T0 *)C,(T0 *)ms38);
  804. rT45print_as_error((T45*)oRBC27eh);
  805. }
  806. /*FI*/return R;
  807. }
  808. void rT100mapping_c_in(T100 *C,T0* a1){
  809. rT7extend((T7*)a1,'T');
  810. rT2append_in(rT100id(C),a1);
  811. }
  812. void rT100mapping_cast(T100 *C){
  813. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  814. rT2append_in(rT100id(C),oRBC58tmp_string);
  815. /*IF*//*AF*//*AE*/
  816. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  817. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  818. }
  819. T0 * rT100run_class(T100 *C){
  820. T0 * R=NULL;
  821. R=(/*UT*/(T52*)oRBC27small_eiffel,
  822. rT52run_class((C)->_run_type));
  823. return R;
  824. }
  825. T0 * rT100smallest_ancestor(/*C*/T0 * a1){
  826. T0 * R=NULL;
  827. rT100fatal_error((T0 *)ms1465);
  828. return R;
  829. }
  830. T0 * rT100base_class_name(T100 *C){
  831. T0 * R=NULL;
  832. R=XrT58base_class_name((C)->_mapped);
  833. return R;
  834. }
  835. T0 * rT100base_class(T100 *C){
  836. T0 * R=NULL;
  837. R=rT48base_class((T48*)rT100base_class_name(C));
  838. return R;
  839. }
  840. void rT100copy(T100 *C,T0 * a1){
  841. /*IF*//*AF*//*AE*/
  842. memcpy(C,a1,s[C->id]);
  843. /*FI*/}
  844. int rT100is_a_in(T100 *C,T0 * a1,T0 * a2){
  845. int R=0;
  846. T0 * _ct=NULL;
  847. T0 * _t2=NULL;
  848. T0 * _t1=NULL;
  849. /*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT58written_mark(a1))) {
  850. R=1;
  851. }
  852. else {
  853. _ct=((T260*)a2)->_current_type;
  854. _t1=rT100to_runnable(C,_ct);
  855. _t2=XrT58to_runnable(a1,_ct);
  856. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  857. R=1;
  858. }
  859. else {
  860. R=XrT58is_a(_t1,_t2);
  861. }
  862. /*FI*/}
  863. /*FI*/return R;
  864. }
  865. void rT100c_struct(T100 *C){
  866. T0* _wa=NULL;
  867. T0 * _a=NULL;
  868. int _i=0;
  869. /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0);
  870. /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms762);
  871. rT2append_in(rT100id(C),oRBC58tmp_string);
  872. rT7extend((T7*)oRBC58tmp_string,'\173');
  873. /*IF*//*AF*//*AE*/
  874. /*FI*/_wa=rT260writable_attributes((T260*)rT100run_class(C));
  875. /*IF*/if (((int)_wa)) {
  876. _i=XrT265lower(_wa);
  877. while (!((_i)>(XrT265upper(_wa)))) {
  878. _a=XrT265item(_wa,_i);
  879. XrT58c_type_in(XrT58run_type(XrT261result_type(_a)),oRBC58tmp_string);
  880. rT7append((T7*)oRBC58tmp_string,(T0 *)ms765);
  881. rT7append((T7*)oRBC58tmp_string,XrT67to_string(XrT261name(_a)));
  882. rT7extend((T7*)oRBC58tmp_string,'\73');
  883. _i=(_i)+(1);
  884. }
  885. }
  886. /*FI*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms766);
  887. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  888. }
  889. int rT100is_a(T100 *C,T0 * a1){
  890. int R=0;
  891. R=rT7is_equal((T7*)rT100run_time_mark(C),XrT58run_time_mark(a1));
  892. /*IF*/if (!(R)) {
  893. /*UT*/(T45*)oRBC27eh;
  894. rT45add_type((T0 *)C,(T0 *)ms1483);
  895. /*UT*/(T45*)oRBC27eh;
  896. rT45add_type(a1,(T0 *)ms38);
  897. }
  898. /*FI*/return R;
  899. }
  900. void rT100expanded_to_reference(T100 *C){
  901. /*IF*/if (((T0 *)(C)->_run_type)!=((T0 *)C)) {
  902. rT100expanded_to_reference((T100*)(C)->_run_type);
  903. }
  904.  else {/*AT*//*UT*/(T45*)oRBC27eh;
  905. rT45add_type((T0 *)C,(T0 *)ms1007);
  906. rT100fatal_error((T0 *)ms1008);
  907. }
  908. /*FI*/}
  909. int rT100has_creation(T100 *C,T0 * a1){
  910. int R=0;
  911. R=rT50has_creation((T50*)rT100base_class(C),a1);
  912. return R;
  913. }
  914. void rT100make(T100 *C,T0 * a1,T0 * a2){
  915. C->_start_position=a1;
  916. C->_mapped=a2;
  917. {T7 *n=((T7*)new(7));
  918. rT7copy(n,(T0 *)ms209);
  919. C->_written_mark=(T0 *)n;}
  920. rT7append((T7*)(C)->_written_mark,XrT58written_mark((C)->_mapped));
  921. }
  922. void rT100c_typedef(T100 *C){
  923. int _mem_id=0;
  924. _mem_id=rT100id(C);
  925. /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0);
  926. /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms755);
  927. rT2append_in(rT100id(C),oRBC58tmp_string);
  928. rT7append((T7*)oRBC58tmp_string,(T0 *)ms756);
  929. rT2append_in(rT100id(C),oRBC58tmp_string);
  930. rT7append((T7*)oRBC58tmp_string,(T0 *)ms757);
  931. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  932. }
  933. void rT100c_type_in(T100 *C,T0* a1){
  934. rT7extend((T7*)a1,'T');
  935. rT2append_in(rT100id(C),a1);
  936. }
  937. void rT101c_initialize(T101 *C){
  938. rT101error((C)->_start_position,(T0 *)ms1407);
  939. }
  940. T0 * rT101run_type(T101 *C){
  941. T0 * R=NULL;
  942. R=(T0 *)C;
  943. return R;
  944. }
  945. T0* rT101run_time_mark(T101 *C){
  946. T0* R=NULL;
  947. {T7 *n=((T7*)new(7));
  948. rT7copy(n,(T0 *)ms1410);
  949. R=(T0 *)n;}
  950. rT7append((T7*)R,rT2to_string(rT101nb(C)));
  951. return R;
  952. }
  953. void rT101fatal_error(/*C*/T0* a1){
  954. rT45fatal_error((T45*)oRBC27eh,a1);
  955. }
  956. T0 * rT101to_runnable(T101 *C,T0 * a1){
  957. T0 * R=NULL;
  958. R=(T0 *)C;
  959. return R;
  960. }
  961. void rT101cast_to_ref(T101 *C){
  962. XrT58cast_to_ref(rT101run_type(C));
  963. }
  964. void rT101error(/*C*/T0 * a1,T0* a2){
  965. /*UT*/(T45*)oRBC27eh;
  966. rT45add_position(a1);
  967. rT45error((T45*)oRBC27eh,a2);
  968. }
  969. int rT101id(T101 *C){
  970. int R=0;
  971. R=((T260*)rT101run_class(C))->_id;
  972. return R;
  973. }
  974. int rT101nb(T101 *C){
  975. int R=0;
  976. R=((T80*)(C)->_n)->_value;
  977. return R;
  978. }
  979. T0* rT101generic_list(T101 *C){
  980. T0* R=NULL;
  981. /*UT*/(T45*)oRBC27eh;
  982. rT45add_type((T0 *)C,(T0 *)ms1437);
  983. rT45print_as_fatal_error((T45*)oRBC27eh);
  984. return R;
  985. }
  986. T0 * rT101look_up_for(T101 *C,T0 * a1,T0 * a2){
  987. T0 * R=NULL;
  988. T0 * _bc=NULL;
  989. _bc=/*(IRF4*/rT48base_class((T48*)rT101base_class_name())/*)*/;
  990. /*IF*/if (((int)_bc)) {
  991. R=rT50look_up_for((T50*)_bc,a1,a2);
  992. }
  993. else {
  994. /*UT*/(T45*)oRBC27eh;
  995. rT45append((T0 *)ms481);
  996. /*UT*/(T45*)oRBC27eh;
  997. rT45add_type((T0 *)C,(T0 *)ms38);
  998. rT45print_as_error((T45*)oRBC27eh);
  999. }
  1000. /*FI*/return R;
  1001. }
  1002. void rT101mapping_c_in(T101 *C,T0* a1){
  1003. rT7extend((T7*)a1,'T');
  1004. rT2append_in(rT101id(C),a1);
  1005. }
  1006. void rT101mapping_cast(T101 *C){
  1007. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  1008. rT2append_in(rT101id(C),oRBC58tmp_string);
  1009. /*IF*//*AF*//*AE*/
  1010. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  1011. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  1012. }
  1013. T0 * rT101run_class(T101 *C){
  1014. T0 * R=NULL;
  1015. R=(/*UT*/(T52*)oRBC27small_eiffel,
  1016. rT52run_class(rT101run_type(C)));
  1017. return R;
  1018. }
  1019. T0 * rT101smallest_ancestor(T101 *C,T0 * a1){
  1020. T0 * R=NULL;
  1021. T0 * _other_bit=NULL;
  1022. _other_bit=a1;
  1023. if ((int)_other_bit) switch (((T0 *)_other_bit)->id) {
  1024. case 101: case 103: 
  1025. break;
  1026. default:
  1027. _other_bit = NULL;
  1028. };/*IF*/if ((rT101nb(C))<(XrT102nb(_other_bit))) {
  1029. R=(T0 *)C;
  1030. }
  1031. else {
  1032. R=a1;
  1033. }
  1034. /*FI*/return R;
  1035. }
  1036. T0* rT101written_mark(T101 *C){
  1037. T0* R=NULL;
  1038. {T7 *n=((T7*)new(7));
  1039. rT7copy(n,(T0 *)ms1478);
  1040. R=(T0 *)n;}
  1041. rT7append((T7*)R,rT2to_string(rT101nb(C)));
  1042. return R;
  1043. }
  1044. int ofBC102base_class_name=0;
  1045. T0*oRBC102base_class_name;
  1046. T0 * rT101base_class_name(/*C*/void){
  1047. T0 * R=NULL;
  1048. if (ofBC102base_class_name==0){
  1049. ofBC102base_class_name=1;
  1050. {T48 *n=((T48*)new(48));
  1051. rT48make(n,(T0 *)ms1463,NULL);
  1052. R=(T0 *)n;}
  1053. oRBC102base_class_name=R;}
  1054. return oRBC102base_class_name;}
  1055. void rT101copy(T101 *C,T0 * a1){
  1056. /*IF*//*AF*//*AE*/
  1057. memcpy(C,a1,s[C->id]);
  1058. /*FI*/}
  1059. int rT101is_a_in(T101 *C,T0 * a1,T0 * a2){
  1060. int R=0;
  1061. T0 * _ct=NULL;
  1062. T0 * _t2=NULL;
  1063. T0 * _t1=NULL;
  1064. /*IF*/if (rT7is_equal((T7*)rT101written_mark(C),XrT58written_mark(a1))) {
  1065. R=1;
  1066. }
  1067. else {
  1068. _ct=((T260*)a2)->_current_type;
  1069. _t1=rT101to_runnable(C,_ct);
  1070. _t2=XrT58to_runnable(a1,_ct);
  1071. /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
  1072. R=1;
  1073. }
  1074. else {
  1075. R=XrT58is_a(_t1,_t2);
  1076. }
  1077. /*FI*/}
  1078. /*FI*/return R;
  1079. }
  1080. int rT101is_a(T101 *C,T0 * a1){
  1081. int R=0;
  1082. T0 * _other_bit=NULL;
  1083. /*IF*/if (XrT58is_bit(a1)) {
  1084. _other_bit=a1;
  1085. if ((int)_other_bit) switch (((T0 *)_other_bit)->id) {
  1086. case 101: case 103: 
  1087. break;
  1088. default:
  1089. _other_bit = NULL;
  1090. };/*IF*/if ((rT101nb(C))<=(XrT102nb(_other_bit))) {
  1091. R=1;
  1092. }
  1093. else {
  1094. /*UT*/(T45*)oRBC27eh;
  1095. rT45add_type((T0 *)C,(T0 *)ms1483);
  1096. /*UT*/(T45*)oRBC27eh;
  1097. rT45add_type(a1,(T0 *)ms1484);
  1098. }
  1099. /*FI*/}
  1100. /*FI*/return R;
  1101. }
  1102. void rT101expanded_to_reference(T101 *C){
  1103. /*IF*/if (((T0 *)rT101run_type(C))!=((T0 *)C)) {
  1104. XrT58expanded_to_reference(rT101run_type(C));
  1105. }
  1106.  else {/*AT*//*UT*/(T45*)oRBC27eh;
  1107. rT45add_type((T0 *)C,(T0 *)ms1007);
  1108. rT101fatal_error((T0 *)ms1008);
  1109. }
  1110. /*FI*/}
  1111. int rT101has_creation(/*C*/T0 * a1){
  1112. int R=0;
  1113. return R;
  1114. }
  1115. void rT101make(T101 *C,T0 * a1,T0 * a2){
  1116. C->_start_position=a1;
  1117. C->_n=a2;
  1118. }
  1119. void rT101c_type_in(/*C*/T0* a1){
  1120. rT7append((T7*)a1,(T0 *)ms1495);
  1121. }
  1122. int rT103is_run_type(T103 *C){
  1123. int R=0;
  1124. R=((C)->_nb)>=(0);
  1125. return R;
  1126. }
  1127. void rT103c_initialize(T103 *C){
  1128. rT103error((C)->_start_position,(T0 *)ms1407);
  1129. }
  1130. T0 * rT103run_type(T103 *C){
  1131. T0 * R=NULL;
  1132. R=(T0 *)C;
  1133. return R;
  1134. }
  1135. T0* rT103run_time_mark(T103 *C){
  1136. T0* R=NULL;
  1137. {T7 *n=((T7*)new(7));
  1138. rT7copy(n,(T0 *)ms1410);
  1139. R=(T0 *)n;}
  1140. rT7append((T7*)R,rT2to_string((C)->_nb));
  1141. return R;
  1142. }
  1143. void rT103fatal_error(/*C*/T0* a1){
  1144. rT45fatal_error((T45*)oRBC27eh,a1);
  1145. }
  1146. T0 * rT103to_runnable(T103 *C,T0 * a1){
  1147. T0 * R=NULL;
  1148. T0 * _run_feature_1=NULL;
  1149. T0 * _run_feature=NULL;
  1150. /*IF*/if (((C)->_nb)==(-(1))) {
  1151. _run_feature=XrT67run_feature((C)->_n,a1);
  1152. /*IF*/if (!(_run_feature)) {
  1153. /*UT*/(T45*)oRBC27eh;
  1154. rT45add_type((T0 *)C,(T0 *)ms1431);
  1155. /*UT*/(T45*)oRBC27eh;
  1156. rT45append(XrT67to_err_msg((C)->_n));
  1157. /*UT*/(T45*)oRBC27eh;
  1158. rT45append((T0 *)ms1433);
  1159. rT45print_as_error((T45*)oRBC27eh);
  1160. }
  1161. else {
  1162. _run_feature_1=_run_feature;
  1163. if ((int)_run_feature_1) switch (((T0 *)_run_feature_1)->id) {
  1164. case 277: 
  1165. break;
  1166. default:
  1167. _run_feature_1 = NULL;
  1168. };/*IF*/if (!(_run_feature_1)) {
  1169. /*UT*/(T45*)oRBC27eh;
  1170. rT45add_type((T0 *)C,(T0 *)ms1431);
  1171. /*UT*/(T45*)oRBC27eh;
  1172. rT45append(XrT67to_err_msg((C)->_n));
  1173. rT103error(XrT261start_position(_run_feature),(T0 *)ms1434);
  1174. }
  1175. else {
  1176. rT103error((C)->_start_position,(T0 *)ms1435);
  1177. /*IF*/if (((C)->_nb)<(0)) {
  1178. /*UT*/(T45*)oRBC27eh;
  1179. rT45add_type((T0 *)C,(T0 *)ms1431);
  1180. /*UT*/(T45*)oRBC27eh;
  1181. rT45append(XrT67to_err_msg((C)->_n));
  1182. rT103error(rT277start_position((T277*)_run_feature_1),(T0 *)ms1436);
  1183. }
  1184. else {
  1185. R=(T0 *)C;
  1186. }
  1187. /*FI*/}
  1188. /*FI*/}
  1189. /*FI*/}
  1190. else {
  1191. {T103 *n=((T103*)new(103));
  1192. rT103make(n,(C)->_start_position,(C)->_n);
  1193. R=(T0 *)n;}
  1194. R=rT103to_runnable((T103*)R,a1);
  1195. }
  1196. /*FI*/return R;
  1197. }
  1198. void rT103cast_to_ref(T103 *C){
  1199. XrT58cast_to_ref(rT103run_type(C));
  1200. }
  1201. void rT103error(/*C*/T0 * a1,T0* a2){
  1202. /*UT*/(T45*)oRBC27eh;
  1203. rT45add_position(a1);
  1204. rT45error((T45*)oRBC27eh,a2);
  1205. }
  1206. int rT103id(T103 *C){
  1207. int R=0;
  1208. R=((T260*)rT103run_class(C))->_id;
  1209. return R;
  1210. }
  1211. T0* rT103generic_list(T103 *C){
  1212. T0* R=NULL;
  1213. /*UT*/(T45*)oRBC27eh;
  1214. rT45add_type((T0 *)C,(T0 *)ms1437);
  1215. rT45print_as_fatal_error((T45*)oRBC27eh);
  1216. return R;
  1217. }
  1218. T0 * rT103look_up_for(T103 *C,T0 * a1,T0 * a2){
  1219. T0 * R=NULL;
  1220. T0 * _bc=NULL;
  1221. _bc=/*(IRF4*/rT48base_class((T48*)rT103base_class_name())/*)*/;
  1222. /*IF*/if (((int)_bc)) {
  1223. R=rT50look_up_for((T50*)_bc,a1,a2);
  1224. }
  1225. else {
  1226. /*UT*/(T45*)oRBC27eh;
  1227. rT45append((T0 *)ms481);
  1228. /*UT*/(T45*)oRBC27eh;
  1229. rT45add_type((T0 *)C,(T0 *)ms38);
  1230. rT45print_as_error((T45*)oRBC27eh);
  1231. }
  1232. /*FI*/return R;
  1233. }
  1234. void rT103mapping_c_in(T103 *C,T0* a1){
  1235. rT7extend((T7*)a1,'T');
  1236. rT2append_in(rT103id(C),a1);
  1237. }
  1238. void rT103mapping_cast(T103 *C){
  1239. rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800);
  1240. rT2append_in(rT103id(C),oRBC58tmp_string);
  1241. /*IF*//*AF*//*AE*/
  1242. /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
  1243. rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string);
  1244. }
  1245. T0 * rT103run_class(T103 *C){
  1246. T0 * R=NULL;
  1247. R=(/*UT*/(T52*)oRBC27small_eiffel,
  1248. rT52run_class(rT103run_type(C)));
  1249. return R;
  1250. }
  1251. T0 * rT103smallest_ancestor(T103 *C,T0 * a1){
  1252. T0 * R=NULL;
  1253. T0 * _other_bit=NULL;
  1254. _other_bit=a1;
  1255. if ((int)_other_bit) switch (((T0 *)_other_bit)->id) {
  1256. case 101: case 103: 
  1257. break;
  1258. default:
  1259. _other_bit = NULL;
  1260. };/*IF*/if (((C)->_nb)<(XrT102nb(_other_bit))) {
  1261. R=(T0 *)C;
  1262. }
  1263. else {
  1264. R=a1;
  1265. }
  1266. /*FI*/return R;
  1267. }
  1268.