00001
00002
00003 #ifndef lestes__backend_v2__intercode__pi_visitor_bases_v_g_hh__included
00004 #define lestes__backend_v2__intercode__pi_visitor_bases_v_g_hh__included
00005
00006 #include <lestes/backend_v2/common.hh>
00007 #include <lestes/std/visitor_base.hh>
00008 #include <lestes/backend_v2/intercode/pi.g.hh>
00009
00010 #include <lestes/std/objectize_macros.hh>
00011 package(lestes);
00012 package(backend_v2);
00013 package(intercode);
00014 class pi_pi;
00015 end_package(intercode);
00016 end_package(backend_v2);
00017 end_package(lestes);
00018
00019 package(lestes);
00020 package(backend_v2);
00021 package(intercode);
00022 class pi_branch;
00023 end_package(intercode);
00024 end_package(backend_v2);
00025 end_package(lestes);
00026
00027 package(lestes);
00028 package(backend_v2);
00029 package(intercode);
00030 class pi_conditional_branch;
00031 end_package(intercode);
00032 end_package(backend_v2);
00033 end_package(lestes);
00034
00035 package(lestes);
00036 package(backend_v2);
00037 package(intercode);
00038 class pi_uconditional_branch;
00039 end_package(intercode);
00040 end_package(backend_v2);
00041 end_package(lestes);
00042
00043 package(lestes);
00044 package(backend_v2);
00045 package(intercode);
00046 class pi_branch_multiple;
00047 end_package(intercode);
00048 end_package(backend_v2);
00049 end_package(lestes);
00050
00051 package(lestes);
00052 package(backend_v2);
00053 package(intercode);
00054 class pi_cb_single_label_target;
00055 end_package(intercode);
00056 end_package(backend_v2);
00057 end_package(lestes);
00058
00059 package(lestes);
00060 package(backend_v2);
00061 package(intercode);
00062 class pi_cb_single_address_target;
00063 end_package(intercode);
00064 end_package(backend_v2);
00065 end_package(lestes);
00066
00067 package(lestes);
00068 package(backend_v2);
00069 package(intercode);
00070 class pi_ub_single_label_target;
00071 end_package(intercode);
00072 end_package(backend_v2);
00073 end_package(lestes);
00074
00075 package(lestes);
00076 package(backend_v2);
00077 package(intercode);
00078 class pi_ub_single_address_target;
00079 end_package(intercode);
00080 end_package(backend_v2);
00081 end_package(lestes);
00082
00083 package(lestes);
00084 package(backend_v2);
00085 package(intercode);
00086 class pi_branch_multiple_label_target;
00087 end_package(intercode);
00088 end_package(backend_v2);
00089 end_package(lestes);
00090
00091 package(lestes);
00092 package(backend_v2);
00093 package(intercode);
00094 class pi_branch_multiple_address_target;
00095 end_package(intercode);
00096 end_package(backend_v2);
00097 end_package(lestes);
00098
00099 package(lestes);
00100 package(backend_v2);
00101 package(intercode);
00102 class pi_bpi;
00103 end_package(intercode);
00104 end_package(backend_v2);
00105 end_package(lestes);
00106
00107 package(lestes);
00108 package(backend_v2);
00109 package(intercode);
00110 class pi_tpi;
00111 end_package(intercode);
00112 end_package(backend_v2);
00113 end_package(lestes);
00114
00115 package(lestes);
00116 package(backend_v2);
00117 package(intercode);
00118 class pi_abstract_function_call;
00119 end_package(intercode);
00120 end_package(backend_v2);
00121 end_package(lestes);
00122
00123 package(lestes);
00124 package(backend_v2);
00125 package(intercode);
00126 class pi_bdtpi;
00127 end_package(intercode);
00128 end_package(backend_v2);
00129 end_package(lestes);
00130
00131 package(lestes);
00132 package(backend_v2);
00133 package(intercode);
00134 class pi_abstract_move;
00135 end_package(intercode);
00136 end_package(backend_v2);
00137 end_package(lestes);
00138
00139 package(lestes);
00140 package(backend_v2);
00141 package(intercode);
00142 class pi_abstract_move_st;
00143 end_package(intercode);
00144 end_package(backend_v2);
00145 end_package(lestes);
00146
00147 package(lestes);
00148 package(backend_v2);
00149 package(intercode);
00150 class pi_abstract_move_dt;
00151 end_package(intercode);
00152 end_package(backend_v2);
00153 end_package(lestes);
00154
00155 package(lestes);
00156 package(backend_v2);
00157 package(intercode);
00158 class pi_indirect_store;
00159 end_package(intercode);
00160 end_package(backend_v2);
00161 end_package(lestes);
00162
00163 package(lestes);
00164 package(backend_v2);
00165 package(intercode);
00166 class pi_indirect_load;
00167 end_package(intercode);
00168 end_package(backend_v2);
00169 end_package(lestes);
00170
00171 package(lestes);
00172 package(backend_v2);
00173 package(intercode);
00174 class pi_bstpi;
00175 end_package(intercode);
00176 end_package(backend_v2);
00177 end_package(lestes);
00178
00179 package(lestes);
00180 package(backend_v2);
00181 package(intercode);
00182 class pi_tstpi;
00183 end_package(intercode);
00184 end_package(backend_v2);
00185 end_package(lestes);
00186
00187 package(lestes);
00188 package(backend_v2);
00189 package(intercode);
00190 class pi_tdtpi;
00191 end_package(intercode);
00192 end_package(backend_v2);
00193 end_package(lestes);
00194
00195 package(lestes);
00196 package(backend_v2);
00197 package(intercode);
00198 class pi_sp;
00199 end_package(intercode);
00200 end_package(backend_v2);
00201 end_package(lestes);
00202
00203 package(lestes);
00204 package(backend_v2);
00205 package(intercode);
00206 class pi_add;
00207 end_package(intercode);
00208 end_package(backend_v2);
00209 end_package(lestes);
00210
00211 package(lestes);
00212 package(backend_v2);
00213 package(intercode);
00214 class pi_sub;
00215 end_package(intercode);
00216 end_package(backend_v2);
00217 end_package(lestes);
00218
00219 package(lestes);
00220 package(backend_v2);
00221 package(intercode);
00222 class pi_mul;
00223 end_package(intercode);
00224 end_package(backend_v2);
00225 end_package(lestes);
00226
00227 package(lestes);
00228 package(backend_v2);
00229 package(intercode);
00230 class pi_div;
00231 end_package(intercode);
00232 end_package(backend_v2);
00233 end_package(lestes);
00234
00235 package(lestes);
00236 package(backend_v2);
00237 package(intercode);
00238 class pi_divrni;
00239 end_package(intercode);
00240 end_package(backend_v2);
00241 end_package(lestes);
00242
00243 package(lestes);
00244 package(backend_v2);
00245 package(intercode);
00246 class pi_divrpi;
00247 end_package(intercode);
00248 end_package(backend_v2);
00249 end_package(lestes);
00250
00251 package(lestes);
00252 package(backend_v2);
00253 package(intercode);
00254 class pi_divrz;
00255 end_package(intercode);
00256 end_package(backend_v2);
00257 end_package(lestes);
00258
00259 package(lestes);
00260 package(backend_v2);
00261 package(intercode);
00262 class pi_mod;
00263 end_package(intercode);
00264 end_package(backend_v2);
00265 end_package(lestes);
00266
00267 package(lestes);
00268 package(backend_v2);
00269 package(intercode);
00270 class pi_rem;
00271 end_package(intercode);
00272 end_package(backend_v2);
00273 end_package(lestes);
00274
00275 package(lestes);
00276 package(backend_v2);
00277 package(intercode);
00278 class pi_neg;
00279 end_package(intercode);
00280 end_package(backend_v2);
00281 end_package(lestes);
00282
00283 package(lestes);
00284 package(backend_v2);
00285 package(intercode);
00286 class pi_gat;
00287 end_package(intercode);
00288 end_package(backend_v2);
00289 end_package(lestes);
00290
00291 package(lestes);
00292 package(backend_v2);
00293 package(intercode);
00294 class pi_shl;
00295 end_package(intercode);
00296 end_package(backend_v2);
00297 end_package(lestes);
00298
00299 package(lestes);
00300 package(backend_v2);
00301 package(intercode);
00302 class pi_shr;
00303 end_package(intercode);
00304 end_package(backend_v2);
00305 end_package(lestes);
00306
00307 package(lestes);
00308 package(backend_v2);
00309 package(intercode);
00310 class pi_sal;
00311 end_package(intercode);
00312 end_package(backend_v2);
00313 end_package(lestes);
00314
00315 package(lestes);
00316 package(backend_v2);
00317 package(intercode);
00318 class pi_sar;
00319 end_package(intercode);
00320 end_package(backend_v2);
00321 end_package(lestes);
00322
00323 package(lestes);
00324 package(backend_v2);
00325 package(intercode);
00326 class pi_band;
00327 end_package(intercode);
00328 end_package(backend_v2);
00329 end_package(lestes);
00330
00331 package(lestes);
00332 package(backend_v2);
00333 package(intercode);
00334 class pi_bor;
00335 end_package(intercode);
00336 end_package(backend_v2);
00337 end_package(lestes);
00338
00339 package(lestes);
00340 package(backend_v2);
00341 package(intercode);
00342 class pi_bxor;
00343 end_package(intercode);
00344 end_package(backend_v2);
00345 end_package(lestes);
00346
00347 package(lestes);
00348 package(backend_v2);
00349 package(intercode);
00350 class pi_bnot;
00351 end_package(intercode);
00352 end_package(backend_v2);
00353 end_package(lestes);
00354
00355 package(lestes);
00356 package(backend_v2);
00357 package(intercode);
00358 class pi_land;
00359 end_package(intercode);
00360 end_package(backend_v2);
00361 end_package(lestes);
00362
00363 package(lestes);
00364 package(backend_v2);
00365 package(intercode);
00366 class pi_lor;
00367 end_package(intercode);
00368 end_package(backend_v2);
00369 end_package(lestes);
00370
00371 package(lestes);
00372 package(backend_v2);
00373 package(intercode);
00374 class pi_lxor;
00375 end_package(intercode);
00376 end_package(backend_v2);
00377 end_package(lestes);
00378
00379 package(lestes);
00380 package(backend_v2);
00381 package(intercode);
00382 class pi_lnot;
00383 end_package(intercode);
00384 end_package(backend_v2);
00385 end_package(lestes);
00386
00387 package(lestes);
00388 package(backend_v2);
00389 package(intercode);
00390 class pi_cvt;
00391 end_package(intercode);
00392 end_package(backend_v2);
00393 end_package(lestes);
00394
00395 package(lestes);
00396 package(backend_v2);
00397 package(intercode);
00398 class pi_cmp;
00399 end_package(intercode);
00400 end_package(backend_v2);
00401 end_package(lestes);
00402
00403 package(lestes);
00404 package(backend_v2);
00405 package(intercode);
00406 class pi_mov;
00407 end_package(intercode);
00408 end_package(backend_v2);
00409 end_package(lestes);
00410
00411 package(lestes);
00412 package(backend_v2);
00413 package(intercode);
00414 class pi_ld;
00415 end_package(intercode);
00416 end_package(backend_v2);
00417 end_package(lestes);
00418
00419 package(lestes);
00420 package(backend_v2);
00421 package(intercode);
00422 class pi_lda;
00423 end_package(intercode);
00424 end_package(backend_v2);
00425 end_package(lestes);
00426
00427 package(lestes);
00428 package(backend_v2);
00429 package(intercode);
00430 class pi_ldi;
00431 end_package(intercode);
00432 end_package(backend_v2);
00433 end_package(lestes);
00434
00435 package(lestes);
00436 package(backend_v2);
00437 package(intercode);
00438 class pi_ldp;
00439 end_package(intercode);
00440 end_package(backend_v2);
00441 end_package(lestes);
00442
00443 package(lestes);
00444 package(backend_v2);
00445 package(intercode);
00446 class pi_ldv;
00447 end_package(intercode);
00448 end_package(backend_v2);
00449 end_package(lestes);
00450
00451 package(lestes);
00452 package(backend_v2);
00453 package(intercode);
00454 class pi_ldpv;
00455 end_package(intercode);
00456 end_package(backend_v2);
00457 end_package(lestes);
00458
00459 package(lestes);
00460 package(backend_v2);
00461 package(intercode);
00462 class pi_st;
00463 end_package(intercode);
00464 end_package(backend_v2);
00465 end_package(lestes);
00466
00467 package(lestes);
00468 package(backend_v2);
00469 package(intercode);
00470 class pi_sti;
00471 end_package(intercode);
00472 end_package(backend_v2);
00473 end_package(lestes);
00474
00475 package(lestes);
00476 package(backend_v2);
00477 package(intercode);
00478 class pi_stp;
00479 end_package(intercode);
00480 end_package(backend_v2);
00481 end_package(lestes);
00482
00483 package(lestes);
00484 package(backend_v2);
00485 package(intercode);
00486 class pi_stv;
00487 end_package(intercode);
00488 end_package(backend_v2);
00489 end_package(lestes);
00490
00491 package(lestes);
00492 package(backend_v2);
00493 package(intercode);
00494 class pi_stiv;
00495 end_package(intercode);
00496 end_package(backend_v2);
00497 end_package(lestes);
00498
00499 package(lestes);
00500 package(backend_v2);
00501 package(intercode);
00502 class pi_stpv;
00503 end_package(intercode);
00504 end_package(backend_v2);
00505 end_package(lestes);
00506
00507 package(lestes);
00508 package(backend_v2);
00509 package(intercode);
00510 class pi_call;
00511 end_package(intercode);
00512 end_package(backend_v2);
00513 end_package(lestes);
00514
00515 package(lestes);
00516 package(backend_v2);
00517 package(intercode);
00518 class pi_icall;
00519 end_package(intercode);
00520 end_package(backend_v2);
00521 end_package(lestes);
00522
00523 package(lestes);
00524 package(backend_v2);
00525 package(intercode);
00526 class pi_callv;
00527 end_package(intercode);
00528 end_package(backend_v2);
00529 end_package(lestes);
00530
00531 package(lestes);
00532 package(backend_v2);
00533 package(intercode);
00534 class pi_icallv;
00535 end_package(intercode);
00536 end_package(backend_v2);
00537 end_package(lestes);
00538
00539 package(lestes);
00540 package(backend_v2);
00541 package(intercode);
00542 class pi_ba;
00543 end_package(intercode);
00544 end_package(backend_v2);
00545 end_package(lestes);
00546
00547 package(lestes);
00548 package(backend_v2);
00549 package(intercode);
00550 class pi_bn;
00551 end_package(intercode);
00552 end_package(backend_v2);
00553 end_package(lestes);
00554
00555 package(lestes);
00556 package(backend_v2);
00557 package(intercode);
00558 class pi_bt;
00559 end_package(intercode);
00560 end_package(backend_v2);
00561 end_package(lestes);
00562
00563 package(lestes);
00564 package(backend_v2);
00565 package(intercode);
00566 class pi_bf;
00567 end_package(intercode);
00568 end_package(backend_v2);
00569 end_package(lestes);
00570
00571 package(lestes);
00572 package(backend_v2);
00573 package(intercode);
00574 class pi_bm;
00575 end_package(intercode);
00576 end_package(backend_v2);
00577 end_package(lestes);
00578
00579 package(lestes);
00580 package(backend_v2);
00581 package(intercode);
00582 class pi_bg;
00583 end_package(intercode);
00584 end_package(backend_v2);
00585 end_package(lestes);
00586
00587 package(lestes);
00588 package(backend_v2);
00589 package(intercode);
00590 class pi_bl;
00591 end_package(intercode);
00592 end_package(backend_v2);
00593 end_package(lestes);
00594
00595 package(lestes);
00596 package(backend_v2);
00597 package(intercode);
00598 class pi_be;
00599 end_package(intercode);
00600 end_package(backend_v2);
00601 end_package(lestes);
00602
00603 package(lestes);
00604 package(backend_v2);
00605 package(intercode);
00606 class pi_bng;
00607 end_package(intercode);
00608 end_package(backend_v2);
00609 end_package(lestes);
00610
00611 package(lestes);
00612 package(backend_v2);
00613 package(intercode);
00614 class pi_bnl;
00615 end_package(intercode);
00616 end_package(backend_v2);
00617 end_package(lestes);
00618
00619 package(lestes);
00620 package(backend_v2);
00621 package(intercode);
00622 class pi_bne;
00623 end_package(intercode);
00624 end_package(backend_v2);
00625 end_package(lestes);
00626
00627 package(lestes);
00628 package(backend_v2);
00629 package(intercode);
00630 class pi_iba;
00631 end_package(intercode);
00632 end_package(backend_v2);
00633 end_package(lestes);
00634
00635 package(lestes);
00636 package(backend_v2);
00637 package(intercode);
00638 class pi_ibn;
00639 end_package(intercode);
00640 end_package(backend_v2);
00641 end_package(lestes);
00642
00643 package(lestes);
00644 package(backend_v2);
00645 package(intercode);
00646 class pi_ibm;
00647 end_package(intercode);
00648 end_package(backend_v2);
00649 end_package(lestes);
00650
00651 package(lestes);
00652 package(backend_v2);
00653 package(intercode);
00654 class pi_ibg;
00655 end_package(intercode);
00656 end_package(backend_v2);
00657 end_package(lestes);
00658
00659 package(lestes);
00660 package(backend_v2);
00661 package(intercode);
00662 class pi_ibl;
00663 end_package(intercode);
00664 end_package(backend_v2);
00665 end_package(lestes);
00666
00667 package(lestes);
00668 package(backend_v2);
00669 package(intercode);
00670 class pi_ibe;
00671 end_package(intercode);
00672 end_package(backend_v2);
00673 end_package(lestes);
00674
00675 package(lestes);
00676 package(backend_v2);
00677 package(intercode);
00678 class pi_ibng;
00679 end_package(intercode);
00680 end_package(backend_v2);
00681 end_package(lestes);
00682
00683 package(lestes);
00684 package(backend_v2);
00685 package(intercode);
00686 class pi_ibnl;
00687 end_package(intercode);
00688 end_package(backend_v2);
00689 end_package(lestes);
00690
00691 package(lestes);
00692 package(backend_v2);
00693 package(intercode);
00694 class pi_ibne;
00695 end_package(intercode);
00696 end_package(backend_v2);
00697 end_package(lestes);
00698
00699 package(lestes);
00700 package(backend_v2);
00701 package(intercode);
00702 class pi_leave;
00703 end_package(intercode);
00704 end_package(backend_v2);
00705 end_package(lestes);
00706
00707 package(lestes);
00708 package(backend_v2);
00709 package(intercode);
00710 class pi_sbg;
00711 end_package(intercode);
00712 end_package(backend_v2);
00713 end_package(lestes);
00714
00715 package(lestes);
00716 package(backend_v2);
00717 package(intercode);
00718 class pi_sbl;
00719 end_package(intercode);
00720 end_package(backend_v2);
00721 end_package(lestes);
00722
00723 package(lestes);
00724 package(backend_v2);
00725 package(intercode);
00726 class pi_sbe;
00727 end_package(intercode);
00728 end_package(backend_v2);
00729 end_package(lestes);
00730
00731 package(lestes);
00732 package(backend_v2);
00733 package(intercode);
00734 class pi_sbng;
00735 end_package(intercode);
00736 end_package(backend_v2);
00737 end_package(lestes);
00738
00739 package(lestes);
00740 package(backend_v2);
00741 package(intercode);
00742 class pi_sbnl;
00743 end_package(intercode);
00744 end_package(backend_v2);
00745 end_package(lestes);
00746
00747 package(lestes);
00748 package(backend_v2);
00749 package(intercode);
00750 class pi_sbne;
00751 end_package(intercode);
00752 end_package(backend_v2);
00753 end_package(lestes);
00754
00755 package(lestes);
00756 package(backend_v2);
00757 package(intercode);
00758 class pi_operand;
00759 end_package(intercode);
00760 end_package(backend_v2);
00761 end_package(lestes);
00762
00763 package(lestes);
00764 package(backend_v2);
00765 package(intercode);
00766 class pi_non_mem;
00767 end_package(intercode);
00768 end_package(backend_v2);
00769 end_package(lestes);
00770
00771 package(lestes);
00772 package(backend_v2);
00773 package(intercode);
00774 class pi_preg;
00775 end_package(intercode);
00776 end_package(backend_v2);
00777 end_package(lestes);
00778
00779 package(lestes);
00780 package(backend_v2);
00781 package(intercode);
00782 class pi_lit;
00783 end_package(intercode);
00784 end_package(backend_v2);
00785 end_package(lestes);
00786
00787 package(lestes);
00788 package(backend_v2);
00789 package(intercode);
00790 class pi_mem;
00791 end_package(intercode);
00792 end_package(backend_v2);
00793 end_package(lestes);
00794
00795 package(lestes);
00796 package(backend_v2);
00797 package(intercode);
00798 class pi_mem_decl;
00799 end_package(intercode);
00800 end_package(backend_v2);
00801 end_package(lestes);
00802
00803 package(lestes);
00804 package(backend_v2);
00805 package(intercode);
00806 class pi_mem_lit;
00807 end_package(intercode);
00808 end_package(backend_v2);
00809 end_package(lestes);
00810
00811 package(lestes);
00812 package(backend_v2);
00813 package(intercode);
00814 class pi_mem_member;
00815 end_package(intercode);
00816 end_package(backend_v2);
00817 end_package(lestes);
00818
00819 package(lestes);
00820 package(backend_v2);
00821 package(intercode);
00822 class pi_mem_stack;
00823 end_package(intercode);
00824 end_package(backend_v2);
00825 end_package(lestes);
00826
00827 package(lestes);
00828 package(backend_v2);
00829 package(intercode);
00830 class pi_mem_preg;
00831 end_package(intercode);
00832 end_package(backend_v2);
00833 end_package(lestes);
00834
00835 package(lestes);
00836 package(backend_v2);
00837 package(intercode);
00838 class pi_mem_temp;
00839 end_package(intercode);
00840 end_package(backend_v2);
00841 end_package(lestes);
00842
00843 package(lestes);
00844 package(backend_v2);
00845 package(intercode);
00846 class pi_mem_ptr_deref;
00847 end_package(intercode);
00848 end_package(backend_v2);
00849 end_package(lestes);
00850
00851 package(lestes);
00852 package(backend_v2);
00853 package(intercode);
00854
00855
00856 class visitor_pi_pi2pi_operands_gen_base;
00857 class visitor_pi_pi2pi_operands_base;
00858 class visitor_pi_pi2ulint_gen_base;
00859 class visitor_pi_pi2ge_pi_gen_base;
00860 class visitor_pi_operand2ge_operand_gen_base;
00861
00862
00863 class visitor_pi_pi2pi_operands_gen_base : public ::lestes::std::visitor_base {
00864 public:
00865 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sp(ptr< ::lestes::backend_v2::intercode::pi_sp > ) abstract;
00866
00867 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_add(ptr< ::lestes::backend_v2::intercode::pi_add > ) abstract;
00868
00869 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sub(ptr< ::lestes::backend_v2::intercode::pi_sub > ) abstract;
00870
00871 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_mul(ptr< ::lestes::backend_v2::intercode::pi_mul > ) abstract;
00872
00873 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_div(ptr< ::lestes::backend_v2::intercode::pi_div > ) abstract;
00874
00875 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_divrni(ptr< ::lestes::backend_v2::intercode::pi_divrni > ) abstract;
00876
00877 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_divrpi(ptr< ::lestes::backend_v2::intercode::pi_divrpi > ) abstract;
00878
00879 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_divrz(ptr< ::lestes::backend_v2::intercode::pi_divrz > ) abstract;
00880
00881 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_mod(ptr< ::lestes::backend_v2::intercode::pi_mod > ) abstract;
00882
00883 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_rem(ptr< ::lestes::backend_v2::intercode::pi_rem > ) abstract;
00884
00885 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_neg(ptr< ::lestes::backend_v2::intercode::pi_neg > ) abstract;
00886
00887 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_gat(ptr< ::lestes::backend_v2::intercode::pi_gat > ) abstract;
00888
00889 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_shl(ptr< ::lestes::backend_v2::intercode::pi_shl > ) abstract;
00890
00891 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_shr(ptr< ::lestes::backend_v2::intercode::pi_shr > ) abstract;
00892
00893 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sal(ptr< ::lestes::backend_v2::intercode::pi_sal > ) abstract;
00894
00895 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sar(ptr< ::lestes::backend_v2::intercode::pi_sar > ) abstract;
00896
00897 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_band(ptr< ::lestes::backend_v2::intercode::pi_band > ) abstract;
00898
00899 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bor(ptr< ::lestes::backend_v2::intercode::pi_bor > ) abstract;
00900
00901 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bxor(ptr< ::lestes::backend_v2::intercode::pi_bxor > ) abstract;
00902
00903 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bnot(ptr< ::lestes::backend_v2::intercode::pi_bnot > ) abstract;
00904
00905 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_land(ptr< ::lestes::backend_v2::intercode::pi_land > ) abstract;
00906
00907 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_lor(ptr< ::lestes::backend_v2::intercode::pi_lor > ) abstract;
00908
00909 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_lxor(ptr< ::lestes::backend_v2::intercode::pi_lxor > ) abstract;
00910
00911 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_lnot(ptr< ::lestes::backend_v2::intercode::pi_lnot > ) abstract;
00912
00913 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_cvt(ptr< ::lestes::backend_v2::intercode::pi_cvt > ) abstract;
00914
00915 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_cmp(ptr< ::lestes::backend_v2::intercode::pi_cmp > ) abstract;
00916
00917 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_mov(ptr< ::lestes::backend_v2::intercode::pi_mov > ) abstract;
00918
00919 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ld(ptr< ::lestes::backend_v2::intercode::pi_ld > ) abstract;
00920
00921 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_lda(ptr< ::lestes::backend_v2::intercode::pi_lda > ) abstract;
00922
00923 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ldi(ptr< ::lestes::backend_v2::intercode::pi_ldi > ) abstract;
00924
00925 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ldp(ptr< ::lestes::backend_v2::intercode::pi_ldp > ) abstract;
00926
00927 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ldv(ptr< ::lestes::backend_v2::intercode::pi_ldv > ) abstract;
00928
00929 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ldpv(ptr< ::lestes::backend_v2::intercode::pi_ldpv > ) abstract;
00930
00931 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_st(ptr< ::lestes::backend_v2::intercode::pi_st > ) abstract;
00932
00933 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sti(ptr< ::lestes::backend_v2::intercode::pi_sti > ) abstract;
00934
00935 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_stp(ptr< ::lestes::backend_v2::intercode::pi_stp > ) abstract;
00936
00937 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_stv(ptr< ::lestes::backend_v2::intercode::pi_stv > ) abstract;
00938
00939 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_stiv(ptr< ::lestes::backend_v2::intercode::pi_stiv > ) abstract;
00940
00941 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_stpv(ptr< ::lestes::backend_v2::intercode::pi_stpv > ) abstract;
00942
00943 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_call(ptr< ::lestes::backend_v2::intercode::pi_call > ) abstract;
00944
00945 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_icall(ptr< ::lestes::backend_v2::intercode::pi_icall > ) abstract;
00946
00947 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_callv(ptr< ::lestes::backend_v2::intercode::pi_callv > ) abstract;
00948
00949 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_icallv(ptr< ::lestes::backend_v2::intercode::pi_icallv > ) abstract;
00950
00951 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ba(ptr< ::lestes::backend_v2::intercode::pi_ba > ) abstract;
00952
00953 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bn(ptr< ::lestes::backend_v2::intercode::pi_bn > ) abstract;
00954
00955 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bt(ptr< ::lestes::backend_v2::intercode::pi_bt > ) abstract;
00956
00957 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bf(ptr< ::lestes::backend_v2::intercode::pi_bf > ) abstract;
00958
00959 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bm(ptr< ::lestes::backend_v2::intercode::pi_bm > ) abstract;
00960
00961 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bg(ptr< ::lestes::backend_v2::intercode::pi_bg > ) abstract;
00962
00963 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bl(ptr< ::lestes::backend_v2::intercode::pi_bl > ) abstract;
00964
00965 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_be(ptr< ::lestes::backend_v2::intercode::pi_be > ) abstract;
00966
00967 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bng(ptr< ::lestes::backend_v2::intercode::pi_bng > ) abstract;
00968
00969 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bnl(ptr< ::lestes::backend_v2::intercode::pi_bnl > ) abstract;
00970
00971 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bne(ptr< ::lestes::backend_v2::intercode::pi_bne > ) abstract;
00972
00973 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_iba(ptr< ::lestes::backend_v2::intercode::pi_iba > ) abstract;
00974
00975 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibn(ptr< ::lestes::backend_v2::intercode::pi_ibn > ) abstract;
00976
00977 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibm(ptr< ::lestes::backend_v2::intercode::pi_ibm > ) abstract;
00978
00979 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibg(ptr< ::lestes::backend_v2::intercode::pi_ibg > ) abstract;
00980
00981 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibl(ptr< ::lestes::backend_v2::intercode::pi_ibl > ) abstract;
00982
00983 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibe(ptr< ::lestes::backend_v2::intercode::pi_ibe > ) abstract;
00984
00985 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibng(ptr< ::lestes::backend_v2::intercode::pi_ibng > ) abstract;
00986
00987 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibnl(ptr< ::lestes::backend_v2::intercode::pi_ibnl > ) abstract;
00988
00989 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibne(ptr< ::lestes::backend_v2::intercode::pi_ibne > ) abstract;
00990
00991 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_leave(ptr< ::lestes::backend_v2::intercode::pi_leave > ) abstract;
00992
00993 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbg(ptr< ::lestes::backend_v2::intercode::pi_sbg > ) abstract;
00994
00995 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbl(ptr< ::lestes::backend_v2::intercode::pi_sbl > ) abstract;
00996
00997 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbe(ptr< ::lestes::backend_v2::intercode::pi_sbe > ) abstract;
00998
00999 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbng(ptr< ::lestes::backend_v2::intercode::pi_sbng > ) abstract;
01000
01001 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbnl(ptr< ::lestes::backend_v2::intercode::pi_sbnl > ) abstract;
01002
01003 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbne(ptr< ::lestes::backend_v2::intercode::pi_sbne > ) abstract;
01004
01005
01006
01007
01008 virtual ptr<reflection_list> reflection_get() const;
01009
01010 virtual ptr<field_list_list> field_values_get() const;
01011
01012 protected:
01013
01014 visitor_pi_pi2pi_operands_gen_base (
01015 );
01016
01017
01018 virtual void gc_mark();
01019
01020 private:
01021 static ptr<reflection_list> reflection;
01022
01023 };
01024
01025
01026 class visitor_pi_pi2pi_operands_base : public visitor_pi_pi2pi_operands_gen_base {
01027 public:
01028 virtual ptr< ::lestes::backend_v2::structs::pi_operands > tstpi_operands_get(ptr< ::lestes::backend_v2::intercode::pi_tstpi > ) abstract;
01029
01030 virtual ptr< ::lestes::backend_v2::structs::pi_operands > tdtpi_operands_get(ptr< ::lestes::backend_v2::intercode::pi_tdtpi > ) abstract;
01031
01032 virtual ptr< ::lestes::backend_v2::structs::pi_operands > bstpi_operands_get(ptr< ::lestes::backend_v2::intercode::pi_bstpi > ) abstract;
01033
01034 virtual ptr< ::lestes::backend_v2::structs::pi_operands > bdtpi_operands_get(ptr< ::lestes::backend_v2::intercode::pi_bdtpi > ) abstract;
01035
01036 virtual ptr< ::lestes::backend_v2::structs::pi_operands > st_move_operands_get(ptr< ::lestes::backend_v2::intercode::pi_abstract_move_st > ) abstract;
01037
01038 virtual ptr< ::lestes::backend_v2::structs::pi_operands > dt_move_operands_get(ptr< ::lestes::backend_v2::intercode::pi_abstract_move_dt > ) abstract;
01039
01040 virtual ptr< ::lestes::backend_v2::structs::pi_operands > sbp_operands_get(ptr< ::lestes::backend_v2::intercode::pi_indirect_store > ) abstract;
01041
01042 virtual ptr< ::lestes::backend_v2::structs::pi_operands > lbp_operands_get(ptr< ::lestes::backend_v2::intercode::pi_indirect_load > ) abstract;
01043
01044 virtual ptr< ::lestes::backend_v2::structs::pi_operands > cb_sl_operands_get(ptr< ::lestes::backend_v2::intercode::pi_cb_single_label_target > ) abstract;
01045
01046 virtual ptr< ::lestes::backend_v2::structs::pi_operands > cb_sa_operands_get(ptr< ::lestes::backend_v2::intercode::pi_cb_single_address_target > ) abstract;
01047
01048 virtual ptr< ::lestes::backend_v2::structs::pi_operands > ub_sl_operands_get(ptr< ::lestes::backend_v2::intercode::pi_ub_single_label_target > ) abstract;
01049
01050 virtual ptr< ::lestes::backend_v2::structs::pi_operands > ub_sa_operands_get(ptr< ::lestes::backend_v2::intercode::pi_ub_single_address_target > ) abstract;
01051
01052 virtual ptr< ::lestes::backend_v2::structs::pi_operands > bm_l_operands_get(ptr< ::lestes::backend_v2::intercode::pi_branch_multiple_label_target > ) abstract;
01053
01054 virtual ptr< ::lestes::backend_v2::structs::pi_operands > bm_a_operands_get(ptr< ::lestes::backend_v2::intercode::pi_branch_multiple_address_target > ) abstract;
01055
01056 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_add(ptr< ::lestes::backend_v2::intercode::pi_add > );
01057
01058 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sub(ptr< ::lestes::backend_v2::intercode::pi_sub > );
01059
01060 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_mul(ptr< ::lestes::backend_v2::intercode::pi_mul > );
01061
01062 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_div(ptr< ::lestes::backend_v2::intercode::pi_div > );
01063
01064 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_divrni(ptr< ::lestes::backend_v2::intercode::pi_divrni > );
01065
01066 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_divrpi(ptr< ::lestes::backend_v2::intercode::pi_divrpi > );
01067
01068 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_divrz(ptr< ::lestes::backend_v2::intercode::pi_divrz > );
01069
01070 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_mod(ptr< ::lestes::backend_v2::intercode::pi_mod > );
01071
01072 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_rem(ptr< ::lestes::backend_v2::intercode::pi_rem > );
01073
01074 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_shl(ptr< ::lestes::backend_v2::intercode::pi_shl > );
01075
01076 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_shr(ptr< ::lestes::backend_v2::intercode::pi_shr > );
01077
01078 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sal(ptr< ::lestes::backend_v2::intercode::pi_sal > );
01079
01080 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sar(ptr< ::lestes::backend_v2::intercode::pi_sar > );
01081
01082 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_band(ptr< ::lestes::backend_v2::intercode::pi_band > );
01083
01084 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bor(ptr< ::lestes::backend_v2::intercode::pi_bor > );
01085
01086 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bxor(ptr< ::lestes::backend_v2::intercode::pi_bxor > );
01087
01088 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_land(ptr< ::lestes::backend_v2::intercode::pi_land > );
01089
01090 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_lor(ptr< ::lestes::backend_v2::intercode::pi_lor > );
01091
01092 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_lxor(ptr< ::lestes::backend_v2::intercode::pi_lxor > );
01093
01094 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_cmp(ptr< ::lestes::backend_v2::intercode::pi_cmp > );
01095
01096 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbg(ptr< ::lestes::backend_v2::intercode::pi_sbg > );
01097
01098 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbl(ptr< ::lestes::backend_v2::intercode::pi_sbl > );
01099
01100 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbe(ptr< ::lestes::backend_v2::intercode::pi_sbe > );
01101
01102 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbng(ptr< ::lestes::backend_v2::intercode::pi_sbng > );
01103
01104 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbnl(ptr< ::lestes::backend_v2::intercode::pi_sbnl > );
01105
01106 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sbne(ptr< ::lestes::backend_v2::intercode::pi_sbne > );
01107
01108 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_neg(ptr< ::lestes::backend_v2::intercode::pi_neg > );
01109
01110 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_gat(ptr< ::lestes::backend_v2::intercode::pi_gat > );
01111
01112 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bnot(ptr< ::lestes::backend_v2::intercode::pi_bnot > );
01113
01114 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_lnot(ptr< ::lestes::backend_v2::intercode::pi_lnot > );
01115
01116 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_cvt(ptr< ::lestes::backend_v2::intercode::pi_cvt > );
01117
01118 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_mov(ptr< ::lestes::backend_v2::intercode::pi_mov > );
01119
01120 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ld(ptr< ::lestes::backend_v2::intercode::pi_ld > );
01121
01122 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ldi(ptr< ::lestes::backend_v2::intercode::pi_ldi > );
01123
01124 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ldv(ptr< ::lestes::backend_v2::intercode::pi_ldv > );
01125
01126 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_st(ptr< ::lestes::backend_v2::intercode::pi_st > );
01127
01128 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_sti(ptr< ::lestes::backend_v2::intercode::pi_sti > );
01129
01130 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_stv(ptr< ::lestes::backend_v2::intercode::pi_stv > );
01131
01132 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_stiv(ptr< ::lestes::backend_v2::intercode::pi_stiv > );
01133
01134 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_lda(ptr< ::lestes::backend_v2::intercode::pi_lda > );
01135
01136 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_stp(ptr< ::lestes::backend_v2::intercode::pi_stp > );
01137
01138 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_stpv(ptr< ::lestes::backend_v2::intercode::pi_stpv > );
01139
01140 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ldp(ptr< ::lestes::backend_v2::intercode::pi_ldp > );
01141
01142 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ldpv(ptr< ::lestes::backend_v2::intercode::pi_ldpv > );
01143
01144 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bt(ptr< ::lestes::backend_v2::intercode::pi_bt > );
01145
01146 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bf(ptr< ::lestes::backend_v2::intercode::pi_bf > );
01147
01148 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bg(ptr< ::lestes::backend_v2::intercode::pi_bg > );
01149
01150 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bl(ptr< ::lestes::backend_v2::intercode::pi_bl > );
01151
01152 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_be(ptr< ::lestes::backend_v2::intercode::pi_be > );
01153
01154 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bng(ptr< ::lestes::backend_v2::intercode::pi_bng > );
01155
01156 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bnl(ptr< ::lestes::backend_v2::intercode::pi_bnl > );
01157
01158 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bne(ptr< ::lestes::backend_v2::intercode::pi_bne > );
01159
01160 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibg(ptr< ::lestes::backend_v2::intercode::pi_ibg > );
01161
01162 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibl(ptr< ::lestes::backend_v2::intercode::pi_ibl > );
01163
01164 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibe(ptr< ::lestes::backend_v2::intercode::pi_ibe > );
01165
01166 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibng(ptr< ::lestes::backend_v2::intercode::pi_ibng > );
01167
01168 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibnl(ptr< ::lestes::backend_v2::intercode::pi_ibnl > );
01169
01170 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibne(ptr< ::lestes::backend_v2::intercode::pi_ibne > );
01171
01172 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ba(ptr< ::lestes::backend_v2::intercode::pi_ba > );
01173
01174 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bn(ptr< ::lestes::backend_v2::intercode::pi_bn > );
01175
01176 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_iba(ptr< ::lestes::backend_v2::intercode::pi_iba > );
01177
01178 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibn(ptr< ::lestes::backend_v2::intercode::pi_ibn > );
01179
01180 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_bm(ptr< ::lestes::backend_v2::intercode::pi_bm > );
01181
01182 virtual ptr< ::lestes::backend_v2::structs::pi_operands > visit_pi_ibm(ptr< ::lestes::backend_v2::intercode::pi_ibm > );
01183
01184
01185
01186
01187 virtual ptr<reflection_list> reflection_get() const;
01188
01189 virtual ptr<field_list_list> field_values_get() const;
01190
01191 protected:
01192
01193 visitor_pi_pi2pi_operands_base (
01194 );
01195
01196
01197 virtual void gc_mark();
01198
01199 private:
01200 static ptr<reflection_list> reflection;
01201
01202 };
01203
01204
01205 class visitor_pi_pi2ulint_gen_base : public ::lestes::std::visitor_base {
01206 public:
01207 virtual ulint visit_pi_sp(ptr< ::lestes::backend_v2::intercode::pi_sp > ) abstract;
01208
01209 virtual ulint visit_pi_add(ptr< ::lestes::backend_v2::intercode::pi_add > ) abstract;
01210
01211 virtual ulint visit_pi_sub(ptr< ::lestes::backend_v2::intercode::pi_sub > ) abstract;
01212
01213 virtual ulint visit_pi_mul(ptr< ::lestes::backend_v2::intercode::pi_mul > ) abstract;
01214
01215 virtual ulint visit_pi_div(ptr< ::lestes::backend_v2::intercode::pi_div > ) abstract;
01216
01217 virtual ulint visit_pi_divrni(ptr< ::lestes::backend_v2::intercode::pi_divrni > ) abstract;
01218
01219 virtual ulint visit_pi_divrpi(ptr< ::lestes::backend_v2::intercode::pi_divrpi > ) abstract;
01220
01221 virtual ulint visit_pi_divrz(ptr< ::lestes::backend_v2::intercode::pi_divrz > ) abstract;
01222
01223 virtual ulint visit_pi_mod(ptr< ::lestes::backend_v2::intercode::pi_mod > ) abstract;
01224
01225 virtual ulint visit_pi_rem(ptr< ::lestes::backend_v2::intercode::pi_rem > ) abstract;
01226
01227 virtual ulint visit_pi_neg(ptr< ::lestes::backend_v2::intercode::pi_neg > ) abstract;
01228
01229 virtual ulint visit_pi_gat(ptr< ::lestes::backend_v2::intercode::pi_gat > ) abstract;
01230
01231 virtual ulint visit_pi_shl(ptr< ::lestes::backend_v2::intercode::pi_shl > ) abstract;
01232
01233 virtual ulint visit_pi_shr(ptr< ::lestes::backend_v2::intercode::pi_shr > ) abstract;
01234
01235 virtual ulint visit_pi_sal(ptr< ::lestes::backend_v2::intercode::pi_sal > ) abstract;
01236
01237 virtual ulint visit_pi_sar(ptr< ::lestes::backend_v2::intercode::pi_sar > ) abstract;
01238
01239 virtual ulint visit_pi_band(ptr< ::lestes::backend_v2::intercode::pi_band > ) abstract;
01240
01241 virtual ulint visit_pi_bor(ptr< ::lestes::backend_v2::intercode::pi_bor > ) abstract;
01242
01243 virtual ulint visit_pi_bxor(ptr< ::lestes::backend_v2::intercode::pi_bxor > ) abstract;
01244
01245 virtual ulint visit_pi_bnot(ptr< ::lestes::backend_v2::intercode::pi_bnot > ) abstract;
01246
01247 virtual ulint visit_pi_land(ptr< ::lestes::backend_v2::intercode::pi_land > ) abstract;
01248
01249 virtual ulint visit_pi_lor(ptr< ::lestes::backend_v2::intercode::pi_lor > ) abstract;
01250
01251 virtual ulint visit_pi_lxor(ptr< ::lestes::backend_v2::intercode::pi_lxor > ) abstract;
01252
01253 virtual ulint visit_pi_lnot(ptr< ::lestes::backend_v2::intercode::pi_lnot > ) abstract;
01254
01255 virtual ulint visit_pi_cvt(ptr< ::lestes::backend_v2::intercode::pi_cvt > ) abstract;
01256
01257 virtual ulint visit_pi_cmp(ptr< ::lestes::backend_v2::intercode::pi_cmp > ) abstract;
01258
01259 virtual ulint visit_pi_mov(ptr< ::lestes::backend_v2::intercode::pi_mov > ) abstract;
01260
01261 virtual ulint visit_pi_ld(ptr< ::lestes::backend_v2::intercode::pi_ld > ) abstract;
01262
01263 virtual ulint visit_pi_lda(ptr< ::lestes::backend_v2::intercode::pi_lda > ) abstract;
01264
01265 virtual ulint visit_pi_ldi(ptr< ::lestes::backend_v2::intercode::pi_ldi > ) abstract;
01266
01267 virtual ulint visit_pi_ldp(ptr< ::lestes::backend_v2::intercode::pi_ldp > ) abstract;
01268
01269 virtual ulint visit_pi_ldv(ptr< ::lestes::backend_v2::intercode::pi_ldv > ) abstract;
01270
01271 virtual ulint visit_pi_ldpv(ptr< ::lestes::backend_v2::intercode::pi_ldpv > ) abstract;
01272
01273 virtual ulint visit_pi_st(ptr< ::lestes::backend_v2::intercode::pi_st > ) abstract;
01274
01275 virtual ulint visit_pi_sti(ptr< ::lestes::backend_v2::intercode::pi_sti > ) abstract;
01276
01277 virtual ulint visit_pi_stp(ptr< ::lestes::backend_v2::intercode::pi_stp > ) abstract;
01278
01279 virtual ulint visit_pi_stv(ptr< ::lestes::backend_v2::intercode::pi_stv > ) abstract;
01280
01281 virtual ulint visit_pi_stiv(ptr< ::lestes::backend_v2::intercode::pi_stiv > ) abstract;
01282
01283 virtual ulint visit_pi_stpv(ptr< ::lestes::backend_v2::intercode::pi_stpv > ) abstract;
01284
01285 virtual ulint visit_pi_call(ptr< ::lestes::backend_v2::intercode::pi_call > ) abstract;
01286
01287 virtual ulint visit_pi_icall(ptr< ::lestes::backend_v2::intercode::pi_icall > ) abstract;
01288
01289 virtual ulint visit_pi_callv(ptr< ::lestes::backend_v2::intercode::pi_callv > ) abstract;
01290
01291 virtual ulint visit_pi_icallv(ptr< ::lestes::backend_v2::intercode::pi_icallv > ) abstract;
01292
01293 virtual ulint visit_pi_ba(ptr< ::lestes::backend_v2::intercode::pi_ba > ) abstract;
01294
01295 virtual ulint visit_pi_bn(ptr< ::lestes::backend_v2::intercode::pi_bn > ) abstract;
01296
01297 virtual ulint visit_pi_bt(ptr< ::lestes::backend_v2::intercode::pi_bt > ) abstract;
01298
01299 virtual ulint visit_pi_bf(ptr< ::lestes::backend_v2::intercode::pi_bf > ) abstract;
01300
01301 virtual ulint visit_pi_bm(ptr< ::lestes::backend_v2::intercode::pi_bm > ) abstract;
01302
01303 virtual ulint visit_pi_bg(ptr< ::lestes::backend_v2::intercode::pi_bg > ) abstract;
01304
01305 virtual ulint visit_pi_bl(ptr< ::lestes::backend_v2::intercode::pi_bl > ) abstract;
01306
01307 virtual ulint visit_pi_be(ptr< ::lestes::backend_v2::intercode::pi_be > ) abstract;
01308
01309 virtual ulint visit_pi_bng(ptr< ::lestes::backend_v2::intercode::pi_bng > ) abstract;
01310
01311 virtual ulint visit_pi_bnl(ptr< ::lestes::backend_v2::intercode::pi_bnl > ) abstract;
01312
01313 virtual ulint visit_pi_bne(ptr< ::lestes::backend_v2::intercode::pi_bne > ) abstract;
01314
01315 virtual ulint visit_pi_iba(ptr< ::lestes::backend_v2::intercode::pi_iba > ) abstract;
01316
01317 virtual ulint visit_pi_ibn(ptr< ::lestes::backend_v2::intercode::pi_ibn > ) abstract;
01318
01319 virtual ulint visit_pi_ibm(ptr< ::lestes::backend_v2::intercode::pi_ibm > ) abstract;
01320
01321 virtual ulint visit_pi_ibg(ptr< ::lestes::backend_v2::intercode::pi_ibg > ) abstract;
01322
01323 virtual ulint visit_pi_ibl(ptr< ::lestes::backend_v2::intercode::pi_ibl > ) abstract;
01324
01325 virtual ulint visit_pi_ibe(ptr< ::lestes::backend_v2::intercode::pi_ibe > ) abstract;
01326
01327 virtual ulint visit_pi_ibng(ptr< ::lestes::backend_v2::intercode::pi_ibng > ) abstract;
01328
01329 virtual ulint visit_pi_ibnl(ptr< ::lestes::backend_v2::intercode::pi_ibnl > ) abstract;
01330
01331 virtual ulint visit_pi_ibne(ptr< ::lestes::backend_v2::intercode::pi_ibne > ) abstract;
01332
01333 virtual ulint visit_pi_leave(ptr< ::lestes::backend_v2::intercode::pi_leave > ) abstract;
01334
01335 virtual ulint visit_pi_sbg(ptr< ::lestes::backend_v2::intercode::pi_sbg > ) abstract;
01336
01337 virtual ulint visit_pi_sbl(ptr< ::lestes::backend_v2::intercode::pi_sbl > ) abstract;
01338
01339 virtual ulint visit_pi_sbe(ptr< ::lestes::backend_v2::intercode::pi_sbe > ) abstract;
01340
01341 virtual ulint visit_pi_sbng(ptr< ::lestes::backend_v2::intercode::pi_sbng > ) abstract;
01342
01343 virtual ulint visit_pi_sbnl(ptr< ::lestes::backend_v2::intercode::pi_sbnl > ) abstract;
01344
01345 virtual ulint visit_pi_sbne(ptr< ::lestes::backend_v2::intercode::pi_sbne > ) abstract;
01346
01347
01348
01349
01350 virtual ptr<reflection_list> reflection_get() const;
01351
01352 virtual ptr<field_list_list> field_values_get() const;
01353
01354 protected:
01355
01356 visitor_pi_pi2ulint_gen_base (
01357 );
01358
01359
01360 virtual void gc_mark();
01361
01362 private:
01363 static ptr<reflection_list> reflection;
01364
01365 };
01366
01367
01368 class visitor_pi_pi2ge_pi_gen_base : public ::lestes::std::visitor_base {
01369 public:
01370 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sp(ptr< ::lestes::backend_v2::intercode::pi_sp > ) abstract;
01371
01372 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_add(ptr< ::lestes::backend_v2::intercode::pi_add > ) abstract;
01373
01374 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sub(ptr< ::lestes::backend_v2::intercode::pi_sub > ) abstract;
01375
01376 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_mul(ptr< ::lestes::backend_v2::intercode::pi_mul > ) abstract;
01377
01378 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_div(ptr< ::lestes::backend_v2::intercode::pi_div > ) abstract;
01379
01380 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_divrni(ptr< ::lestes::backend_v2::intercode::pi_divrni > ) abstract;
01381
01382 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_divrpi(ptr< ::lestes::backend_v2::intercode::pi_divrpi > ) abstract;
01383
01384 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_divrz(ptr< ::lestes::backend_v2::intercode::pi_divrz > ) abstract;
01385
01386 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_mod(ptr< ::lestes::backend_v2::intercode::pi_mod > ) abstract;
01387
01388 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_rem(ptr< ::lestes::backend_v2::intercode::pi_rem > ) abstract;
01389
01390 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_neg(ptr< ::lestes::backend_v2::intercode::pi_neg > ) abstract;
01391
01392 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_gat(ptr< ::lestes::backend_v2::intercode::pi_gat > ) abstract;
01393
01394 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_shl(ptr< ::lestes::backend_v2::intercode::pi_shl > ) abstract;
01395
01396 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_shr(ptr< ::lestes::backend_v2::intercode::pi_shr > ) abstract;
01397
01398 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sal(ptr< ::lestes::backend_v2::intercode::pi_sal > ) abstract;
01399
01400 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sar(ptr< ::lestes::backend_v2::intercode::pi_sar > ) abstract;
01401
01402 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_band(ptr< ::lestes::backend_v2::intercode::pi_band > ) abstract;
01403
01404 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bor(ptr< ::lestes::backend_v2::intercode::pi_bor > ) abstract;
01405
01406 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bxor(ptr< ::lestes::backend_v2::intercode::pi_bxor > ) abstract;
01407
01408 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bnot(ptr< ::lestes::backend_v2::intercode::pi_bnot > ) abstract;
01409
01410 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_land(ptr< ::lestes::backend_v2::intercode::pi_land > ) abstract;
01411
01412 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_lor(ptr< ::lestes::backend_v2::intercode::pi_lor > ) abstract;
01413
01414 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_lxor(ptr< ::lestes::backend_v2::intercode::pi_lxor > ) abstract;
01415
01416 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_lnot(ptr< ::lestes::backend_v2::intercode::pi_lnot > ) abstract;
01417
01418 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_cvt(ptr< ::lestes::backend_v2::intercode::pi_cvt > ) abstract;
01419
01420 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_cmp(ptr< ::lestes::backend_v2::intercode::pi_cmp > ) abstract;
01421
01422 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_mov(ptr< ::lestes::backend_v2::intercode::pi_mov > ) abstract;
01423
01424 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ld(ptr< ::lestes::backend_v2::intercode::pi_ld > ) abstract;
01425
01426 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_lda(ptr< ::lestes::backend_v2::intercode::pi_lda > ) abstract;
01427
01428 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ldi(ptr< ::lestes::backend_v2::intercode::pi_ldi > ) abstract;
01429
01430 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ldp(ptr< ::lestes::backend_v2::intercode::pi_ldp > ) abstract;
01431
01432 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ldv(ptr< ::lestes::backend_v2::intercode::pi_ldv > ) abstract;
01433
01434 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ldpv(ptr< ::lestes::backend_v2::intercode::pi_ldpv > ) abstract;
01435
01436 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_st(ptr< ::lestes::backend_v2::intercode::pi_st > ) abstract;
01437
01438 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sti(ptr< ::lestes::backend_v2::intercode::pi_sti > ) abstract;
01439
01440 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_stp(ptr< ::lestes::backend_v2::intercode::pi_stp > ) abstract;
01441
01442 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_stv(ptr< ::lestes::backend_v2::intercode::pi_stv > ) abstract;
01443
01444 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_stiv(ptr< ::lestes::backend_v2::intercode::pi_stiv > ) abstract;
01445
01446 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_stpv(ptr< ::lestes::backend_v2::intercode::pi_stpv > ) abstract;
01447
01448 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_call(ptr< ::lestes::backend_v2::intercode::pi_call > ) abstract;
01449
01450 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_icall(ptr< ::lestes::backend_v2::intercode::pi_icall > ) abstract;
01451
01452 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_callv(ptr< ::lestes::backend_v2::intercode::pi_callv > ) abstract;
01453
01454 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_icallv(ptr< ::lestes::backend_v2::intercode::pi_icallv > ) abstract;
01455
01456 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ba(ptr< ::lestes::backend_v2::intercode::pi_ba > ) abstract;
01457
01458 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bn(ptr< ::lestes::backend_v2::intercode::pi_bn > ) abstract;
01459
01460 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bt(ptr< ::lestes::backend_v2::intercode::pi_bt > ) abstract;
01461
01462 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bf(ptr< ::lestes::backend_v2::intercode::pi_bf > ) abstract;
01463
01464 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bm(ptr< ::lestes::backend_v2::intercode::pi_bm > ) abstract;
01465
01466 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bg(ptr< ::lestes::backend_v2::intercode::pi_bg > ) abstract;
01467
01468 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bl(ptr< ::lestes::backend_v2::intercode::pi_bl > ) abstract;
01469
01470 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_be(ptr< ::lestes::backend_v2::intercode::pi_be > ) abstract;
01471
01472 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bng(ptr< ::lestes::backend_v2::intercode::pi_bng > ) abstract;
01473
01474 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bnl(ptr< ::lestes::backend_v2::intercode::pi_bnl > ) abstract;
01475
01476 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_bne(ptr< ::lestes::backend_v2::intercode::pi_bne > ) abstract;
01477
01478 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_iba(ptr< ::lestes::backend_v2::intercode::pi_iba > ) abstract;
01479
01480 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ibn(ptr< ::lestes::backend_v2::intercode::pi_ibn > ) abstract;
01481
01482 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ibm(ptr< ::lestes::backend_v2::intercode::pi_ibm > ) abstract;
01483
01484 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ibg(ptr< ::lestes::backend_v2::intercode::pi_ibg > ) abstract;
01485
01486 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ibl(ptr< ::lestes::backend_v2::intercode::pi_ibl > ) abstract;
01487
01488 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ibe(ptr< ::lestes::backend_v2::intercode::pi_ibe > ) abstract;
01489
01490 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ibng(ptr< ::lestes::backend_v2::intercode::pi_ibng > ) abstract;
01491
01492 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ibnl(ptr< ::lestes::backend_v2::intercode::pi_ibnl > ) abstract;
01493
01494 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_ibne(ptr< ::lestes::backend_v2::intercode::pi_ibne > ) abstract;
01495
01496 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_leave(ptr< ::lestes::backend_v2::intercode::pi_leave > ) abstract;
01497
01498 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sbg(ptr< ::lestes::backend_v2::intercode::pi_sbg > ) abstract;
01499
01500 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sbl(ptr< ::lestes::backend_v2::intercode::pi_sbl > ) abstract;
01501
01502 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sbe(ptr< ::lestes::backend_v2::intercode::pi_sbe > ) abstract;
01503
01504 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sbng(ptr< ::lestes::backend_v2::intercode::pi_sbng > ) abstract;
01505
01506 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sbnl(ptr< ::lestes::backend_v2::intercode::pi_sbnl > ) abstract;
01507
01508 virtual ptr< vector< srp< ::lestes::backend_v2::intercode::ge_pi> > > visit_pi_sbne(ptr< ::lestes::backend_v2::intercode::pi_sbne > ) abstract;
01509
01510
01511
01512
01513 virtual ptr<reflection_list> reflection_get() const;
01514
01515 virtual ptr<field_list_list> field_values_get() const;
01516
01517 protected:
01518
01519 visitor_pi_pi2ge_pi_gen_base (
01520 );
01521
01522
01523 virtual void gc_mark();
01524
01525 private:
01526 static ptr<reflection_list> reflection;
01527
01528 };
01529
01530
01531 class visitor_pi_operand2ge_operand_gen_base : public ::lestes::std::visitor_base {
01532 public:
01533 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_preg(ptr< ::lestes::backend_v2::intercode::pi_preg > ) abstract;
01534
01535 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_lit(ptr< ::lestes::backend_v2::intercode::pi_lit > ) abstract;
01536
01537 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_decl(ptr< ::lestes::backend_v2::intercode::pi_mem_decl > ) abstract;
01538
01539 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_lit(ptr< ::lestes::backend_v2::intercode::pi_mem_lit > ) abstract;
01540
01541 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_member(ptr< ::lestes::backend_v2::intercode::pi_mem_member > ) abstract;
01542
01543 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_stack(ptr< ::lestes::backend_v2::intercode::pi_mem_stack > ) abstract;
01544
01545 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_preg(ptr< ::lestes::backend_v2::intercode::pi_mem_preg > ) abstract;
01546
01547 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_temp(ptr< ::lestes::backend_v2::intercode::pi_mem_temp > ) abstract;
01548
01549 virtual ptr< ::lestes::backend_v2::intercode::ge_operand > visit_pi_mem_ptr_deref(ptr< ::lestes::backend_v2::intercode::pi_mem_ptr_deref > ) abstract;
01550
01551
01552
01553
01554 virtual ptr<reflection_list> reflection_get() const;
01555
01556 virtual ptr<field_list_list> field_values_get() const;
01557
01558 protected:
01559
01560 visitor_pi_operand2ge_operand_gen_base (
01561 );
01562
01563
01564 virtual void gc_mark();
01565
01566 private:
01567 static ptr<reflection_list> reflection;
01568
01569 };
01570
01571
01572 end_package(intercode);
01573 end_package(backend_v2);
01574 end_package(lestes);
01575
01576 #endif // lestes__backend_v2__intercode__pi_visitor_bases_v_g_hh__included