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 / pretty6.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-02  |  38.9 KB  |  1,685 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 "pretty.h"
  10. void rT202make_routine(T202 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
  11. rT202make_e_feature(C,a1,NULL);
  12. C->_header_comment=a4;
  13. C->_arguments=a2;
  14. C->_obsolete_mark=a3;
  15. C->_require_assertion=a5;
  16. }
  17. void rT202make(T202 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
  18. rT202make_routine(C,a1,a2,a3,a4,a5);
  19. }
  20. void rT259put_integer(T259 *C,int a1){
  21. /*(IRF3*/(((T7*)(T0 *)ms469)->_count)=(0);
  22. /*)*/rT2append_in(a1,(T0 *)ms469);
  23. rT259put_string(C,(T0 *)ms469);
  24. }
  25. void rT259put_string(T259 *C,T0* a1){
  26. int _i=0;
  27. _i=1;
  28. while (!((_i)>(((T7*)a1)->_count))) {
  29. rT259put_character(C,rT7item((T7*)a1,_i));
  30. _i=(_i)+(1);
  31. }
  32. }
  33. void rT259indent(T259 *C){
  34. int _goal=0;
  35. _goal=(1)+(((C)->_indent_level)*(3));
  36. /*IF*/if (((C)->_column)>(_goal)) {
  37. rT259put_character(C,'\12');
  38. }
  39. /*FI*/while (!((_goal)==((C)->_column))) {
  40. rT259put_character(C,'\40');
  41. }
  42. {int iv1=(C)->_last_character;
  43. if (10 == iv1) goto l404;
  44. if (32 == iv1) goto l404;
  45. goto l405;
  46.  l404: ;
  47. goto l403;
  48.  l405: ;
  49. rT259put_character(C,'\12');
  50. rT259indent(C);
  51.  l403: ;
  52. }
  53. }
  54. void rT259keyword(T259 *C,T0* a1){
  55. {int iv1=(C)->_last_character;
  56. if (10 == iv1) goto l407;
  57. if (32 == iv1) goto l407;
  58. goto l408;
  59.  l407: ;
  60. goto l406;
  61.  l408: ;
  62. rT259put_character(C,'\40');
  63.  l406: ;
  64. }
  65. rT259put_string(C,a1);
  66. /*IF*/if (((C)->_last_character)!=('\40')) {
  67. rT259put_character(C,'\40');
  68. }
  69. /*FI*/}
  70. void rT259connect_to(T259 *C,T0 * a1){
  71. C->_sfw=a1;
  72. C->_line=1;
  73. C->_column=1;
  74. C->_blank_lines=0;
  75. C->_last_character='\0';
  76. }
  77. void rT259format_parano(T259 *C){
  78. C->_print_current=1;
  79. C->_print_end_check=1;
  80. C->_print_end_loop=1;
  81. C->_print_end_if=1;
  82. C->_print_end_inspect=1;
  83. C->_print_end_routine=1;
  84. C->_print_end_debug=1;
  85. }
  86. void rT259format_end(T259 *C){
  87. C->_print_current=0;
  88. C->_print_end_check=1;
  89. C->_print_end_loop=1;
  90. C->_print_end_if=1;
  91. C->_print_end_inspect=1;
  92. C->_print_end_routine=1;
  93. C->_print_end_debug=1;
  94. }
  95. void rT259format_zen(T259 *C){
  96. C->_zen_mode=1;
  97. C->_print_current=0;
  98. C->_print_end_check=0;
  99. C->_print_end_loop=0;
  100. C->_print_end_if=0;
  101. C->_print_end_inspect=0;
  102. C->_print_end_routine=0;
  103. C->_print_end_debug=0;
  104. }
  105. void rT259format_default(T259 *C){
  106. C->_print_current=0;
  107. C->_print_end_check=0;
  108. C->_print_end_loop=0;
  109. C->_print_end_if=0;
  110. C->_print_end_inspect=0;
  111. C->_print_end_routine=1;
  112. C->_print_end_debug=0;
  113. }
  114. void rT259skip(T259 *C,int a1){
  115. while (!(((C)->_blank_lines)>=(a1))) {
  116. rT259put_character(C,'\12');
  117. }
  118. rT259indent(C);
  119. }
  120. void rT259level_decr(T259 *C){
  121. C->_indent_level=((C)->_indent_level)-(1);
  122. }
  123. void rT259level_incr(T259 *C){
  124. C->_indent_level=((C)->_indent_level)+(1);
  125. }
  126. void rT259copy(T259 *C,T0 * a1){
  127. /*IF*//*AF*//*AE*/
  128. memcpy(C,a1,s[C->id]);
  129. /*FI*/}
  130. void rT259put_character(T259 *C,char a1){
  131. XrT34put_character((C)->_sfw,a1);
  132. C->_last_character=a1;
  133. {int iv1=a1;
  134. if (10 == iv1) goto l410;
  135. goto l411;
  136.  l410: ;
  137. C->_line=((C)->_line)+(1);
  138. C->_column=1;
  139. C->_blank_lines=((C)->_blank_lines)+(1);
  140. goto l409;
  141.  l411: ;
  142. if (9 == iv1) goto l412;
  143. if (32 == iv1) goto l412;
  144. goto l413;
  145.  l412: ;
  146. C->_column=((C)->_column)+(1);
  147. goto l409;
  148.  l413: ;
  149. C->_column=((C)->_column)+(1);
  150. C->_blank_lines=-(1);
  151.  l409: ;
  152. }
  153. }
  154. void rT259put_end(T259 *C,T0* a1){
  155. rT259put_string(C,(T0 *)ms536);
  156. rT259put_string(C,a1);
  157. rT259put_character(C,'\12');
  158. }
  159. void rT179bracketed_print(T179 *C){
  160. rT259put_character((T259*)oRBC27fmt,'\50');
  161. rT179pretty_print(C);
  162. rT259put_character((T259*)oRBC27fmt,'\51');
  163. }
  164. T0 * rT179add_comment(T179 *C,T0 * a1){
  165. T0 * R=NULL;
  166. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  167. R=(T0 *)C;
  168. }
  169. else {
  170. {T218 *n=((T218*)new(218));
  171. rT218make(n,(T0 *)C,a1);
  172. R=(T0 *)n;}}
  173. /*FI*/return R;
  174. }
  175. void rT179print_as_target(T179 *C){
  176. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  177. rT259put_character((T259*)oRBC27fmt,'\56');
  178. }
  179. void rT179pretty_print(T179 *C){
  180. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  181. }
  182. T0* rT179to_key(T179 *C){
  183. T0* R=NULL;
  184. R=(C)->_to_string;
  185. return R;
  186. }
  187. void rT179copy(T179 *C,T0 * a1){
  188. /*IF*//*AF*//*AE*/
  189. memcpy(C,a1,s[C->id]);
  190. /*FI*/}
  191. void rT179make(T179 *C,T0 * a1,T0* a2,T0 * a3,int a4){
  192. C->_start_position=a1;
  193. C->_to_string=a2;
  194. C->_result_type=a3;
  195. C->_rank=a4;
  196. }
  197. void rT74bracketed_print(T74 *C){
  198. rT259put_character((T259*)oRBC27fmt,'\50');
  199. rT74pretty_print(C);
  200. rT259put_character((T259*)oRBC27fmt,'\51');
  201. }
  202. void rT74break_line(T74 *C){
  203. /*IF*/if (!((C)->_break)) {
  204. C->_break=ma(53,2,1,(((T7*)(C)->_to_string)->_count)+(1));
  205. }
  206. else {
  207. rT53add_last((T53*)(C)->_break,(((T7*)(C)->_to_string)->_count)+(1));
  208. }
  209. /*FI*/}
  210. void rT74add_ascii(T74 *C,char a1){
  211. rT7extend((T7*)(C)->_to_string,a1);
  212. /*IF*/if (!((C)->_ascii)) {
  213. C->_ascii=ma(53,2,1,((T7*)(C)->_to_string)->_count);
  214. }
  215. else {
  216. rT53add_last((T53*)(C)->_ascii,((T7*)(C)->_to_string)->_count);
  217. }
  218. /*FI*/}
  219. void rT74add(T74 *C,char a1){
  220. rT7extend((T7*)(C)->_to_string,a1);
  221. }
  222. T0 * rT74add_comment(T74 *C,T0 * a1){
  223. T0 * R=NULL;
  224. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  225. R=(T0 *)C;
  226. }
  227. else {
  228. {T218 *n=((T218*)new(218));
  229. rT218make(n,(T0 *)C,a1);
  230. R=(T0 *)n;}}
  231. /*FI*/return R;
  232. }
  233. void rT74print_as_target(T74 *C){
  234. rT74bracketed_print(C);
  235. rT259put_character((T259*)oRBC27fmt,'\56');
  236. }
  237. void rT74print_character(T74 *C,int a1){
  238. int _val=0;
  239. /*IF*/if ((((int)(C)->_percent))&&(rT53fast_has((T53*)(C)->_percent,a1))) {
  240. /*(IRF3*/(((T7*)(T0 *)ms467)->_count)=(0);
  241. /*)*/rT74character_coding(rT7item((T7*)(C)->_to_string,a1),(T0 *)ms467);
  242. rT259put_string((T259*)oRBC27fmt,(T0 *)ms467);
  243. }
  244.  else if ((((int)(C)->_ascii))&&(rT53fast_has((T53*)(C)->_ascii,a1))) {
  245. _val=((unsigned char)rT7item((T7*)(C)->_to_string,a1));
  246. rT259put_string((T259*)oRBC27fmt,(T0 *)ms468);
  247. rT259put_integer((T259*)oRBC27fmt,_val);
  248. rT259put_string((T259*)oRBC27fmt,(T0 *)ms95);
  249. }
  250. else {
  251. rT259put_character((T259*)oRBC27fmt,rT7item((T7*)(C)->_to_string,a1));
  252. }
  253. /*FI*/}
  254. void rT74pretty_print(T74 *C){
  255. int _column=0;
  256. int _i=0;
  257. _column=((T259*)oRBC27fmt)->_column;
  258. rT259put_character((T259*)oRBC27fmt,'\42');
  259. _i=1;
  260. while (!((_i)>(((T7*)(C)->_to_string)->_count))) {
  261. /*IF*/if (rT74is_on_next_line(C,_i)) {
  262. rT259put_string((T259*)oRBC27fmt,(T0 *)ms466);
  263. while (!((_column)==(((T259*)oRBC27fmt)->_column))) {
  264. rT259put_character((T259*)oRBC27fmt,'\40');
  265. }
  266. rT259put_character((T259*)oRBC27fmt,'\45');
  267. }
  268. /*FI*/rT74print_character(C,_i);
  269. _i=(_i)+(1);
  270. }
  271. rT259put_character((T259*)oRBC27fmt,'\42');
  272. }
  273. int rT74is_on_next_line(T74 *C,int a1){
  274. int R=0;
  275. /*IF*/if (((int)(C)->_break)) {
  276. R=rT53fast_has((T53*)(C)->_break,a1);
  277. }
  278. /*FI*/return R;
  279. }
  280. void rT74add_percent(T74 *C,char a1){
  281. rT7extend((T7*)(C)->_to_string,a1);
  282. /*IF*/if (!((C)->_percent)) {
  283. C->_percent=ma(53,2,1,((T7*)(C)->_to_string)->_count);
  284. }
  285. else {
  286. rT53add_last((T53*)(C)->_percent,((T7*)(C)->_to_string)->_count);
  287. }
  288. /*FI*/}
  289. void rT74copy(T74 *C,T0 * a1){
  290. /*IF*//*AF*//*AE*/
  291. memcpy(C,a1,s[C->id]);
  292. /*FI*/}
  293. void rT74make(T74 *C,T0 * a1){
  294. C->_start_position=a1;
  295. {T7 *n=((T7*)new(7));
  296. rT7make(n,0);
  297. C->_to_string=(T0 *)n;}
  298. }
  299. void rT74character_coding(/*C*/char a1,T0* a2){
  300. char _special='\0';
  301. {int iv1=a1;
  302. if (64 == iv1) goto l415;
  303. goto l416;
  304.  l415: ;
  305. _special='A';
  306. goto l414;
  307.  l416: ;
  308. if (8 == iv1) goto l417;
  309. goto l418;
  310.  l417: ;
  311. _special='B';
  312. goto l414;
  313.  l418: ;
  314. if (94 == iv1) goto l419;
  315. goto l420;
  316.  l419: ;
  317. _special='C';
  318. goto l414;
  319.  l420: ;
  320. if (36 == iv1) goto l421;
  321. goto l422;
  322.  l421: ;
  323. _special='D';
  324. goto l414;
  325.  l422: ;
  326. if (12 == iv1) goto l423;
  327. goto l424;
  328.  l423: ;
  329. _special='F';
  330. goto l414;
  331.  l424: ;
  332. if (92 == iv1) goto l425;
  333. goto l426;
  334.  l425: ;
  335. _special='H';
  336. goto l414;
  337.  l426: ;
  338. if (126 == iv1) goto l427;
  339. goto l428;
  340.  l427: ;
  341. _special='L';
  342. goto l414;
  343.  l428: ;
  344. if (10 == iv1) goto l429;
  345. goto l430;
  346.  l429: ;
  347. _special='N';
  348. goto l414;
  349.  l430: ;
  350. if (96 == iv1) goto l431;
  351. goto l432;
  352.  l431: ;
  353. _special='Q';
  354. goto l414;
  355.  l432: ;
  356. if (13 == iv1) goto l433;
  357. goto l434;
  358.  l433: ;
  359. _special='R';
  360. goto l414;
  361.  l434: ;
  362. if (35 == iv1) goto l435;
  363. goto l436;
  364.  l435: ;
  365. _special='S';
  366. goto l414;
  367.  l436: ;
  368. if (9 == iv1) goto l437;
  369. goto l438;
  370.  l437: ;
  371. _special='T';
  372. goto l414;
  373.  l438: ;
  374. if (0 == iv1) goto l439;
  375. goto l440;
  376.  l439: ;
  377. _special='U';
  378. goto l414;
  379.  l440: ;
  380. if (124 == iv1) goto l441;
  381. goto l442;
  382.  l441: ;
  383. _special='V';
  384. goto l414;
  385.  l442: ;
  386. if (37 == iv1) goto l443;
  387. goto l444;
  388.  l443: ;
  389. _special='\45';
  390. goto l414;
  391.  l444: ;
  392. if (39 == iv1) goto l445;
  393. goto l446;
  394.  l445: ;
  395. _special='\47';
  396. goto l414;
  397.  l446: ;
  398. if (34 == iv1) goto l447;
  399. goto l448;
  400.  l447: ;
  401. _special='\42';
  402. goto l414;
  403.  l448: ;
  404. if (91 == iv1) goto l449;
  405. goto l450;
  406.  l449: ;
  407. _special='\50';
  408. goto l414;
  409.  l450: ;
  410. if (93 == iv1) goto l451;
  411. goto l452;
  412.  l451: ;
  413. _special='\51';
  414. goto l414;
  415.  l452: ;
  416. if (123 == iv1) goto l453;
  417. goto l454;
  418.  l453: ;
  419. _special='\74';
  420. goto l414;
  421.  l454: ;
  422. if (125 == iv1) goto l455;
  423. goto l456;
  424.  l455: ;
  425. _special='\76';
  426. goto l414;
  427.  l456: ;
  428.  l414: ;
  429. }
  430. rT7extend((T7*)a2,'\45');
  431. /*IF*/if ((_special)==('\0')) {
  432. rT7extend((T7*)a2,'\57');
  433. rT2append_in(((unsigned char)a1),a2);
  434. rT7extend((T7*)a2,'\57');
  435. }
  436. else {
  437. rT7extend((T7*)a2,_special);
  438. }
  439. /*FI*/}
  440. void rT121pretty_print(T121 *C){
  441. /*IF*/if (rT121is_omitted(C)) {
  442. /*IF*/if (((T259*)oRBC27fmt)->_zen_mode) {
  443. }
  444. else {
  445. rT259put_string((T259*)oRBC27fmt,(T0 *)ms475);
  446. }
  447. /*FI*/}
  448. else {
  449. /*IF*/if (!((C)->_list)) {
  450. /*IF*/if (((T259*)oRBC27fmt)->_zen_mode) {
  451. rT259put_string((T259*)oRBC27fmt,(T0 *)ms476);
  452. }
  453. else {
  454. rT259put_string((T259*)oRBC27fmt,(T0 *)ms477);
  455. }
  456. /*FI*/}
  457. else {
  458. rT259put_character((T259*)oRBC27fmt,'\173');
  459. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  460. /*)*/rT124pretty_print((T124*)(C)->_list);
  461. rT259put_character((T259*)oRBC27fmt,'\175');
  462. }
  463. /*FI*/}
  464. /*FI*/}
  465. int rT121is_omitted(T121 *C){
  466. int R=0;
  467. R=!((C)->_start_position);
  468. return R;
  469. }
  470. void rT121copy(T121 *C,T0 * a1){
  471. /*IF*//*AF*//*AE*/
  472. memcpy(C,a1,s[C->id]);
  473. /*FI*/}
  474. void rT121make(T121 *C,T0 * a1,T0* a2){
  475. C->_start_position=a1;
  476. /*IF*/if (((int)a2)) {
  477. {T124 *n=((T124*)new(124));
  478. rT124make(n,a2);
  479. C->_list=(T0 *)n;}
  480. }
  481. /*FI*/}
  482. T0 * rT137name(T137 *C,int a1){
  483. T0 * R=NULL;
  484. R=((T92*)rT94item((T94*)(C)->_flat_list,a1))->_name;
  485. return R;
  486. }
  487. T0 * rT137type(T137 *C,int a1){
  488. T0 * R=NULL;
  489. /*IF*/if (((int)(C)->_run_types)) {
  490. R=rT104item((T104*)(C)->_run_types,a1);
  491. }
  492. else {
  493. R=((T92*)rT94item((T94*)(C)->_flat_list,a1))->_type;
  494. }
  495. /*FI*/return R;
  496. }
  497. int rT137count(T137 *C){
  498. int R=0;
  499. R=((T94*)(C)->_flat_list)->_upper;
  500. return R;
  501. }
  502. int rT137rank_of(T137 *C,T0 * a1){
  503. int R=0;
  504. T0* _ns=NULL;
  505. _ns=XrT47to_string(a1);
  506. R=rT137count(C);
  507. while (!(((R)==(0))||(rT7is_equal((T7*)_ns,XrT47to_string(rT137name(C,R)))))) {
  508. R=(R)-(1);
  509. }
  510. return R;
  511. }
  512. void rT137pretty_print(T137 *C){
  513. int _i=0;
  514. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  515. /*)*/rT259indent((T259*)oRBC27fmt);
  516. rT259keyword((T259*)oRBC27fmt,(T0 *)ms532);
  517. /*IF*/if ((((T259*)oRBC27fmt)->_zen_mode)&&((XrT141count((C)->_list))==(1))) {
  518. XrT93pretty_print(XrT141first((C)->_list));
  519. rT259put_character((T259*)oRBC27fmt,'\73');
  520. }
  521. else {
  522. _i=1;
  523. while (!((_i)>(XrT141upper((C)->_list)))) {
  524. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  525. /*)*/rT259indent((T259*)oRBC27fmt);
  526. XrT93pretty_print(XrT141item((C)->_list,_i));
  527. rT259put_character((T259*)oRBC27fmt,'\73');
  528. _i=(_i)+(1);
  529. }
  530. }
  531. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  532. /*)*/rT259indent((T259*)oRBC27fmt);
  533. }
  534. void rT137copy(T137 *C,T0 * a1){
  535. C->_start_position=((T137*)a1)->_start_position;
  536. C->_list=((T137*)a1)->_list;
  537. C->_flat_list=((T137*)a1)->_flat_list;
  538. }
  539. void rT137make(T137 *C,T0 * a1,T0* a2){
  540. int _actual_count=0;
  541. int _ifl=0;
  542. int _il=0;
  543. C->_start_position=a1;
  544. C->_list=a2;
  545. _il=1;
  546. while (!((_il)>(XrT141upper((C)->_list)))) {
  547. _actual_count=(_actual_count)+(XrT93count(XrT141item((C)->_list,_il)));
  548. _il=(_il)+(1);
  549. }
  550. {T94 *n=((T94*)new(94));
  551. rT94make(n,1,_actual_count);
  552. C->_flat_list=(T0 *)n;}
  553. _ifl=1;
  554. _il=1;
  555. while (!((_il)>(XrT141upper((C)->_list)))) {
  556. _ifl=XrT93put_into(XrT141item((C)->_list,_il),(C)->_flat_list,_ifl);
  557. _il=(_il)+(1);
  558. }
  559. }
  560. void rT158bracketed_print(T158 *C){
  561. rT259put_character((T259*)oRBC27fmt,'\50');
  562. rT158pretty_print(C);
  563. rT259put_character((T259*)oRBC27fmt,'\51');
  564. }
  565. T0 * rT158add_comment(T158 *C,T0 * a1){
  566. T0 * R=NULL;
  567. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  568. R=(T0 *)C;
  569. }
  570. else {
  571. {T218 *n=((T218*)new(218));
  572. rT218make(n,(T0 *)C,a1);
  573. R=(T0 *)n;}}
  574. /*FI*/return R;
  575. }
  576. void rT158print_as_target(T158 *C){
  577. rT158bracketed_print(C);
  578. rT259put_character((T259*)oRBC27fmt,'\56');
  579. }
  580. void rT158pretty_print(T158 *C){
  581. int _i=0;
  582. rT259put_string((T259*)oRBC27fmt,(T0 *)ms498);
  583. rT259level_incr((T259*)oRBC27fmt);
  584. /*IF*/if (((int)(C)->_list)) {
  585. _i=1;
  586. while (!((_i)>(XrT79upper((C)->_list)))) {
  587. XrT66pretty_print(XrT79item((C)->_list,_i));
  588. _i=(_i)+(1);
  589. /*IF*/if ((_i)<=(XrT79upper((C)->_list))) {
  590. rT259put_character((T259*)oRBC27fmt,'\54');
  591. }
  592. /*FI*/}
  593. }
  594. /*FI*/rT259put_string((T259*)oRBC27fmt,(T0 *)ms499);
  595. rT259level_decr((T259*)oRBC27fmt);
  596. }
  597. void rT158copy(T158 *C,T0 * a1){
  598. /*IF*//*AF*//*AE*/
  599. memcpy(C,a1,s[C->id]);
  600. /*FI*/}
  601. void rT158make(T158 *C,T0 * a1,T0* a2){
  602. C->_start_position=a1;
  603. C->_list=a2;
  604. }
  605. void rT59resize(T59 *C,int a1){
  606. int _p=0;
  607. int _n=0;
  608. int _i=0;
  609. T0* _new_buc=NULL;
  610. int _hash=0;
  611. {T53 *n=((T53*)new(53));
  612. rT53make(n,0,(a1)-(1));
  613. _new_buc=(T0 *)n;}
  614. _i=0;
  615. while (!((_i)>=((C)->_modulus))) {
  616. _n=rT53item((T53*)(C)->_buckets,_i);
  617. while (!((_n)==(0))) {
  618. _p=rT53item((T53*)(C)->_chain,_n);
  619. _hash=(rT7hash_code((T7*)rT42item((T42*)(C)->_keys,_n)))%(a1);
  620. rT53put((T53*)(C)->_chain,rT53item((T53*)_new_buc,_hash),_n);
  621. rT53put((T53*)_new_buc,_n,_hash);
  622. _n=_p;
  623. }
  624. _i=(_i)+(1);
  625. }
  626. C->_buckets=_new_buc;
  627. C->_modulus=a1;
  628. C->_item_mem=0;
  629. }
  630. T0* rT59clone(T59 *C,T0* a1){
  631. T0* R=NULL;
  632. /*IF*/if (((int)a1)) {
  633. R=(T0 *)new(a1->id);
  634. AF_1
  635. XrT28copy(R,a1);
  636. AF_0
  637. }
  638. /*FI*/return R;
  639. }
  640. T0 * rT59at(T59 *C,T0* a1){
  641. T0 * R=NULL;
  642. int _foo=0;
  643. _foo=rT59has(C,a1);
  644. R=rT61item((T61*)(C)->_store,(C)->_has_mem);
  645. return R;
  646. }
  647. void rT59put(T59 *C,T0 * a1,T0* a2){
  648. int _hash=0;
  649. _hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
  650. /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  651. C->_has_mem=rT53item((T53*)(C)->_buckets,_hash);
  652. while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  653. C->_has_mem=rT53item((T53*)(C)->_chain,(C)->_has_mem);
  654. }
  655. /*IF*/if (((C)->_has_mem)==(0)) {
  656. /*IF*/if (((C)->_count)>=(rT61count((T61*)(C)->_store))) {
  657. rT59expand(C);
  658. }
  659. /*FI*/rT42put((T42*)(C)->_keys,a2,(C)->_free);
  660. rT61put((T61*)(C)->_store,a1,(C)->_free);
  661. C->_has_mem=(C)->_free;
  662. C->_free=rT53item((T53*)(C)->_chain,(C)->_free);
  663. rT53put((T53*)(C)->_chain,rT53item((T53*)(C)->_buckets,_hash),(C)->_has_mem);
  664. rT53put((T53*)(C)->_buckets,(C)->_has_mem,_hash);
  665. C->_count=((C)->_count)+(1);
  666. /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
  667. rT59resize(C,(2)*((C)->_modulus));
  668. }
  669. /*FI*/}
  670. /*FI*/}
  671. else {
  672. rT61put((T61*)(C)->_store,a1,(C)->_has_mem);
  673. }
  674. /*FI*/C->_item_mem=0;
  675. }
  676. void rT59standard_copy(T59 *C,T0 * a1){
  677. memcpy(C,a1,s[a1->id]);
  678. }
  679. void rT59copy(T59 *C,T0 * a1){
  680. rT59standard_copy(C,a1);
  681. C->_keys=rT59clone(C,((T59*)a1)->_keys);
  682. C->_store=rT59clone(C,((T59*)a1)->_store);
  683. C->_buckets=rT59clone(C,((T59*)a1)->_buckets);
  684. C->_chain=rT59clone(C,((T59*)a1)->_chain);
  685. }
  686. void rT59expand(T59 *C){
  687. int _old_size=0;
  688. int _i=0;
  689. C->_item_mem=0;
  690. _old_size=rT61count((T61*)(C)->_store);
  691. rT53resize((T53*)(C)->_chain,1,(2)*(_old_size));
  692. rT42resize((T42*)(C)->_keys,1,(2)*(_old_size));
  693. rT61resize((T61*)(C)->_store,1,(2)*(_old_size));
  694. _i=(_old_size)+(1);
  695. while (!((_i)==(rT53count((T53*)(C)->_chain)))) {
  696. rT53put((T53*)(C)->_chain,(_i)+(1),_i);
  697. _i=(_i)+(1);
  698. }
  699. rT53put((T53*)(C)->_chain,(C)->_free,_i);
  700. C->_free=(_old_size)+(1);
  701. }
  702. int rT59has(T59 *C,T0* a1){
  703. int R=0;
  704. /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  705. C->_has_mem=rT53item((T53*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
  706. while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  707. C->_has_mem=rT53item((T53*)(C)->_chain,(C)->_has_mem);
  708. }
  709. }
  710. /*FI*/R=((C)->_has_mem)!=(0);
  711. return R;
  712. }
  713. void rT59make(T59 *C){
  714. int _i=0;
  715. C->_modulus=32;
  716. C->_count=0;
  717. C->_free=1;
  718. C->_has_mem=0;
  719. C->_item_mem=0;
  720. {T53 *n=((T53*)new(53));
  721. rT53make(n,0,((C)->_modulus)-(1));
  722. C->_buckets=(T0 *)n;}
  723. {T53 *n=((T53*)new(53));
  724. rT53make(n,1,16);
  725. C->_chain=(T0 *)n;}
  726. {T61 *n=((T61*)new(61));
  727. rT61make(n,1,16);
  728. C->_store=(T0 *)n;}
  729. {T42 *n=((T42*)new(42));
  730. rT42make(n,1,16);
  731. C->_keys=(T0 *)n;}
  732. _i=1;
  733. while (!((_i)==(rT53count((T53*)(C)->_chain)))) {
  734. rT53put((T53*)(C)->_chain,(_i)+(1),_i);
  735. _i=(_i)+(1);
  736. }
  737. rT53put((T53*)(C)->_chain,0,_i);
  738. _i=0;
  739. while (!((_i)>=((C)->_modulus))) {
  740. rT53put((T53*)(C)->_buckets,0,_i);
  741. _i=(_i)+(1);
  742. }
  743. }
  744. void rT55resize(T55 *C,int a1){
  745. int _p=0;
  746. int _n=0;
  747. int _i=0;
  748. T0* _new_buc=NULL;
  749. int _hash=0;
  750. {T53 *n=((T53*)new(53));
  751. rT53make(n,0,(a1)-(1));
  752. _new_buc=(T0 *)n;}
  753. _i=0;
  754. while (!((_i)>=((C)->_modulus))) {
  755. _n=rT53item((T53*)(C)->_buckets,_i);
  756. while (!((_n)==(0))) {
  757. _p=rT53item((T53*)(C)->_chain,_n);
  758. _hash=(rT7hash_code((T7*)rT42item((T42*)(C)->_keys,_n)))%(a1);
  759. rT53put((T53*)(C)->_chain,rT53item((T53*)_new_buc,_hash),_n);
  760. rT53put((T53*)_new_buc,_n,_hash);
  761. _n=_p;
  762. }
  763. _i=(_i)+(1);
  764. }
  765. C->_buckets=_new_buc;
  766. C->_modulus=a1;
  767. C->_item_mem=0;
  768. }
  769. T0* rT55clone(T55 *C,T0* a1){
  770. T0* R=NULL;
  771. /*IF*/if (((int)a1)) {
  772. R=(T0 *)new(a1->id);
  773. AF_1
  774. XrT28copy(R,a1);
  775. AF_0
  776. }
  777. /*FI*/return R;
  778. }
  779. T0* rT55at(T55 *C,T0* a1){
  780. T0* R=NULL;
  781. int _foo=0;
  782. _foo=rT55has(C,a1);
  783. R=rT42item((T42*)(C)->_store,(C)->_has_mem);
  784. return R;
  785. }
  786. void rT55put(T55 *C,T0* a1,T0* a2){
  787. int _hash=0;
  788. _hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
  789. /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  790. C->_has_mem=rT53item((T53*)(C)->_buckets,_hash);
  791. while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  792. C->_has_mem=rT53item((T53*)(C)->_chain,(C)->_has_mem);
  793. }
  794. /*IF*/if (((C)->_has_mem)==(0)) {
  795. /*IF*/if (((C)->_count)>=(rT42count((T42*)(C)->_store))) {
  796. rT55expand(C);
  797. }
  798. /*FI*/rT42put((T42*)(C)->_keys,a2,(C)->_free);
  799. rT42put((T42*)(C)->_store,a1,(C)->_free);
  800. C->_has_mem=(C)->_free;
  801. C->_free=rT53item((T53*)(C)->_chain,(C)->_free);
  802. rT53put((T53*)(C)->_chain,rT53item((T53*)(C)->_buckets,_hash),(C)->_has_mem);
  803. rT53put((T53*)(C)->_buckets,(C)->_has_mem,_hash);
  804. C->_count=((C)->_count)+(1);
  805. /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
  806. rT55resize(C,(2)*((C)->_modulus));
  807. }
  808. /*FI*/}
  809. /*FI*/}
  810. else {
  811. rT42put((T42*)(C)->_store,a1,(C)->_has_mem);
  812. }
  813. /*FI*/C->_item_mem=0;
  814. }
  815. void rT55standard_copy(T55 *C,T0 * a1){
  816. memcpy(C,a1,s[a1->id]);
  817. }
  818. void rT55copy(T55 *C,T0 * a1){
  819. rT55standard_copy(C,a1);
  820. C->_keys=rT55clone(C,((T55*)a1)->_keys);
  821. C->_store=rT55clone(C,((T55*)a1)->_store);
  822. C->_buckets=rT55clone(C,((T55*)a1)->_buckets);
  823. C->_chain=rT55clone(C,((T55*)a1)->_chain);
  824. }
  825. void rT55expand(T55 *C){
  826. int _old_size=0;
  827. int _i=0;
  828. C->_item_mem=0;
  829. _old_size=rT42count((T42*)(C)->_store);
  830. rT53resize((T53*)(C)->_chain,1,(2)*(_old_size));
  831. rT42resize((T42*)(C)->_keys,1,(2)*(_old_size));
  832. rT42resize((T42*)(C)->_store,1,(2)*(_old_size));
  833. _i=(_old_size)+(1);
  834. while (!((_i)==(rT53count((T53*)(C)->_chain)))) {
  835. rT53put((T53*)(C)->_chain,(_i)+(1),_i);
  836. _i=(_i)+(1);
  837. }
  838. rT53put((T53*)(C)->_chain,(C)->_free,_i);
  839. C->_free=(_old_size)+(1);
  840. }
  841. int rT55has(T55 *C,T0* a1){
  842. int R=0;
  843. /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  844. C->_has_mem=rT53item((T53*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
  845. while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  846. C->_has_mem=rT53item((T53*)(C)->_chain,(C)->_has_mem);
  847. }
  848. }
  849. /*FI*/R=((C)->_has_mem)!=(0);
  850. return R;
  851. }
  852. void rT55make(T55 *C){
  853. int _i=0;
  854. C->_modulus=32;
  855. C->_count=0;
  856. C->_free=1;
  857. C->_has_mem=0;
  858. C->_item_mem=0;
  859. {T53 *n=((T53*)new(53));
  860. rT53make(n,0,((C)->_modulus)-(1));
  861. C->_buckets=(T0 *)n;}
  862. {T53 *n=((T53*)new(53));
  863. rT53make(n,1,16);
  864. C->_chain=(T0 *)n;}
  865. {T42 *n=((T42*)new(42));
  866. rT42make(n,1,16);
  867. C->_store=(T0 *)n;}
  868. {T42 *n=((T42*)new(42));
  869. rT42make(n,1,16);
  870. C->_keys=(T0 *)n;}
  871. _i=1;
  872. while (!((_i)==(rT53count((T53*)(C)->_chain)))) {
  873. rT53put((T53*)(C)->_chain,(_i)+(1),_i);
  874. _i=(_i)+(1);
  875. }
  876. rT53put((T53*)(C)->_chain,0,_i);
  877. _i=0;
  878. while (!((_i)>=((C)->_modulus))) {
  879. rT53put((T53*)(C)->_buckets,0,_i);
  880. _i=(_i)+(1);
  881. }
  882. }
  883. void rT52shrink(T52 *C){
  884. int _k=0;
  885. int _j=0;
  886. int _i=0;
  887. T0* _chn=NULL;
  888. T0* _kys=NULL;
  889. T0* _str=NULL;
  890. {T42 *n=((T42*)new(42));
  891. rT42make(n,1,(rT54count((T54*)(C)->_store))/(2));
  892. _kys=(T0 *)n;}
  893. {T54 *n=((T54*)new(54));
  894. rT54make(n,1,(rT54count((T54*)(C)->_store))/(2));
  895. _str=(T0 *)n;}
  896. {T53 *n=((T53*)new(53));
  897. rT53make(n,1,(rT54count((T54*)(C)->_store))/(2));
  898. _chn=(T0 *)n;}
  899. _i=1;
  900. _j=0;
  901. while (!((_j)>=((C)->_modulus))) {
  902. _k=rT53item((T53*)(C)->_buckets,_j);
  903. /*IF*/if ((_k)!=(0)) {
  904. rT53put((T53*)(C)->_buckets,_i,_j);
  905. }
  906. /*FI*/while (!((_k)==(0))) {
  907. rT42put((T42*)_kys,rT42item((T42*)(C)->_keys,_k),_i);
  908. rT54put((T54*)_str,rT54item((T54*)(C)->_store,_k),_i);
  909. _k=rT53item((T53*)(C)->_chain,_k);
  910. /*IF*/if ((_k)==(0)) {
  911. rT53put((T53*)_chn,0,_i);
  912. }
  913. else {
  914. rT53put((T53*)_chn,(_i)+(1),_i);
  915. }
  916. /*FI*/_i=(_i)+(1);
  917. }
  918. _j=(_j)+(1);
  919. }
  920. _i=((C)->_count)+(1);
  921. while (!((_i)>=(rT53count((T53*)_chn)))) {
  922. rT53put((T53*)_chn,(_i)+(1),_i);
  923. _i=(_i)+(1);
  924. }
  925. rT53put((T53*)_chn,0,_i);
  926. C->_free=((C)->_count)+(1);
  927. C->_chain=_chn;
  928. C->_keys=_kys;
  929. C->_store=_str;
  930. C->_item_mem=0;
  931. }
  932. void rT52remove(T52 *C,T0* a1){
  933. int _p=0;
  934. int _n=0;
  935. int _hash=0;
  936. _hash=(rT7hash_code((T7*)a1))%((C)->_modulus);
  937. _n=rT53item((T53*)(C)->_buckets,_hash);
  938. while (!(((_n)==(0))||(rT7is_equal((T7*)a1,rT42item((T42*)(C)->_keys,_n))))) {
  939. _p=_n;
  940. _n=rT53item((T53*)(C)->_chain,_n);
  941. }
  942. /*IF*/if ((_n)!=(0)) {
  943. /*IF*/if ((_p)!=(0)) {
  944. rT53put((T53*)(C)->_chain,rT53item((T53*)(C)->_chain,_n),_p);
  945. }
  946. else {
  947. rT53put((T53*)(C)->_buckets,rT53item((T53*)(C)->_chain,_n),_hash);
  948. }
  949. /*FI*/rT53put((T53*)(C)->_chain,(C)->_free,_n);
  950. C->_free=_n;
  951. C->_count=((C)->_count)-(1);
  952. /*IF*/if ((_n)==((C)->_has_mem)) {
  953. C->_has_mem=0;
  954. }
  955. /*FI*//*IF*/if ((((C)->_count)<((rT54count((T54*)(C)->_store))/(4)))&&(((C)->_count)>(16))) {
  956. rT52shrink(C);
  957. }
  958. /*FI*/}
  959. /*FI*/C->_item_mem=0;
  960. }
  961. void rT52resize(T52 *C,int a1){
  962. int _p=0;
  963. int _n=0;
  964. int _i=0;
  965. T0* _new_buc=NULL;
  966. int _hash=0;
  967. {T53 *n=((T53*)new(53));
  968. rT53make(n,0,(a1)-(1));
  969. _new_buc=(T0 *)n;}
  970. _i=0;
  971. while (!((_i)>=((C)->_modulus))) {
  972. _n=rT53item((T53*)(C)->_buckets,_i);
  973. while (!((_n)==(0))) {
  974. _p=rT53item((T53*)(C)->_chain,_n);
  975. _hash=(rT7hash_code((T7*)rT42item((T42*)(C)->_keys,_n)))%(a1);
  976. rT53put((T53*)(C)->_chain,rT53item((T53*)_new_buc,_hash),_n);
  977. rT53put((T53*)_new_buc,_n,_hash);
  978. _n=_p;
  979. }
  980. _i=(_i)+(1);
  981. }
  982. C->_buckets=_new_buc;
  983. C->_modulus=a1;
  984. C->_item_mem=0;
  985. }
  986. T0* rT52clone(T52 *C,T0* a1){
  987. T0* R=NULL;
  988. /*IF*/if (((int)a1)) {
  989. R=(T0 *)new(a1->id);
  990. AF_1
  991. XrT28copy(R,a1);
  992. AF_0
  993. }
  994. /*FI*/return R;
  995. }
  996. T0 * rT52at(T52 *C,T0* a1){
  997. T0 * R=NULL;
  998. int _foo=0;
  999. _foo=rT52has(C,a1);
  1000. R=rT54item((T54*)(C)->_store,(C)->_has_mem);
  1001. return R;
  1002. }
  1003. void rT52put(T52 *C,T0 * a1,T0* a2){
  1004. int _hash=0;
  1005. _hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
  1006. /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  1007. C->_has_mem=rT53item((T53*)(C)->_buckets,_hash);
  1008. while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  1009. C->_has_mem=rT53item((T53*)(C)->_chain,(C)->_has_mem);
  1010. }
  1011. /*IF*/if (((C)->_has_mem)==(0)) {
  1012. /*IF*/if (((C)->_count)>=(rT54count((T54*)(C)->_store))) {
  1013. rT52expand(C);
  1014. }
  1015. /*FI*/rT42put((T42*)(C)->_keys,a2,(C)->_free);
  1016. rT54put((T54*)(C)->_store,a1,(C)->_free);
  1017. C->_has_mem=(C)->_free;
  1018. C->_free=rT53item((T53*)(C)->_chain,(C)->_free);
  1019. rT53put((T53*)(C)->_chain,rT53item((T53*)(C)->_buckets,_hash),(C)->_has_mem);
  1020. rT53put((T53*)(C)->_buckets,(C)->_has_mem,_hash);
  1021. C->_count=((C)->_count)+(1);
  1022. /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
  1023. rT52resize(C,(2)*((C)->_modulus));
  1024. }
  1025. /*FI*/}
  1026. /*FI*/}
  1027. else {
  1028. rT54put((T54*)(C)->_store,a1,(C)->_has_mem);
  1029. }
  1030. /*FI*/C->_item_mem=0;
  1031. }
  1032. void rT52standard_copy(T52 *C,T0 * a1){
  1033. memcpy(C,a1,s[a1->id]);
  1034. }
  1035. void rT52copy(T52 *C,T0 * a1){
  1036. rT52standard_copy(C,a1);
  1037. C->_keys=rT52clone(C,((T52*)a1)->_keys);
  1038. C->_store=rT52clone(C,((T52*)a1)->_store);
  1039. C->_buckets=rT52clone(C,((T52*)a1)->_buckets);
  1040. C->_chain=rT52clone(C,((T52*)a1)->_chain);
  1041. }
  1042. void rT52expand(T52 *C){
  1043. int _old_size=0;
  1044. int _i=0;
  1045. C->_item_mem=0;
  1046. _old_size=rT54count((T54*)(C)->_store);
  1047. rT53resize((T53*)(C)->_chain,1,(2)*(_old_size));
  1048. rT42resize((T42*)(C)->_keys,1,(2)*(_old_size));
  1049. rT54resize((T54*)(C)->_store,1,(2)*(_old_size));
  1050. _i=(_old_size)+(1);
  1051. while (!((_i)==(rT53count((T53*)(C)->_chain)))) {
  1052. rT53put((T53*)(C)->_chain,(_i)+(1),_i);
  1053. _i=(_i)+(1);
  1054. }
  1055. rT53put((T53*)(C)->_chain,(C)->_free,_i);
  1056. C->_free=(_old_size)+(1);
  1057. }
  1058. int rT52has(T52 *C,T0* a1){
  1059. int R=0;
  1060. /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  1061. C->_has_mem=rT53item((T53*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
  1062. while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT42item((T42*)(C)->_keys,(C)->_has_mem))))) {
  1063. C->_has_mem=rT53item((T53*)(C)->_chain,(C)->_has_mem);
  1064. }
  1065. }
  1066. /*FI*/R=((C)->_has_mem)!=(0);
  1067. return R;
  1068. }
  1069. void rT52make(T52 *C){
  1070. int _i=0;
  1071. C->_modulus=32;
  1072. C->_count=0;
  1073. C->_free=1;
  1074. C->_has_mem=0;
  1075. C->_item_mem=0;
  1076. {T53 *n=((T53*)new(53));
  1077. rT53make(n,0,((C)->_modulus)-(1));
  1078. C->_buckets=(T0 *)n;}
  1079. {T53 *n=((T53*)new(53));
  1080. rT53make(n,1,16);
  1081. C->_chain=(T0 *)n;}
  1082. {T54 *n=((T54*)new(54));
  1083. rT54make(n,1,16);
  1084. C->_store=(T0 *)n;}
  1085. {T42 *n=((T42*)new(42));
  1086. rT42make(n,1,16);
  1087. C->_keys=(T0 *)n;}
  1088. _i=1;
  1089. while (!((_i)==(rT53count((T53*)(C)->_chain)))) {
  1090. rT53put((T53*)(C)->_chain,(_i)+(1),_i);
  1091. _i=(_i)+(1);
  1092. }
  1093. rT53put((T53*)(C)->_chain,0,_i);
  1094. _i=0;
  1095. while (!((_i)>=((C)->_modulus))) {
  1096. rT53put((T53*)(C)->_buckets,0,_i);
  1097. _i=(_i)+(1);
  1098. }
  1099. }
  1100. T0 * rT245add_comment(T245 *C,T0 * a1){
  1101. T0 * R=NULL;
  1102. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  1103. R=(T0 *)C;
  1104. }
  1105. /*AF*/else {
  1106. {T214 *n=((T214*)new(214));
  1107. rT214make(n,(T0 *)C,a1);
  1108. R=(T0 *)n;}}
  1109. /*FI*/return R;
  1110. }
  1111. void rT245pretty_print(T245 *C){
  1112. rT259put_character((T259*)oRBC27fmt,'\41');
  1113. XrT56pretty_print((C)->_type);
  1114. rT259put_character((T259*)oRBC27fmt,'\41');
  1115. XrT175pretty_print((C)->_call);
  1116. }
  1117. void rT245copy(T245 *C,T0 * a1){
  1118. /*IF*//*AF*//*AE*/
  1119. memcpy(C,a1,s[C->id]);
  1120. /*FI*/}
  1121. void rT245make(T245 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4){
  1122. C->_start_position=a1;
  1123. C->_type=a2;
  1124. C->_writable=a3;
  1125. C->_call=a4;
  1126. }
  1127. T0 * rT243add_comment(T243 *C,T0 * a1){
  1128. T0 * R=NULL;
  1129. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  1130. R=(T0 *)C;
  1131. }
  1132. /*AF*/else {
  1133. {T214 *n=((T214*)new(214));
  1134. rT214make(n,(T0 *)C,a1);
  1135. R=(T0 *)n;}}
  1136. /*FI*/return R;
  1137. }
  1138. void rT243pretty_print(T243 *C){
  1139. rT259put_string((T259*)oRBC27fmt,(T0 *)ms561);
  1140. XrT175pretty_print((C)->_call);
  1141. }
  1142. void rT243copy(T243 *C,T0 * a1){
  1143. /*IF*//*AF*//*AE*/
  1144. memcpy(C,a1,s[C->id]);
  1145. /*FI*/}
  1146. void rT243make(T243 *C,T0 * a1,T0 * a2,T0 * a3){
  1147. C->_start_position=a1;
  1148. C->_writable=a2;
  1149. C->_call=a3;
  1150. }
  1151. T0 * rT241add_comment(T241 *C,T0 * a1){
  1152. T0 * R=NULL;
  1153. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  1154. R=(T0 *)C;
  1155. }
  1156. /*AF*/else {
  1157. {T214 *n=((T214*)new(214));
  1158. rT214make(n,(T0 *)C,a1);
  1159. R=(T0 *)n;}}
  1160. /*FI*/return R;
  1161. }
  1162. void rT241pretty_print(T241 *C){
  1163. rT259put_character((T259*)oRBC27fmt,'\41');
  1164. XrT56pretty_print((C)->_type);
  1165. rT259put_character((T259*)oRBC27fmt,'\41');
  1166. XrT66pretty_print((C)->_writable);
  1167. /*IF*/if (((T259*)oRBC27fmt)->_semi_colon_flag) {
  1168. rT259put_character((T259*)oRBC27fmt,'\73');
  1169. }
  1170. /*FI*/}
  1171. void rT241copy(T241 *C,T0 * a1){
  1172. /*IF*//*AF*//*AE*/
  1173. memcpy(C,a1,s[C->id]);
  1174. /*FI*/}
  1175. void rT241make(T241 *C,T0 * a1,T0 * a2,T0 * a3){
  1176. C->_start_position=a1;
  1177. C->_type=a2;
  1178. C->_writable=a3;
  1179. }
  1180. T0 * rT238add_comment(T238 *C,T0 * a1){
  1181. T0 * R=NULL;
  1182. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  1183. R=(T0 *)C;
  1184. }
  1185. /*AF*/else {
  1186. {T214 *n=((T214*)new(214));
  1187. rT214make(n,(T0 *)C,a1);
  1188. R=(T0 *)n;}}
  1189. /*FI*/return R;
  1190. }
  1191. void rT238pretty_print(T238 *C){
  1192. rT259put_string((T259*)oRBC27fmt,(T0 *)ms560);
  1193. XrT66pretty_print((C)->_writable);
  1194. /*IF*/if (((T259*)oRBC27fmt)->_semi_colon_flag) {
  1195. rT259put_character((T259*)oRBC27fmt,'\73');
  1196. }
  1197. /*FI*/}
  1198. void rT238copy(T238 *C,T0 * a1){
  1199. /*IF*//*AF*//*AE*/
  1200. memcpy(C,a1,s[C->id]);
  1201. /*FI*/}
  1202. void rT238make(T238 *C,T0 * a1,T0 * a2){
  1203. C->_start_position=a1;
  1204. C->_writable=a2;
  1205. }
  1206. T0 * rT213add_comment(T213 *C,T0 * a1){
  1207. T0 * R=NULL;
  1208. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  1209. R=(T0 *)C;
  1210. }
  1211.  else {/*AT*//*IF*/if ((rT57count((T57*)a1))==(1)) {
  1212. R=(T0 *)C;
  1213. }
  1214. else {
  1215. {T214 *n=((T214*)new(214));
  1216. rT214make(n,(T0 *)C,a1);
  1217. R=(T0 *)n;}}
  1218. /*FI*/}
  1219. /*FI*/return R;
  1220. }
  1221. void rT213pretty_print(T213 *C){
  1222. int _i=0;
  1223. rT259keyword((T259*)oRBC27fmt,(T0 *)ms538);
  1224. rT259level_incr((T259*)oRBC27fmt);
  1225. /*IF*/if (((int)(C)->_list)) {
  1226. rT259put_character((T259*)oRBC27fmt,'\50');
  1227. _i=((T149*)(C)->_list)->_lower;
  1228. while (!((_i)>(((T149*)(C)->_list)->_upper))) {
  1229. rT74pretty_print((T74*)rT149item((T149*)(C)->_list,_i));
  1230. _i=(_i)+(1);
  1231. /*IF*/if ((_i)<=(((T149*)(C)->_list)->_upper)) {
  1232. rT259put_character((T259*)oRBC27fmt,'\54');
  1233. }
  1234. /*FI*/}
  1235. rT259put_character((T259*)oRBC27fmt,'\51');
  1236. }
  1237. /*FI*/rT259level_decr((T259*)oRBC27fmt);
  1238. /*IF*/if (((int)(C)->_compound)) {
  1239. rT138pretty_print((T138*)(C)->_compound);
  1240. }
  1241. /*FI*/rT259indent((T259*)oRBC27fmt);
  1242. rT259keyword((T259*)oRBC27fmt,(T0 *)ms539);
  1243. /*IF*/if (((T259*)oRBC27fmt)->_print_end_debug) {
  1244. rT259put_end((T259*)oRBC27fmt,(T0 *)ms540);
  1245. }
  1246. /*FI*/}
  1247. void rT213copy(T213 *C,T0 * a1){
  1248. /*IF*//*AF*//*AE*/
  1249. memcpy(C,a1,s[C->id]);
  1250. /*FI*/}
  1251. void rT213make(T213 *C,T0 * a1,T0* a2,T0 * a3){
  1252. C->_start_position=a1;
  1253. C->_list=a2;
  1254. C->_compound=a3;
  1255. }
  1256. void rT130pretty_print(T130 *C){
  1257. int _i=0;
  1258. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  1259. /*)*//*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  1260. rT259skip((T259*)oRBC27fmt,1);
  1261. }
  1262. else {
  1263. rT259indent((T259*)oRBC27fmt);
  1264. }
  1265. /*FI*/rT259keyword((T259*)oRBC27fmt,(T0 *)ms485);
  1266. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  1267. /*)*//*IF*/if (((int)(C)->_clients)) {
  1268. rT121pretty_print((T121*)(C)->_clients);
  1269. }
  1270. /*FI*//*IF*/if (((int)(C)->_comment)) {
  1271. rT57pretty_print((T57*)(C)->_comment);
  1272. }
  1273. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  1274. /*)*//*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  1275. rT259indent((T259*)oRBC27fmt);
  1276. }
  1277. /*FI*/rT126pretty_print((T126*)(C)->_procedure_list);
  1278. }
  1279. void rT130copy(T130 *C,T0 * a1){
  1280. /*IF*//*AF*//*AE*/
  1281. memcpy(C,a1,s[C->id]);
  1282. /*FI*/}
  1283. void rT130make(T130 *C,T0 * a1,T0 * a2,T0* a3){
  1284. C->_clients=a1;
  1285. C->_comment=a2;
  1286. {T126 *n=((T126*)new(126));
  1287. rT126make(n,a3);
  1288. C->_procedure_list=(T0 *)n;}
  1289. }
  1290. void rT131pretty_print(T131 *C){
  1291. int _i=0;
  1292. _i=1;
  1293. while (!((_i)>(((T132*)(C)->_list)->_upper))) {
  1294. rT130pretty_print((T130*)rT132item((T132*)(C)->_list,_i));
  1295. /*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  1296. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  1297. /*)*/rT259skip((T259*)oRBC27fmt,1);
  1298. }
  1299. /*FI*/_i=(_i)+(1);
  1300. }
  1301. }
  1302. void rT131add_last(T131 *C,T0 * a1){
  1303. rT132add_last((T132*)(C)->_list,a1);
  1304. }
  1305. void rT131copy(T131 *C,T0 * a1){
  1306. /*IF*//*AF*//*AE*/
  1307. memcpy(C,a1,s[C->id]);
  1308. /*FI*/}
  1309. void rT220pretty_print(T220 *C){
  1310. int _i=0;
  1311. _i=1;
  1312. while (!((_i)>(((T221*)(C)->_list)->_upper))) {
  1313. rT219pretty_print((T219*)rT221item((T221*)(C)->_list,_i));
  1314. _i=(_i)+(1);
  1315. /*IF*/if ((_i)<=(((T221*)(C)->_list)->_upper)) {
  1316. rT259indent((T259*)oRBC27fmt);
  1317. rT259keyword((T259*)oRBC27fmt,(T0 *)ms543);
  1318. }
  1319. /*FI*/}
  1320. }
  1321. void rT220add_last(T220 *C,T0 * a1){
  1322. rT221add_last((T221*)(C)->_list,a1);
  1323. }
  1324. void rT220copy(T220 *C,T0 * a1){
  1325. /*IF*//*AF*//*AE*/
  1326. memcpy(C,a1,s[C->id]);
  1327. /*FI*/}
  1328. void rT219pretty_print(T219 *C){
  1329. rT259level_incr((T259*)oRBC27fmt);
  1330. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(0);
  1331. /*)*/XrT66pretty_print((C)->_expression);
  1332. rT259level_decr((T259*)oRBC27fmt);
  1333. rT259keyword((T259*)oRBC27fmt,(T0 *)ms542);
  1334. rT259indent((T259*)oRBC27fmt);
  1335. /*IF*/if (((int)(C)->_then_compound)) {
  1336. rT138pretty_print((T138*)(C)->_then_compound);
  1337. }
  1338. /*FI*/}
  1339. void rT219copy(T219 *C,T0 * a1){
  1340. /*IF*//*AF*//*AE*/
  1341. memcpy(C,a1,s[C->id]);
  1342. /*FI*/}
  1343. void rT219make(T219 *C,T0 * a1,T0 * a2){
  1344. C->_expression=a1;
  1345. C->_then_compound=a2;
  1346. }
  1347. T0 * rT216add_comment(T216 *C,T0 * a1){
  1348. T0 * R=NULL;
  1349. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  1350. R=(T0 *)C;
  1351. }
  1352.  else {/*AT*//*IF*/if ((rT57count((T57*)a1))==(1)) {
  1353. R=(T0 *)C;
  1354. }
  1355. else {
  1356. {T214 *n=((T214*)new(214));
  1357. rT214make(n,(T0 *)C,a1);
  1358. R=(T0 *)n;}}
  1359. /*FI*/}
  1360. /*FI*/return R;
  1361. }
  1362. void rT216pretty_print(T216 *C){
  1363. rT259keyword((T259*)oRBC27fmt,(T0 *)ms541);
  1364. rT220pretty_print((T220*)(C)->_ifthenlist);
  1365. /*IF*/if (((int)(C)->_else_compound)) {
  1366. rT259indent((T259*)oRBC27fmt);
  1367. rT259keyword((T259*)oRBC27fmt,(T0 *)ms544);
  1368. rT138pretty_print((T138*)(C)->_else_compound);
  1369. }
  1370. /*FI*/rT259indent((T259*)oRBC27fmt);
  1371. rT259keyword((T259*)oRBC27fmt,(T0 *)ms545);
  1372. /*IF*/if (((T259*)oRBC27fmt)->_print_end_if) {
  1373. rT259put_end((T259*)oRBC27fmt,(T0 *)ms546);
  1374. }
  1375. /*FI*/}
  1376. void rT216add_if_then(T216 *C,T0 * a1,T0 * a2){
  1377. T0 * _ifthen=NULL;
  1378. {T219 *n=((T219*)new(219));
  1379. rT219make(n,a1,a2);
  1380. _ifthen=(T0 *)n;}
  1381. /*IF*/if (!((C)->_ifthenlist)) {
  1382. {T220 *n=((T220*)new(220));
  1383. /*(IRF3*/((n)->_list)=(ma(221,0,1,_ifthen));
  1384. /*)*/C->_ifthenlist=(T0 *)n;}
  1385. }
  1386. else {
  1387. rT220add_last((T220*)(C)->_ifthenlist,_ifthen);
  1388. }
  1389. /*FI*/}
  1390. void rT216copy(T216 *C,T0 * a1){
  1391. C->_start_position=((T216*)a1)->_start_position;
  1392. C->_ifthenlist=((T216*)a1)->_ifthenlist;
  1393. C->_else_compound=((T216*)a1)->_else_compound;
  1394. }
  1395. int rT57count(T57 *C){
  1396. int R=0;
  1397. R=rT42count((T42*)(C)->_list);
  1398. return R;
  1399. }
  1400. void rT57error(/*C*/T0 * a1,T0* a2){
  1401. /*UT*/(T43*)oRBC27eh;
  1402. rT43add_position(a1);
  1403. rT43error((T43*)oRBC27eh,a2);
  1404. }
  1405. int rT57dummy(T57 *C){
  1406. int R=0;
  1407. T0* _str=NULL;
  1408. /*IF*/if ((rT42count((T42*)(C)->_list))==(1)) {
  1409. _str=rT42first((T42*)(C)->_list);
  1410. /*IF*/if ((((T7*)_str)->_count)<(10)) {
  1411. R=1;
  1412. }
  1413. else {
  1414. rT57error(NULL,(T0 *)ms526);
  1415. }
  1416. /*FI*/}
  1417. /*FI*/return R;
  1418. }
  1419. void rT57pretty_print(T57 *C){
  1420. int _column=0;
  1421. int _i=0;
  1422. /*IF*/if (((((T259*)oRBC27fmt)->_column)>(1))&&((((T259*)oRBC27fmt)->_last_character)!=('\40'))) {
  1423. rT259put_character((T259*)oRBC27fmt,'\40');
  1424. }
  1425. /*FI*/_column=((T259*)oRBC27fmt)->_column;
  1426. _i=((T42*)(C)->_list)->_lower;
  1427. while (!((_i)>(((T42*)(C)->_list)->_upper))) {
  1428. rT259put_string((T259*)oRBC27fmt,(T0 *)ms460);
  1429. rT259put_string((T259*)oRBC27fmt,rT42item((T42*)(C)->_list,_i));
  1430. _i=(_i)+(1);
  1431. /*IF*/if ((_i)<=(((T42*)(C)->_list)->_upper)) {
  1432. rT259put_character((T259*)oRBC27fmt,'\12');
  1433. while (!((((T259*)oRBC27fmt)->_column)==(_column))) {
  1434. rT259put_character((T259*)oRBC27fmt,'\40');
  1435. }
  1436. }
  1437. /*FI*/}
  1438. rT259put_character((T259*)oRBC27fmt,'\12');
  1439. rT259indent((T259*)oRBC27fmt);
  1440. }
  1441. void rT57add_last(T57 *C,T0* a1){
  1442. rT42add_last((T42*)(C)->_list,a1);
  1443. }
  1444. void rT57copy(T57 *C,T0 * a1){
  1445. /*IF*//*AF*//*AE*/
  1446. memcpy(C,a1,s[C->id]);
  1447. /*FI*/}
  1448. void rT57make(T57 *C,T0 * a1,T0* a2){
  1449. C->_start_position=a1;
  1450. C->_list=a2;
  1451. }
  1452. void rT117pretty_print(T117 *C){
  1453. XrT65pretty_print((C)->_old_name);
  1454. rT259keyword((T259*)oRBC27fmt,(T0 *)ms472);
  1455. XrT65pretty_print((C)->_new_name);
  1456. }
  1457. void rT117copy(T117 *C,T0 * a1){
  1458. /*IF*//*AF*//*AE*/
  1459. memcpy(C,a1,s[C->id]);
  1460. /*FI*/}
  1461. void rT117make(T117 *C,T0 * a1,T0 * a2){
  1462. C->_old_name=a1;
  1463. C->_new_name=a2;
  1464. }
  1465. void rT118fatal_error(/*C*/T0* a1){
  1466. rT43fatal_error((T43*)oRBC27eh,a1);
  1467. }
  1468. void rT118pretty_print(T118 *C){
  1469. int _i=0;
  1470. int _icount=0;
  1471. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1472. /*)*/rT259indent((T259*)oRBC27fmt);
  1473. rT259keyword((T259*)oRBC27fmt,(T0 *)ms471);
  1474. _i=1;
  1475. while (!((_i)>(((T119*)(C)->_list)->_upper))) {
  1476. rT117pretty_print((T117*)rT119item((T119*)(C)->_list,_i));
  1477. _i=(_i)+(1);
  1478. _icount=(_icount)+(1);
  1479. /*IF*/if ((_i)<=(((T119*)(C)->_list)->_upper)) {
  1480. rT259put_string((T259*)oRBC27fmt,(T0 *)ms473);
  1481. /*IF*/if ((_icount)>(3)) {
  1482. _icount=0;
  1483. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  1484. /*)*/rT259indent((T259*)oRBC27fmt);
  1485. }
  1486. /*FI*/}
  1487. /*FI*/}
  1488. }
  1489. void rT118get_started(T118 *C,T0 * a1){
  1490. T0 * _rp=NULL;
  1491. int _i=0;
  1492. _i=((T119*)(C)->_list)->_upper;
  1493. while (!((_i)==(0))) {
  1494. _rp=rT119item((T119*)(C)->_list,_i);
  1495. /*IF*/if (!(rT48has((T48*)a1,((T117*)_rp)->_old_name))) {
  1496. /*UT*/(T43*)oRBC27eh;
  1497. rT43add_position(XrT65start_position(((T117*)_rp)->_old_name));
  1498. rT118fatal_error((T0 *)ms418);
  1499. }
  1500. /*FI*/_i=(_i)-(1);
  1501. }
  1502. }
  1503. void rT118add_last(T118 *C,T0 * a1){
  1504. rT119add_last((T119*)(C)->_list,a1);
  1505. }
  1506. T0 * rT118to_new_name(T118 *C,T0 * a1){
  1507. T0 * R=NULL;
  1508. int _i=0;
  1509. _i=1;
  1510. while (!((((int)R))||((_i)>(((T119*)(C)->_list)->_upper)))) {
  1511. /*IF*/if (XrT65same_as(((T117*)rT119item((T119*)(C)->_list,_i))->_old_name,a1)) {
  1512. R=((T117*)rT119item((T119*)(C)->_list,_i))->_new_name;
  1513. }
  1514. /*FI*/_i=(_i)+(1);
  1515. }
  1516. /*IF*/if (!(R)) {
  1517. R=a1;
  1518. }
  1519. /*FI*/return R;
  1520. }
  1521. void rT118copy(T118 *C,T0 * a1){
  1522. /*IF*//*AF*//*AE*/
  1523. memcpy(C,a1,s[C->id]);
  1524. /*FI*/}
  1525. T0 * rT211add_comment(T211 *C,T0 * a1){
  1526. T0 * R=NULL;
  1527. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  1528. R=(T0 *)C;
  1529. }
  1530.  else {/*AT*//*IF*/if ((rT57count((T57*)a1))==(1)) {
  1531. R=(T0 *)C;
  1532. }
  1533. else {
  1534. {T214 *n=((T214*)new(214));
  1535. rT214make(n,(T0 *)C,a1);
  1536. R=(T0 *)n;}}
  1537. /*FI*/}
  1538. /*FI*/return R;
  1539. }
  1540. void rT211pretty_print(T211 *C){
  1541. rT212pretty_print((T212*)(C)->_check_invariant);
  1542. rT259put_string((T259*)oRBC27fmt,(T0 *)ms535);
  1543. /*IF*/if (((T259*)oRBC27fmt)->_print_end_check) {
  1544. rT259put_end((T259*)oRBC27fmt,(T0 *)ms537);
  1545. }
  1546. /*FI*/}
  1547. void rT211copy(T211 *C,T0 * a1){
  1548. /*IF*//*AF*//*AE*/
  1549. memcpy(C,a1,s[C->id]);
  1550. /*FI*/}
  1551. void rT211make(T211 *C,T0 * a1,T0 * a2,T0* a3){
  1552. {T212 *n=((T212*)new(212));
  1553. rT212make(n,a1,a2,a3);
  1554. C->_check_invariant=(T0 *)n;}
  1555. }
  1556. void rT255pretty_print(T255 *C){
  1557. int _i=0;
  1558. _i=1;
  1559. while (!((_i)>(((T256*)(C)->_list)->_upper))) {
  1560. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  1561. /*)*/rT259indent((T259*)oRBC27fmt);
  1562. /*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  1563. rT259skip((T259*)oRBC27fmt,1);
  1564. }
  1565. /*FI*/rT133pretty_print((T133*)rT256item((T256*)(C)->_list,_i));
  1566. _i=(_i)+(1);
  1567. }
  1568. }
  1569. void rT255get_started(T255 *C,T0 * a1){
  1570. int _i=0;
  1571. _i=1;
  1572. while (!((_i)>(((T256*)(C)->_list)->_upper))) {
  1573. rT133add_into((T133*)rT256item((T256*)(C)->_list,_i),a1);
  1574. _i=(_i)+(1);
  1575. }
  1576. }
  1577. void rT255add_last(T255 *C,T0 * a1){
  1578. rT256add_last((T256*)(C)->_list,a1);
  1579. }
  1580. void rT255copy(T255 *C,T0 * a1){
  1581. /*IF*//*AF*//*AE*/
  1582. memcpy(C,a1,s[C->id]);
  1583. /*FI*/}
  1584. T0 * rT90name(T90 *C,int a1){
  1585. T0 * R=NULL;
  1586. R=((T92*)rT94item((T94*)(C)->_flat_list,a1))->_name;
  1587. return R;
  1588. }
  1589. int rT90count(T90 *C){
  1590. int R=0;
  1591. R=((T94*)(C)->_flat_list)->_upper;
  1592. return R;
  1593. }
  1594. void rT90error(/*C*/T0 * a1,T0* a2){
  1595. /*UT*/(T43*)oRBC27eh;
  1596. rT43add_position(a1);
  1597. rT43error((T43*)oRBC27eh,a2);
  1598. }
  1599. int rT90rank_of(T90 *C,T0 * a1){
  1600. int R=0;
  1601. T0* _ns=NULL;
  1602. _ns=XrT47to_string(a1);
  1603. R=rT90count(C);
  1604. while (!(((R)==(0))||(rT7is_equal((T7*)_ns,XrT47to_string(rT90name(C,R)))))) {
  1605. R=(R)-(1);
  1606. }
  1607. return R;
  1608. }
  1609. void rT90pretty_print(T90 *C){
  1610. int _i=0;
  1611. rT259put_character((T259*)oRBC27fmt,'\50');
  1612. rT259level_incr((T259*)oRBC27fmt);
  1613. _i=1;
  1614. while (!((_i)>(XrT141upper((C)->_list)))) {
  1615. XrT93pretty_print(XrT141item((C)->_list,_i));
  1616. _i=(_i)+(1);
  1617. /*IF*/if ((_i)<=(XrT141upper((C)->_list))) {
  1618. rT259put_string((T259*)oRBC27fmt,(T0 *)ms516);
  1619. }
  1620. /*FI*/}
  1621. rT259level_decr((T259*)oRBC27fmt);
  1622. rT259put_character((T259*)oRBC27fmt,'\51');
  1623. }
  1624. void rT90super_make(T90 *C,T0 * a1,T0* a2){
  1625. int _actual_count=0;
  1626. int _ifl=0;
  1627. int _il=0;
  1628. C->_start_position=a1;
  1629. C->_list=a2;
  1630. _il=1;
  1631. while (!((_il)>(XrT141upper((C)->_list)))) {
  1632. _actual_count=(_actual_count)+(XrT93count(XrT141item((C)->_list,_il)));
  1633. _il=(_il)+(1);
  1634. }
  1635. {T94 *n=((T94*)new(94));
  1636. rT94make(n,1,_actual_count);
  1637. C->_flat_list=(T0 *)n;}
  1638. _ifl=1;
  1639. _il=1;
  1640. while (!((_il)>(XrT141upper((C)->_list)))) {
  1641. _ifl=XrT93put_into(XrT141item((C)->_list,_il),(C)->_flat_list,_ifl);
  1642. _il=(_il)+(1);
  1643. }
  1644. }
  1645. void rT90copy(T90 *C,T0 * a1){
  1646. C->_start_position=((T90*)a1)->_start_position;
  1647. C->_list=((T90*)a1)->_list;
  1648. C->_flat_list=((T90*)a1)->_flat_list;
  1649. }
  1650. void rT90make(T90 *C,T0 * a1,T0* a2){
  1651. int _rank=0;
  1652. int _i=0;
  1653. T0 * _tla=NULL;
  1654. T0 * _an=NULL;
  1655. T0 * _tlf=NULL;
  1656. T0 * _d1=NULL;
  1657. rT90super_make(C,a1,a2);
  1658. _i=1;
  1659. while (!((_i)>(((T94*)(C)->_flat_list)->_upper))) {
  1660. _d1=rT94item((T94*)(C)->_flat_list,_i);
  1661. _tlf=((T92*)_d1)->_type;
  1662. if ((int)_tlf) switch (((T0 *)_tlf)->id) {
  1663. case 97: 
  1664. break;
  1665. default:
  1666. _tlf = NULL;
  1667. };/*IF*/if (((int)_tlf)) {
  1668. _rank=rT90rank_of(C,((T97*)_tlf)->_like_what);
  1669. /*IF*/if ((_rank)==(_i)) {
  1670. rT90error(((T97*)_tlf)->_start_position,(T0 *)ms260);
  1671. }
  1672.  else if ((_rank)>(0)) {
  1673. {T86 *n=((T86*)new(86));
  1674. rT86make(n,XrT65start_position(((T97*)_tlf)->_like_what),XrT65to_string(((T97*)_tlf)->_like_what),_rank);
  1675. _an=(T0 *)n;}
  1676. {T96 *n=((T96*)new(96));
  1677. rT96make(n,((T97*)_tlf)->_start_position,_an);
  1678. _tla=(T0 *)n;}
  1679. /*(IRF3*/(((T92*)_d1)->_type)=(_tla);
  1680. /*)*/}
  1681. /*FI*/}
  1682. /*FI*/_i=(_i)+(1);
  1683. }
  1684. }
  1685.