Changeset 2065


Ignore:
Timestamp:
Aug 24, 2006, 8:40:54 PM (14 years ago)
Author:
orlov
Message:
  • Fresh-generated libraries.
Location:
to-imperative/trunk/java/org/refal/plus/library
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/java/org/refal/plus/library/CppMangle.java

    r1965 r2065  
    1212  static private final Expr Conv_m_Table = Expr.concat (_va_1);
    1313  static private final Expr _c_0 = new Expr (new Word ("VAR"));
    14   static private final Expr _c_1 = Expr.fromSequence ("_v_");
    15   static private final Expr _c_2 = new Expr (new Word ("EVAR"));
    16   static private final Expr _c_3 = Expr.fromSequence ("_ve_");
    17   static private final Expr _c_4 = new Expr (new Word ("VVAR"));
    18   static private final Expr _c_5 = Expr.fromSequence ("_vv_");
    19   static private final Expr _c_6 = new Expr (new Word ("TVAR"));
    20   static private final Expr _c_7 = Expr.fromSequence ("_vt_");
    21   static private final Expr _c_8 = new Expr (new Word ("SVAR"));
    22   static private final Expr _c_9 = Expr.fromSequence ("_vs_");
    23   static private final Expr _c_10 = new Expr (new Word ("STATIC"));
    24   static private final Expr _c_11 = Expr.fromSequence ("_c_");
    25   static private final Expr _c_12 = new Expr (new Word ("LABEL"));
    26   static private final Expr _c_13 = new Expr (_c_11, 0, 1);
     14  static private final Expr _c_2 = Expr.fromSequence ("_v_");
     15  static private final Expr _c_1 = new Expr (_c_2, 0, 1);
     16  static private final Expr _c_3 = new Expr (new Word ("EVAR"));
     17  static private final Expr _c_4 = Expr.fromSequence ("_ve_");
     18  static private final Expr _c_5 = new Expr (new Word ("VVAR"));
     19  static private final Expr _c_6 = Expr.fromSequence ("_vv_");
     20  static private final Expr _c_7 = new Expr (new Word ("TVAR"));
     21  static private final Expr _c_8 = Expr.fromSequence ("_vt_");
     22  static private final Expr _c_9 = new Expr (new Word ("SVAR"));
     23  static private final Expr _c_10 = Expr.fromSequence ("_vs_");
     24  static private final Expr _c_11 = new Expr (new Word ("STATIC"));
     25  static private final Expr _c_12 = Expr.fromSequence ("_c_");
     26  static private final Expr _c_13 = new Expr (new Word ("LABEL"));
    2727  static private final Expr _c_14 = new Expr (new Word ("OBJ"));
    2828  static private final Expr _c_15 = new Expr (new Func () {
     
    5151  static private final Expr _c_24 = Expr.fromSequence ("\n");
    5252  static private final Expr _c_25 = Expr.fromSequence ("0A");
    53   static private final Expr _c_26 = new Expr (_c_9, 1, 1);
     53  static private final Expr _c_26 = new Expr (_c_10, 1, 1);
    5454  static private final Expr _c_27 = Expr.fromSequence ("0B");
    5555  static private final Expr _c_28 = Expr.fromSequence ("f");
     
    7979            }
    8080            Expr _v_deref__rfp_m_obj = (Expr) _ve_rfp_m_obj.at (0);
    81             if ((_v_deref__rfp_m_obj.getLen () != 2))
     81            int _v_len1 = _v_deref__rfp_m_obj.getLen ();
     82            int _v_len2 = 2;
     83            if ((_v_len1 < _v_len2))
    8284            {
    8385              break _block2__branch1;
    8486            }
    85             if (_v_deref__rfp_m_obj.symbolAt ((0 + 1)))
     87            int _v_len__ns = (_v_len1 - _v_len2);
     88            if (_v_deref__rfp_m_obj.symbolAt ((0 + 1 + _v_len__ns)))
    8689            {
    8790              break _block2__branch1;
    8891            }
    89             Expr _v_deref__deref__rfp_m_obj = (Expr) _v_deref__rfp_m_obj.at ((0 + 1));
    90             int _v_len1 = _v_deref__deref__rfp_m_obj.getLen ();
    91             int _v_len2 = 0;
    92             if ((_v_len1 < _v_len2))
     92            Expr _v_deref__deref__rfp_m_obj = (Expr) _v_deref__rfp_m_obj.at ((0 + 1 + _v_len__ns));
     93            int _v_len3 = _v_deref__deref__rfp_m_obj.getLen ();
     94            int _v_len4 = 0;
     95            if ((_v_len3 < _v_len4))
    9396            {
    9497              break _block2__branch1;
    9598            }
    96             int _v_len__name__1 = (_v_len1 - _v_len2);
     99            int _v_len__name__1 = (_v_len3 - _v_len4);
    97100            if (!_c_0.eq (_v_deref__rfp_m_obj, 0))
    98101            {
    99102              break _block2__branch1;
    100103            }
     104            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj, (0 + 1), _v_len__ns);
    101105            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj, 0, _v_len__name__1);
    102             _ve_prefix = _c_1;
     106            Expr[] _va_3 = { _c_2 , _ve_ns , _c_1 };
     107            _ve_prefix = Expr.concat (_va_3);
    103108            _ve_name = _v_name__1;
    104109            break _block2;
     
    114119            }
    115120            Expr _v_deref__rfp_m_obj2 = (Expr) _ve_rfp_m_obj.at (0);
    116             if ((_v_deref__rfp_m_obj2.getLen () != 2))
     121            int _v_len5 = _v_deref__rfp_m_obj2.getLen ();
     122            int _v_len6 = 2;
     123            if ((_v_len5 < _v_len6))
    117124            {
    118125              break _block2__branch2;
    119126            }
    120             if (_v_deref__rfp_m_obj2.symbolAt ((0 + 1)))
     127            int _v_len__ns2 = (_v_len5 - _v_len6);
     128            if (_v_deref__rfp_m_obj2.symbolAt ((0 + 1 + _v_len__ns2)))
    121129            {
    122130              break _block2__branch2;
    123131            }
    124             Expr _v_deref__deref__rfp_m_obj2 = (Expr) _v_deref__rfp_m_obj2.at ((0 + 1));
    125             int _v_len3 = _v_deref__deref__rfp_m_obj2.getLen ();
    126             int _v_len4 = 0;
    127             if ((_v_len3 < _v_len4))
     132            Expr _v_deref__deref__rfp_m_obj2 = (Expr) _v_deref__rfp_m_obj2.at ((0 + 1 + _v_len__ns2));
     133            int _v_len7 = _v_deref__deref__rfp_m_obj2.getLen ();
     134            int _v_len8 = 0;
     135            if ((_v_len7 < _v_len8))
    128136            {
    129137              break _block2__branch2;
    130138            }
    131             int _v_len__name__12 = (_v_len3 - _v_len4);
    132             if (!_c_2.eq (_v_deref__rfp_m_obj2, 0))
     139            int _v_len__name__12 = (_v_len7 - _v_len8);
     140            if (!_c_3.eq (_v_deref__rfp_m_obj2, 0))
    133141            {
    134142              break _block2__branch2;
    135143            }
     144            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj2, (0 + 1), _v_len__ns2);
    136145            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj2, 0, _v_len__name__12);
    137             _ve_prefix = _c_3;
     146            Expr[] _va_4 = { _c_4 , _ve_ns , _c_1 };
     147            _ve_prefix = Expr.concat (_va_4);
    138148            _ve_name = _v_name__1;
    139149            break _block2;
     
    149159            }
    150160            Expr _v_deref__rfp_m_obj3 = (Expr) _ve_rfp_m_obj.at (0);
    151             if ((_v_deref__rfp_m_obj3.getLen () != 2))
     161            int _v_len9 = _v_deref__rfp_m_obj3.getLen ();
     162            int _v_len10 = 2;
     163            if ((_v_len9 < _v_len10))
    152164            {
    153165              break _block2__branch3;
    154166            }
    155             if (_v_deref__rfp_m_obj3.symbolAt ((0 + 1)))
     167            int _v_len__ns3 = (_v_len9 - _v_len10);
     168            if (_v_deref__rfp_m_obj3.symbolAt ((0 + 1 + _v_len__ns3)))
    156169            {
    157170              break _block2__branch3;
    158171            }
    159             Expr _v_deref__deref__rfp_m_obj3 = (Expr) _v_deref__rfp_m_obj3.at ((0 + 1));
    160             int _v_len5 = _v_deref__deref__rfp_m_obj3.getLen ();
    161             int _v_len6 = 0;
    162             if ((_v_len5 < _v_len6))
     172            Expr _v_deref__deref__rfp_m_obj3 = (Expr) _v_deref__rfp_m_obj3.at ((0 + 1 + _v_len__ns3));
     173            int _v_len11 = _v_deref__deref__rfp_m_obj3.getLen ();
     174            int _v_len12 = 0;
     175            if ((_v_len11 < _v_len12))
    163176            {
    164177              break _block2__branch3;
    165178            }
    166             int _v_len__name__13 = (_v_len5 - _v_len6);
    167             if (!_c_4.eq (_v_deref__rfp_m_obj3, 0))
     179            int _v_len__name__13 = (_v_len11 - _v_len12);
     180            if (!_c_5.eq (_v_deref__rfp_m_obj3, 0))
    168181            {
    169182              break _block2__branch3;
    170183            }
     184            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj3, (0 + 1), _v_len__ns3);
    171185            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj3, 0, _v_len__name__13);
    172             _ve_prefix = _c_5;
     186            Expr[] _va_5 = { _c_6 , _ve_ns , _c_1 };
     187            _ve_prefix = Expr.concat (_va_5);
    173188            _ve_name = _v_name__1;
    174189            break _block2;
     
    184199            }
    185200            Expr _v_deref__rfp_m_obj4 = (Expr) _ve_rfp_m_obj.at (0);
    186             if ((_v_deref__rfp_m_obj4.getLen () != 2))
     201            int _v_len13 = _v_deref__rfp_m_obj4.getLen ();
     202            int _v_len14 = 2;
     203            if ((_v_len13 < _v_len14))
    187204            {
    188205              break _block2__branch4;
    189206            }
    190             if (_v_deref__rfp_m_obj4.symbolAt ((0 + 1)))
     207            int _v_len__ns4 = (_v_len13 - _v_len14);
     208            if (_v_deref__rfp_m_obj4.symbolAt ((0 + 1 + _v_len__ns4)))
    191209            {
    192210              break _block2__branch4;
    193211            }
    194             Expr _v_deref__deref__rfp_m_obj4 = (Expr) _v_deref__rfp_m_obj4.at ((0 + 1));
    195             int _v_len7 = _v_deref__deref__rfp_m_obj4.getLen ();
    196             int _v_len8 = 0;
    197             if ((_v_len7 < _v_len8))
     212            Expr _v_deref__deref__rfp_m_obj4 = (Expr) _v_deref__rfp_m_obj4.at ((0 + 1 + _v_len__ns4));
     213            int _v_len15 = _v_deref__deref__rfp_m_obj4.getLen ();
     214            int _v_len16 = 0;
     215            if ((_v_len15 < _v_len16))
    198216            {
    199217              break _block2__branch4;
    200218            }
    201             int _v_len__name__14 = (_v_len7 - _v_len8);
    202             if (!_c_6.eq (_v_deref__rfp_m_obj4, 0))
     219            int _v_len__name__14 = (_v_len15 - _v_len16);
     220            if (!_c_7.eq (_v_deref__rfp_m_obj4, 0))
    203221            {
    204222              break _block2__branch4;
    205223            }
     224            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj4, (0 + 1), _v_len__ns4);
    206225            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj4, 0, _v_len__name__14);
    207             _ve_prefix = _c_7;
     226            Expr[] _va_6 = { _c_8 , _ve_ns , _c_1 };
     227            _ve_prefix = Expr.concat (_va_6);
    208228            _ve_name = _v_name__1;
    209229            break _block2;
     
    219239            }
    220240            Expr _v_deref__rfp_m_obj5 = (Expr) _ve_rfp_m_obj.at (0);
    221             if ((_v_deref__rfp_m_obj5.getLen () != 2))
     241            int _v_len17 = _v_deref__rfp_m_obj5.getLen ();
     242            int _v_len18 = 2;
     243            if ((_v_len17 < _v_len18))
    222244            {
    223245              break _block2__branch5;
    224246            }
    225             if (_v_deref__rfp_m_obj5.symbolAt ((0 + 1)))
     247            int _v_len__ns5 = (_v_len17 - _v_len18);
     248            if (_v_deref__rfp_m_obj5.symbolAt ((0 + 1 + _v_len__ns5)))
    226249            {
    227250              break _block2__branch5;
    228251            }
    229             Expr _v_deref__deref__rfp_m_obj5 = (Expr) _v_deref__rfp_m_obj5.at ((0 + 1));
    230             int _v_len9 = _v_deref__deref__rfp_m_obj5.getLen ();
    231             int _v_len10 = 0;
    232             if ((_v_len9 < _v_len10))
     252            Expr _v_deref__deref__rfp_m_obj5 = (Expr) _v_deref__rfp_m_obj5.at ((0 + 1 + _v_len__ns5));
     253            int _v_len19 = _v_deref__deref__rfp_m_obj5.getLen ();
     254            int _v_len20 = 0;
     255            if ((_v_len19 < _v_len20))
    233256            {
    234257              break _block2__branch5;
    235258            }
    236             int _v_len__name__15 = (_v_len9 - _v_len10);
    237             if (!_c_8.eq (_v_deref__rfp_m_obj5, 0))
     259            int _v_len__name__15 = (_v_len19 - _v_len20);
     260            if (!_c_9.eq (_v_deref__rfp_m_obj5, 0))
    238261            {
    239262              break _block2__branch5;
    240263            }
     264            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj5, (0 + 1), _v_len__ns5);
    241265            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj5, 0, _v_len__name__15);
    242             _ve_prefix = _c_9;
     266            Expr[] _va_7 = { _c_10 , _ve_ns , _c_1 };
     267            _ve_prefix = Expr.concat (_va_7);
    243268            _ve_name = _v_name__1;
    244269            break _block2;
     
    263288            }
    264289            Expr _v_deref__deref__rfp_m_obj6 = (Expr) _v_deref__rfp_m_obj6.at ((0 + 1));
    265             int _v_len11 = _v_deref__deref__rfp_m_obj6.getLen ();
    266             int _v_len12 = 0;
    267             if ((_v_len11 < _v_len12))
     290            int _v_len21 = _v_deref__deref__rfp_m_obj6.getLen ();
     291            int _v_len22 = 0;
     292            if ((_v_len21 < _v_len22))
    268293            {
    269294              break _block2__branch6;
    270295            }
    271             int _v_len__name__16 = (_v_len11 - _v_len12);
    272             if (!_c_10.eq (_v_deref__rfp_m_obj6, 0))
     296            int _v_len__name__16 = (_v_len21 - _v_len22);
     297            if (!_c_11.eq (_v_deref__rfp_m_obj6, 0))
    273298            {
    274299              break _block2__branch6;
    275300            }
    276301            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj6, 0, _v_len__name__16);
    277             _ve_prefix = _c_11;
     302            _ve_prefix = _c_12;
    278303            _ve_name = _v_name__1;
    279304            break _block2;
     
    297322          }
    298323          Expr _v_deref__deref__rfp_m_obj7 = (Expr) _v_deref__rfp_m_obj7.at ((0 + 1));
    299           int _v_len13 = _v_deref__deref__rfp_m_obj7.getLen ();
    300           int _v_len14 = 0;
    301           if ((_v_len13 < _v_len14))
     324          int _v_len23 = _v_deref__deref__rfp_m_obj7.getLen ();
     325          int _v_len24 = 0;
     326          if ((_v_len23 < _v_len24))
    302327          {
    303328            break _block1__branch1;
    304329          }
    305           int _v_len__name__17 = (_v_len13 - _v_len14);
    306           if (!_c_12.eq (_v_deref__rfp_m_obj7, 0))
     330          int _v_len__name__17 = (_v_len23 - _v_len24);
     331          if (!_c_13.eq (_v_deref__rfp_m_obj7, 0))
    307332          {
    308333            break _block1__branch1;
    309334          }
    310335          Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj7, 0, _v_len__name__17);
    311           _ve_prefix = _c_13;
     336          _ve_prefix = _c_1;
    312337          _ve_name = _v_name__1;
    313338        }
     
    330355            }
    331356            Expr _v_deref__rfp_m_obj8 = (Expr) _ve_rfp_m_obj.at (0);
    332             int _v_len15 = _v_deref__rfp_m_obj8.getLen ();
    333             int _v_len16 = 1;
    334             if ((_v_len15 < _v_len16))
     357            int _v_len25 = _v_deref__rfp_m_obj8.getLen ();
     358            int _v_len26 = 1;
     359            if ((_v_len25 < _v_len26))
    335360            {
    336361              break _block3__branch1;
    337362            }
    338             int _v_len__names = (_v_len15 - _v_len16);
     363            int _v_len__names = (_v_len25 - _v_len26);
    339364            if (!_c_14.eq (_v_deref__rfp_m_obj8, 0))
    340365            {
     
    355380            }
    356381            Expr _v_deref__rfp_m_obj9 = (Expr) _ve_rfp_m_obj.at (0);
    357             int _v_len17 = _v_deref__rfp_m_obj9.getLen ();
    358             int _v_len18 = 0;
    359             if ((_v_len17 < _v_len18))
     382            int _v_len27 = _v_deref__rfp_m_obj9.getLen ();
     383            int _v_len28 = 0;
     384            if ((_v_len27 < _v_len28))
    360385            {
    361386              break _block3__branch2;
    362387            }
    363             int _v_len__names2 = (_v_len17 - _v_len18);
     388            int _v_len__names2 = (_v_len27 - _v_len28);
    364389            Expr _ve_names = new Expr (_v_deref__rfp_m_obj9, 0, _v_len__names2);
    365390            _v_auxblock1 = _ve_names;
    366391            break _block3;
    367392          }
    368           int _v_len19 = _ve_rfp_m_obj.getLen ();
    369           int _v_len20 = 0;
    370           if ((_v_len19 < _v_len20))
     393          int _v_len29 = _ve_rfp_m_obj.getLen ();
     394          int _v_len30 = 0;
     395          if ((_v_len29 < _v_len30))
    371396          {
    372397            throw new RefalException ("CppMangle", "Rfp2Cpp", "Unexpected fail");
    373398          }
    374           int _v_len__names3 = (_v_len19 - _v_len20);
     399          int _v_len__names3 = (_v_len29 - _v_len30);
    375400          Expr _ve_names = new Expr (_ve_rfp_m_obj, 0, _v_len__names3);
    376401          _v_auxblock1 = _ve_names;
    377402        }
    378         int _v_len21 = _v_auxblock1.getLen ();
    379         int _v_len22 = 1;
    380         if ((_v_len21 < _v_len22))
     403        int _v_len31 = _v_auxblock1.getLen ();
     404        int _v_len32 = 1;
     405        if ((_v_len31 < _v_len32))
    381406        {
    382407          break _block1__branch2;
    383408        }
    384         int _v_len__qualifiers = (_v_len21 - _v_len22);
     409        int _v_len__qualifiers = (_v_len31 - _v_len32);
    385410        if (!_v_auxblock1.symbolAt ((0 + _v_len__qualifiers)))
    386411        {
     
    405430          break _block4__branch1;
    406431        }
    407         int _v_len23 = _v_Apply1.getExpr ().getLen ();
    408         int _v_len24 = 0;
    409         if ((_v_len23 < _v_len24))
     432        int _v_len33 = _v_Apply1.getExpr ().getLen ();
     433        int _v_len34 = 0;
     434        if ((_v_len33 < _v_len34))
    410435        {
    411436          break _block4__branch1;
    412437        }
    413         int _v_len___e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_78_m_40 = (_v_len23 - _v_len24);
     438        int _v_len___e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_78_m_40 = (_v_len33 - _v_len34);
    414439        Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_78_m_40 = new Expr (_v_Apply1.getExpr (), 0, _v_len___e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_78_m_40);
    415440        _v_res1.assign (new Expr (_c_17, _ve_ident));
     
    473498            break _negation1;
    474499          }
    475           Expr.SplitIterator _va_3 = _c_19.leftSplit(0);
    476           _exit1: _continue1: for ( ; ; _va_3.next ())
    477           {
    478             Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_88_m_34 = _va_3.getLeft();
    479             Expr _v_lsplit__19 = _va_3.getRight();
    480             if (!_va_3.isValid ())
     500          Expr.SplitIterator _va_8 = _c_19.leftSplit(0);
     501          _exit1: _continue1: for ( ; ; _va_8.next ())
     502          {
     503            Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_88_m_34 = _va_8.getLeft();
     504            Expr _v_lsplit__19 = _va_8.getRight();
     505            if (!_va_8.isValid ())
    481506            {
    482507              break _negation1;
     
    506531          break _block1__branch3;
    507532        }
    508         Expr.SplitIterator _va_4 = Conv_m_Table.leftSplit(0);
    509         _exit2: _continue2: for ( ; ; _va_4.next ())
    510         {
    511           Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_89_m_18 = _va_4.getLeft();
    512           Expr _v_lsplit__Conv_m_Table = _va_4.getRight();
    513           if (!_va_4.isValid ())
     533        Expr.SplitIterator _va_9 = Conv_m_Table.leftSplit(0);
     534        _exit2: _continue2: for ( ; ; _va_9.next ())
     535        {
     536          Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_89_m_18 = _va_9.getLeft();
     537          Expr _v_lsplit__Conv_m_Table = _va_9.getRight();
     538          if (!_va_9.isValid ())
    514539          {
    515540            break _block1__branch3;
     
    540565          Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_89_m_36 = new Expr (_v_lsplit__Conv_m_Table, (0 + 1), _v_len___e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_89_m_36);
    541566          Expr _ve_code = new Expr (_v_deref__lsplit__Conv_m_Table, (0 + 1), _v_len__code);
    542           Expr[] _va_5 = { _c_13 , _ve_code , _c_13 };
    543           _v_res1.assign (Expr.concat (_va_5));
     567          Expr[] _va_10 = { _c_1 , _ve_code , _c_1 };
     568          _v_res1.assign (Expr.concat (_va_10));
    544569          break _exit2;
    545570        }
     
    548573      Result _v_Char_m_To_m_Unicode1 = new Result ();
    549574      Char_m_To_m_Unicode (_vs_char, _v_Char_m_To_m_Unicode1);
    550       Expr[] _va_6 = { _c_13 , _v_Char_m_To_m_Unicode1.getExpr () , _c_13 };
    551       _v_res1.assign (Expr.concat (_va_6));
     575      Expr[] _va_11 = { _c_1 , _v_Char_m_To_m_Unicode1.getExpr () , _c_1 };
     576      _v_res1.assign (Expr.concat (_va_11));
    552577    }
    553578  }
     
    669694        }
    670695        int _v_len__name3 = (_v_len5 - _v_len6);
    671         if (!_c_3.eq (_v_auxblock1, 0))
     696        if (!_c_4.eq (_v_auxblock1, 0))
    672697        {
    673698          break _block2__branch1;
     
    679704          return false;
    680705        }
    681         _v_res1.assign (new Expr(new Expr (_c_2, new Expr(_v_Chars2Rfp1.getExpr ()))));
     706        _v_res1.assign (new Expr(new Expr (_c_3, new Expr(_v_Chars2Rfp1.getExpr ()))));
    682707        break _block2;
    683708      }
     
    690715        }
    691716        int _v_len__name4 = (_v_len7 - _v_len8);
    692         if (!_c_5.eq (_v_auxblock1, 0))
     717        if (!_c_6.eq (_v_auxblock1, 0))
    693718        {
    694719          break _block2__branch2;
     
    700725          return false;
    701726        }
    702         _v_res1.assign (new Expr(new Expr (_c_4, new Expr(_v_Chars2Rfp2.getExpr ()))));
     727        _v_res1.assign (new Expr(new Expr (_c_5, new Expr(_v_Chars2Rfp2.getExpr ()))));
    703728        break _block2;
    704729      }
     
    711736        }
    712737        int _v_len__name5 = (_v_len9 - _v_len10);
    713         if (!_c_7.eq (_v_auxblock1, 0))
     738        if (!_c_8.eq (_v_auxblock1, 0))
    714739        {
    715740          break _block2__branch3;
     
    721746          return false;
    722747        }
    723         _v_res1.assign (new Expr(new Expr (_c_6, new Expr(_v_Chars2Rfp3.getExpr ()))));
     748        _v_res1.assign (new Expr(new Expr (_c_7, new Expr(_v_Chars2Rfp3.getExpr ()))));
    724749        break _block2;
    725750      }
     
    732757        }
    733758        int _v_len__name6 = (_v_len11 - _v_len12);
    734         if (!_c_9.eq (_v_auxblock1, 0))
     759        if (!_c_10.eq (_v_auxblock1, 0))
    735760        {
    736761          break _block2__branch4;
     
    742767          return false;
    743768        }
    744         _v_res1.assign (new Expr(new Expr (_c_8, new Expr(_v_Chars2Rfp4.getExpr ()))));
     769        _v_res1.assign (new Expr(new Expr (_c_9, new Expr(_v_Chars2Rfp4.getExpr ()))));
    745770        break _block2;
    746771      }
     
    768793          break _block1__branch1;
    769794        }
    770         Expr.SplitIterator _va_7 = _v_arg1.leftSplit(0);
    771         _exit1: _continue1: for ( ; ; _va_7.next ())
    772         {
    773           Expr _ve_qualifier = _va_7.getLeft();
    774           Expr _v_lsplit__arg1 = _va_7.getRight();
    775           if (!_va_7.isValid ())
     795        Expr.SplitIterator _va_12 = _v_arg1.leftSplit(0);
     796        _exit1: _continue1: for ( ; ; _va_12.next ())
     797        {
     798          Expr _ve_qualifier = _va_12.getLeft();
     799          Expr _v_lsplit__arg1 = _va_12.getRight();
     800          if (!_va_12.isValid ())
    776801          {
    777802            break _block1__branch1;
     
    831856          break _block1__branch1;
    832857        }
    833         if (!_c_13.eq (_v_arg1, 0))
     858        if (!_c_1.eq (_v_arg1, 0))
    834859        {
    835860          break _block1__branch1;
    836861        }
    837862        Expr _v_subexpr__arg1 = new Expr (_v_arg1, (0 + 1), (_v_arg1.getLen () - (0 + 1 + 0)));
    838         Expr.SplitIterator _va_8 = _v_subexpr__arg1.leftSplit(0);
    839         _exit1: _continue1: for ( ; ; _va_8.next ())
    840         {
    841           Expr _ve_code = _va_8.getLeft();
    842           Expr _v_lsplit__arg1 = _va_8.getRight();
    843           if (!_va_8.isValid ())
     863        Expr.SplitIterator _va_13 = _v_subexpr__arg1.leftSplit(0);
     864        _exit1: _continue1: for ( ; ; _va_13.next ())
     865        {
     866          Expr _ve_code = _va_13.getLeft();
     867          Expr _v_lsplit__arg1 = _va_13.getRight();
     868          if (!_va_13.isValid ())
    844869          {
    845870            break _block1__branch1;
     
    852877          }
    853878          int _v_len__rest = (_v_len1 - _v_len2);
    854           if (!_c_13.eq (_v_lsplit__arg1, 0))
     879          if (!_c_1.eq (_v_lsplit__arg1, 0))
    855880          {
    856881            continue _continue1;
     
    861886            return false;
    862887          }
    863           Expr.SplitIterator _va_9 = Conv_m_Table.leftSplit(0);
    864           _exit2: _continue2: for ( ; ; _va_9.next ())
    865           {
    866             Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_132_m_20 = _va_9.getLeft();
    867             Expr _v_lsplit__Conv_m_Table = _va_9.getRight();
    868             if (!_va_9.isValid ())
     888          Expr.SplitIterator _va_14 = Conv_m_Table.leftSplit(0);
     889          _exit2: _continue2: for ( ; ; _va_14.next ())
     890          {
     891            Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_132_m_20 = _va_14.getLeft();
     892            Expr _v_lsplit__Conv_m_Table = _va_14.getRight();
     893            if (!_va_14.isValid ())
    869894            {
    870895              return false;
  • to-imperative/trunk/java/org/refal/plus/library/JavaMangle.java

    r1965 r2065  
    1313  static private final Expr Conv_m_Table = Expr.concat (_va_1);
    1414  static private final Expr _c_0 = new Expr (new Word ("VAR"));
    15   static private final Expr _c_1 = Expr.fromSequence ("_v_");
    16   static private final Expr _c_2 = new Expr (new Word ("EVAR"));
    17   static private final Expr _c_3 = Expr.fromSequence ("_ve_");
    18   static private final Expr _c_4 = new Expr (new Word ("VVAR"));
    19   static private final Expr _c_5 = Expr.fromSequence ("_vv_");
    20   static private final Expr _c_6 = new Expr (new Word ("TVAR"));
    21   static private final Expr _c_7 = Expr.fromSequence ("_vt_");
    22   static private final Expr _c_8 = new Expr (new Word ("SVAR"));
    23   static private final Expr _c_9 = Expr.fromSequence ("_vs_");
    24   static private final Expr _c_10 = new Expr (new Word ("STATIC"));
    25   static private final Expr _c_11 = Expr.fromSequence ("_c_");
    26   static private final Expr _c_12 = new Expr (new Word ("LABEL"));
    27   static private final Expr _c_13 = new Expr (_c_11, 0, 1);
     15  static private final Expr _c_2 = Expr.fromSequence ("_v_");
     16  static private final Expr _c_1 = new Expr (_c_2, 0, 1);
     17  static private final Expr _c_3 = new Expr (new Word ("EVAR"));
     18  static private final Expr _c_4 = Expr.fromSequence ("_ve_");
     19  static private final Expr _c_5 = new Expr (new Word ("VVAR"));
     20  static private final Expr _c_6 = Expr.fromSequence ("_vv_");
     21  static private final Expr _c_7 = new Expr (new Word ("TVAR"));
     22  static private final Expr _c_8 = Expr.fromSequence ("_vt_");
     23  static private final Expr _c_9 = new Expr (new Word ("SVAR"));
     24  static private final Expr _c_10 = Expr.fromSequence ("_vs_");
     25  static private final Expr _c_11 = new Expr (new Word ("STATIC"));
     26  static private final Expr _c_12 = Expr.fromSequence ("_c_");
     27  static private final Expr _c_13 = new Expr (new Word ("LABEL"));
    2828  static private final Expr _c_14 = new Expr (new Word ("OBJ"));
    2929  static private final Expr _c_15 = new Expr (new Func () {
     
    5252  static private final Expr _c_24 = Expr.fromSequence ("\n");
    5353  static private final Expr _c_25 = Expr.fromSequence ("0A");
    54   static private final Expr _c_26 = new Expr (_c_9, 1, 1);
     54  static private final Expr _c_26 = new Expr (_c_10, 1, 1);
    5555  static private final Expr _c_27 = Expr.fromSequence ("0B");
    5656  static private final Expr _c_28 = Expr.fromSequence ("f");
     
    8080            }
    8181            Expr _v_deref__rfp_m_obj = (Expr) _ve_rfp_m_obj.at (0);
    82             if ((_v_deref__rfp_m_obj.getLen () != 2))
     82            int _v_len1 = _v_deref__rfp_m_obj.getLen ();
     83            int _v_len2 = 2;
     84            if ((_v_len1 < _v_len2))
    8385            {
    8486              break _block2__branch1;
    8587            }
    86             if (_v_deref__rfp_m_obj.symbolAt ((0 + 1)))
     88            int _v_len__ns = (_v_len1 - _v_len2);
     89            if (_v_deref__rfp_m_obj.symbolAt ((0 + 1 + _v_len__ns)))
    8790            {
    8891              break _block2__branch1;
    8992            }
    90             Expr _v_deref__deref__rfp_m_obj = (Expr) _v_deref__rfp_m_obj.at ((0 + 1));
    91             int _v_len1 = _v_deref__deref__rfp_m_obj.getLen ();
    92             int _v_len2 = 0;
    93             if ((_v_len1 < _v_len2))
     93            Expr _v_deref__deref__rfp_m_obj = (Expr) _v_deref__rfp_m_obj.at ((0 + 1 + _v_len__ns));
     94            int _v_len3 = _v_deref__deref__rfp_m_obj.getLen ();
     95            int _v_len4 = 0;
     96            if ((_v_len3 < _v_len4))
    9497            {
    9598              break _block2__branch1;
    9699            }
    97             int _v_len__name__1 = (_v_len1 - _v_len2);
     100            int _v_len__name__1 = (_v_len3 - _v_len4);
    98101            if (!_c_0.eq (_v_deref__rfp_m_obj, 0))
    99102            {
    100103              break _block2__branch1;
    101104            }
     105            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj, (0 + 1), _v_len__ns);
    102106            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj, 0, _v_len__name__1);
    103             _ve_prefix = _c_1;
     107            Expr[] _va_3 = { _c_2 , _ve_ns , _c_1 };
     108            _ve_prefix = Expr.concat (_va_3);
    104109            _ve_name = _v_name__1;
    105110            break _block2;
     
    115120            }
    116121            Expr _v_deref__rfp_m_obj2 = (Expr) _ve_rfp_m_obj.at (0);
    117             if ((_v_deref__rfp_m_obj2.getLen () != 2))
     122            int _v_len5 = _v_deref__rfp_m_obj2.getLen ();
     123            int _v_len6 = 2;
     124            if ((_v_len5 < _v_len6))
    118125            {
    119126              break _block2__branch2;
    120127            }
    121             if (_v_deref__rfp_m_obj2.symbolAt ((0 + 1)))
     128            int _v_len__ns2 = (_v_len5 - _v_len6);
     129            if (_v_deref__rfp_m_obj2.symbolAt ((0 + 1 + _v_len__ns2)))
    122130            {
    123131              break _block2__branch2;
    124132            }
    125             Expr _v_deref__deref__rfp_m_obj2 = (Expr) _v_deref__rfp_m_obj2.at ((0 + 1));
    126             int _v_len3 = _v_deref__deref__rfp_m_obj2.getLen ();
    127             int _v_len4 = 0;
    128             if ((_v_len3 < _v_len4))
     133            Expr _v_deref__deref__rfp_m_obj2 = (Expr) _v_deref__rfp_m_obj2.at ((0 + 1 + _v_len__ns2));
     134            int _v_len7 = _v_deref__deref__rfp_m_obj2.getLen ();
     135            int _v_len8 = 0;
     136            if ((_v_len7 < _v_len8))
    129137            {
    130138              break _block2__branch2;
    131139            }
    132             int _v_len__name__12 = (_v_len3 - _v_len4);
    133             if (!_c_2.eq (_v_deref__rfp_m_obj2, 0))
     140            int _v_len__name__12 = (_v_len7 - _v_len8);
     141            if (!_c_3.eq (_v_deref__rfp_m_obj2, 0))
    134142            {
    135143              break _block2__branch2;
    136144            }
     145            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj2, (0 + 1), _v_len__ns2);
    137146            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj2, 0, _v_len__name__12);
    138             _ve_prefix = _c_3;
     147            Expr[] _va_4 = { _c_4 , _ve_ns , _c_1 };
     148            _ve_prefix = Expr.concat (_va_4);
    139149            _ve_name = _v_name__1;
    140150            break _block2;
     
    150160            }
    151161            Expr _v_deref__rfp_m_obj3 = (Expr) _ve_rfp_m_obj.at (0);
    152             if ((_v_deref__rfp_m_obj3.getLen () != 2))
     162            int _v_len9 = _v_deref__rfp_m_obj3.getLen ();
     163            int _v_len10 = 2;
     164            if ((_v_len9 < _v_len10))
    153165            {
    154166              break _block2__branch3;
    155167            }
    156             if (_v_deref__rfp_m_obj3.symbolAt ((0 + 1)))
     168            int _v_len__ns3 = (_v_len9 - _v_len10);
     169            if (_v_deref__rfp_m_obj3.symbolAt ((0 + 1 + _v_len__ns3)))
    157170            {
    158171              break _block2__branch3;
    159172            }
    160             Expr _v_deref__deref__rfp_m_obj3 = (Expr) _v_deref__rfp_m_obj3.at ((0 + 1));
    161             int _v_len5 = _v_deref__deref__rfp_m_obj3.getLen ();
    162             int _v_len6 = 0;
    163             if ((_v_len5 < _v_len6))
     173            Expr _v_deref__deref__rfp_m_obj3 = (Expr) _v_deref__rfp_m_obj3.at ((0 + 1 + _v_len__ns3));
     174            int _v_len11 = _v_deref__deref__rfp_m_obj3.getLen ();
     175            int _v_len12 = 0;
     176            if ((_v_len11 < _v_len12))
    164177            {
    165178              break _block2__branch3;
    166179            }
    167             int _v_len__name__13 = (_v_len5 - _v_len6);
    168             if (!_c_4.eq (_v_deref__rfp_m_obj3, 0))
     180            int _v_len__name__13 = (_v_len11 - _v_len12);
     181            if (!_c_5.eq (_v_deref__rfp_m_obj3, 0))
    169182            {
    170183              break _block2__branch3;
    171184            }
     185            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj3, (0 + 1), _v_len__ns3);
    172186            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj3, 0, _v_len__name__13);
    173             _ve_prefix = _c_5;
     187            Expr[] _va_5 = { _c_6 , _ve_ns , _c_1 };
     188            _ve_prefix = Expr.concat (_va_5);
    174189            _ve_name = _v_name__1;
    175190            break _block2;
     
    185200            }
    186201            Expr _v_deref__rfp_m_obj4 = (Expr) _ve_rfp_m_obj.at (0);
    187             if ((_v_deref__rfp_m_obj4.getLen () != 2))
     202            int _v_len13 = _v_deref__rfp_m_obj4.getLen ();
     203            int _v_len14 = 2;
     204            if ((_v_len13 < _v_len14))
    188205            {
    189206              break _block2__branch4;
    190207            }
    191             if (_v_deref__rfp_m_obj4.symbolAt ((0 + 1)))
     208            int _v_len__ns4 = (_v_len13 - _v_len14);
     209            if (_v_deref__rfp_m_obj4.symbolAt ((0 + 1 + _v_len__ns4)))
    192210            {
    193211              break _block2__branch4;
    194212            }
    195             Expr _v_deref__deref__rfp_m_obj4 = (Expr) _v_deref__rfp_m_obj4.at ((0 + 1));
    196             int _v_len7 = _v_deref__deref__rfp_m_obj4.getLen ();
    197             int _v_len8 = 0;
    198             if ((_v_len7 < _v_len8))
     213            Expr _v_deref__deref__rfp_m_obj4 = (Expr) _v_deref__rfp_m_obj4.at ((0 + 1 + _v_len__ns4));
     214            int _v_len15 = _v_deref__deref__rfp_m_obj4.getLen ();
     215            int _v_len16 = 0;
     216            if ((_v_len15 < _v_len16))
    199217            {
    200218              break _block2__branch4;
    201219            }
    202             int _v_len__name__14 = (_v_len7 - _v_len8);
    203             if (!_c_6.eq (_v_deref__rfp_m_obj4, 0))
     220            int _v_len__name__14 = (_v_len15 - _v_len16);
     221            if (!_c_7.eq (_v_deref__rfp_m_obj4, 0))
    204222            {
    205223              break _block2__branch4;
    206224            }
     225            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj4, (0 + 1), _v_len__ns4);
    207226            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj4, 0, _v_len__name__14);
    208             _ve_prefix = _c_7;
     227            Expr[] _va_6 = { _c_8 , _ve_ns , _c_1 };
     228            _ve_prefix = Expr.concat (_va_6);
    209229            _ve_name = _v_name__1;
    210230            break _block2;
     
    220240            }
    221241            Expr _v_deref__rfp_m_obj5 = (Expr) _ve_rfp_m_obj.at (0);
    222             if ((_v_deref__rfp_m_obj5.getLen () != 2))
     242            int _v_len17 = _v_deref__rfp_m_obj5.getLen ();
     243            int _v_len18 = 2;
     244            if ((_v_len17 < _v_len18))
    223245            {
    224246              break _block2__branch5;
    225247            }
    226             if (_v_deref__rfp_m_obj5.symbolAt ((0 + 1)))
     248            int _v_len__ns5 = (_v_len17 - _v_len18);
     249            if (_v_deref__rfp_m_obj5.symbolAt ((0 + 1 + _v_len__ns5)))
    227250            {
    228251              break _block2__branch5;
    229252            }
    230             Expr _v_deref__deref__rfp_m_obj5 = (Expr) _v_deref__rfp_m_obj5.at ((0 + 1));
    231             int _v_len9 = _v_deref__deref__rfp_m_obj5.getLen ();
    232             int _v_len10 = 0;
    233             if ((_v_len9 < _v_len10))
     253            Expr _v_deref__deref__rfp_m_obj5 = (Expr) _v_deref__rfp_m_obj5.at ((0 + 1 + _v_len__ns5));
     254            int _v_len19 = _v_deref__deref__rfp_m_obj5.getLen ();
     255            int _v_len20 = 0;
     256            if ((_v_len19 < _v_len20))
    234257            {
    235258              break _block2__branch5;
    236259            }
    237             int _v_len__name__15 = (_v_len9 - _v_len10);
    238             if (!_c_8.eq (_v_deref__rfp_m_obj5, 0))
     260            int _v_len__name__15 = (_v_len19 - _v_len20);
     261            if (!_c_9.eq (_v_deref__rfp_m_obj5, 0))
    239262            {
    240263              break _block2__branch5;
    241264            }
     265            Expr _ve_ns = new Expr (_v_deref__rfp_m_obj5, (0 + 1), _v_len__ns5);
    242266            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj5, 0, _v_len__name__15);
    243             _ve_prefix = _c_9;
     267            Expr[] _va_7 = { _c_10 , _ve_ns , _c_1 };
     268            _ve_prefix = Expr.concat (_va_7);
    244269            _ve_name = _v_name__1;
    245270            break _block2;
     
    264289            }
    265290            Expr _v_deref__deref__rfp_m_obj6 = (Expr) _v_deref__rfp_m_obj6.at ((0 + 1));
    266             int _v_len11 = _v_deref__deref__rfp_m_obj6.getLen ();
    267             int _v_len12 = 0;
    268             if ((_v_len11 < _v_len12))
     291            int _v_len21 = _v_deref__deref__rfp_m_obj6.getLen ();
     292            int _v_len22 = 0;
     293            if ((_v_len21 < _v_len22))
    269294            {
    270295              break _block2__branch6;
    271296            }
    272             int _v_len__name__16 = (_v_len11 - _v_len12);
    273             if (!_c_10.eq (_v_deref__rfp_m_obj6, 0))
     297            int _v_len__name__16 = (_v_len21 - _v_len22);
     298            if (!_c_11.eq (_v_deref__rfp_m_obj6, 0))
    274299            {
    275300              break _block2__branch6;
    276301            }
    277302            Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj6, 0, _v_len__name__16);
    278             _ve_prefix = _c_11;
     303            _ve_prefix = _c_12;
    279304            _ve_name = _v_name__1;
    280305            break _block2;
     
    298323          }
    299324          Expr _v_deref__deref__rfp_m_obj7 = (Expr) _v_deref__rfp_m_obj7.at ((0 + 1));
    300           int _v_len13 = _v_deref__deref__rfp_m_obj7.getLen ();
    301           int _v_len14 = 0;
    302           if ((_v_len13 < _v_len14))
     325          int _v_len23 = _v_deref__deref__rfp_m_obj7.getLen ();
     326          int _v_len24 = 0;
     327          if ((_v_len23 < _v_len24))
    303328          {
    304329            break _block1__branch1;
    305330          }
    306           int _v_len__name__17 = (_v_len13 - _v_len14);
    307           if (!_c_12.eq (_v_deref__rfp_m_obj7, 0))
     331          int _v_len__name__17 = (_v_len23 - _v_len24);
     332          if (!_c_13.eq (_v_deref__rfp_m_obj7, 0))
    308333          {
    309334            break _block1__branch1;
    310335          }
    311336          Expr _v_name__1 = new Expr (_v_deref__deref__rfp_m_obj7, 0, _v_len__name__17);
    312           _ve_prefix = _c_13;
     337          _ve_prefix = _c_1;
    313338          _ve_name = _v_name__1;
    314339        }
     
    331356            }
    332357            Expr _v_deref__rfp_m_obj8 = (Expr) _ve_rfp_m_obj.at (0);
    333             int _v_len15 = _v_deref__rfp_m_obj8.getLen ();
    334             int _v_len16 = 1;
    335             if ((_v_len15 < _v_len16))
     358            int _v_len25 = _v_deref__rfp_m_obj8.getLen ();
     359            int _v_len26 = 1;
     360            if ((_v_len25 < _v_len26))
    336361            {
    337362              break _block3__branch1;
    338363            }
    339             int _v_len__names = (_v_len15 - _v_len16);
     364            int _v_len__names = (_v_len25 - _v_len26);
    340365            if (!_c_14.eq (_v_deref__rfp_m_obj8, 0))
    341366            {
     
    356381            }
    357382            Expr _v_deref__rfp_m_obj9 = (Expr) _ve_rfp_m_obj.at (0);
    358             int _v_len17 = _v_deref__rfp_m_obj9.getLen ();
    359             int _v_len18 = 0;
    360             if ((_v_len17 < _v_len18))
     383            int _v_len27 = _v_deref__rfp_m_obj9.getLen ();
     384            int _v_len28 = 0;
     385            if ((_v_len27 < _v_len28))
    361386            {
    362387              break _block3__branch2;
    363388            }
    364             int _v_len__names2 = (_v_len17 - _v_len18);
     389            int _v_len__names2 = (_v_len27 - _v_len28);
    365390            Expr _ve_names = new Expr (_v_deref__rfp_m_obj9, 0, _v_len__names2);
    366391            _v_auxblock1 = _ve_names;
    367392            break _block3;
    368393          }
    369           int _v_len19 = _ve_rfp_m_obj.getLen ();
    370           int _v_len20 = 0;
    371           if ((_v_len19 < _v_len20))
    372           {
    373             throw new RefalException ("CppMangle", "Rfp2Java", "Unexpected fail");
    374           }
    375           int _v_len__names3 = (_v_len19 - _v_len20);
     394          int _v_len29 = _ve_rfp_m_obj.getLen ();
     395          int _v_len30 = 0;
     396          if ((_v_len29 < _v_len30))
     397          {
     398            throw new RefalException ("JavaMangle", "Rfp2Java", "Unexpected fail");
     399          }
     400          int _v_len__names3 = (_v_len29 - _v_len30);
    376401          Expr _ve_names = new Expr (_ve_rfp_m_obj, 0, _v_len__names3);
    377402          _v_auxblock1 = _ve_names;
    378403        }
    379         int _v_len21 = _v_auxblock1.getLen ();
    380         int _v_len22 = 1;
    381         if ((_v_len21 < _v_len22))
     404        int _v_len31 = _v_auxblock1.getLen ();
     405        int _v_len32 = 1;
     406        if ((_v_len31 < _v_len32))
    382407        {
    383408          break _block1__branch2;
    384409        }
    385         int _v_len__qualifiers = (_v_len21 - _v_len22);
     410        int _v_len__qualifiers = (_v_len31 - _v_len32);
    386411        if (!_v_auxblock1.symbolAt ((0 + _v_len__qualifiers)))
    387412        {
     
    406431          break _block4__branch1;
    407432        }
    408         int _v_len23 = _v_Apply1.getExpr ().getLen ();
    409         int _v_len24 = 0;
    410         if ((_v_len23 < _v_len24))
     433        int _v_len33 = _v_Apply1.getExpr ().getLen ();
     434        int _v_len34 = 0;
     435        if ((_v_len33 < _v_len34))
    411436        {
    412437          break _block4__branch1;
    413438        }
    414         int _v_len___e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_78_m_40 = (_v_len23 - _v_len24);
     439        int _v_len___e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_78_m_40 = (_v_len33 - _v_len34);
    415440        Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_78_m_40 = new Expr (_v_Apply1.getExpr (), 0, _v_len___e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_78_m_40);
    416441        _v_res1.assign (new Expr (_c_17, _ve_ident));
     
    474499            break _negation1;
    475500          }
    476           Expr.SplitIterator _va_3 = _c_19.leftSplit(0);
    477           _exit1: _continue1: for ( ; ; _va_3.next ())
    478           {
    479             Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_88_m_34 = _va_3.getLeft();
    480             Expr _v_lsplit__19 = _va_3.getRight();
    481             if (!_va_3.isValid ())
     501          Expr.SplitIterator _va_8 = _c_19.leftSplit(0);
     502          _exit1: _continue1: for ( ; ; _va_8.next ())
     503          {
     504            Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_88_m_34 = _va_8.getLeft();
     505            Expr _v_lsplit__19 = _va_8.getRight();
     506            if (!_va_8.isValid ())
    482507            {
    483508              break _negation1;
     
    507532          break _block1__branch3;
    508533        }
    509         Expr.SplitIterator _va_4 = Conv_m_Table.leftSplit(0);
    510         _exit2: _continue2: for ( ; ; _va_4.next ())
    511         {
    512           Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_89_m_18 = _va_4.getLeft();
    513           Expr _v_lsplit__Conv_m_Table = _va_4.getRight();
    514           if (!_va_4.isValid ())
     534        Expr.SplitIterator _va_9 = Conv_m_Table.leftSplit(0);
     535        _exit2: _continue2: for ( ; ; _va_9.next ())
     536        {
     537          Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_89_m_18 = _va_9.getLeft();
     538          Expr _v_lsplit__Conv_m_Table = _va_9.getRight();
     539          if (!_va_9.isValid ())
    515540          {
    516541            break _block1__branch3;
     
    541566          Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_89_m_36 = new Expr (_v_lsplit__Conv_m_Table, (0 + 1), _v_len___e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_89_m_36);
    542567          Expr _ve_code = new Expr (_v_deref__lsplit__Conv_m_Table, (0 + 1), _v_len__code);
    543           Expr[] _va_5 = { _c_13 , _ve_code , _c_13 };
    544           _v_res1.assign (Expr.concat (_va_5));
     568          Expr[] _va_10 = { _c_1 , _ve_code , _c_1 };
     569          _v_res1.assign (Expr.concat (_va_10));
    545570          break _exit2;
    546571        }
     
    549574      Result _v_Char_m_To_m_Unicode1 = new Result ();
    550575      Char_m_To_m_Unicode (_vs_char, _v_Char_m_To_m_Unicode1);
    551       Expr[] _va_6 = { _c_13 , _v_Char_m_To_m_Unicode1.getExpr () , _c_13 };
    552       _v_res1.assign (Expr.concat (_va_6));
     576      Expr[] _va_11 = { _c_1 , _v_Char_m_To_m_Unicode1.getExpr () , _c_1 };
     577      _v_res1.assign (Expr.concat (_va_11));
    553578    }
    554579  }
     
    655680      if ((_v_len3 < _v_len4))
    656681      {
    657         throw new RefalException ("CppMangle", "Java2Rfp", "Unexpected fail");
     682        throw new RefalException ("JavaMangle", "Java2Rfp", "Unexpected fail");
    658683      }
    659684      int _v_len__name2 = (_v_len3 - _v_len4);
     
    670695        }
    671696        int _v_len__name3 = (_v_len5 - _v_len6);
    672         if (!_c_3.eq (_v_auxblock1, 0))
     697        if (!_c_4.eq (_v_auxblock1, 0))
    673698        {
    674699          break _block2__branch1;
     
    680705          return false;
    681706        }
    682         _v_res1.assign (new Expr(new Expr (_c_2, new Expr(_v_Chars2Rfp1.getExpr ()))));
     707        _v_res1.assign (new Expr(new Expr (_c_3, new Expr(_v_Chars2Rfp1.getExpr ()))));
    683708        break _block2;
    684709      }
     
    691716        }
    692717        int _v_len__name4 = (_v_len7 - _v_len8);
    693         if (!_c_5.eq (_v_auxblock1, 0))
     718        if (!_c_6.eq (_v_auxblock1, 0))
    694719        {
    695720          break _block2__branch2;
     
    701726          return false;
    702727        }
    703         _v_res1.assign (new Expr(new Expr (_c_4, new Expr(_v_Chars2Rfp2.getExpr ()))));
     728        _v_res1.assign (new Expr(new Expr (_c_5, new Expr(_v_Chars2Rfp2.getExpr ()))));
    704729        break _block2;
    705730      }
     
    712737        }
    713738        int _v_len__name5 = (_v_len9 - _v_len10);
    714         if (!_c_7.eq (_v_auxblock1, 0))
     739        if (!_c_8.eq (_v_auxblock1, 0))
    715740        {
    716741          break _block2__branch3;
     
    722747          return false;
    723748        }
    724         _v_res1.assign (new Expr(new Expr (_c_6, new Expr(_v_Chars2Rfp3.getExpr ()))));
     749        _v_res1.assign (new Expr(new Expr (_c_7, new Expr(_v_Chars2Rfp3.getExpr ()))));
    725750        break _block2;
    726751      }
     
    733758        }
    734759        int _v_len__name6 = (_v_len11 - _v_len12);
    735         if (!_c_9.eq (_v_auxblock1, 0))
     760        if (!_c_10.eq (_v_auxblock1, 0))
    736761        {
    737762          break _block2__branch4;
     
    743768          return false;
    744769        }
    745         _v_res1.assign (new Expr(new Expr (_c_8, new Expr(_v_Chars2Rfp4.getExpr ()))));
     770        _v_res1.assign (new Expr(new Expr (_c_9, new Expr(_v_Chars2Rfp4.getExpr ()))));
    746771        break _block2;
    747772      }
     
    769794          break _block1__branch1;
    770795        }
    771         Expr.SplitIterator _va_7 = _v_arg1.leftSplit(0);
    772         _exit1: _continue1: for ( ; ; _va_7.next ())
    773         {
    774           Expr _ve_qualifier = _va_7.getLeft();
    775           Expr _v_lsplit__arg1 = _va_7.getRight();
    776           if (!_va_7.isValid ())
     796        Expr.SplitIterator _va_12 = _v_arg1.leftSplit(0);
     797        _exit1: _continue1: for ( ; ; _va_12.next ())
     798        {
     799          Expr _ve_qualifier = _va_12.getLeft();
     800          Expr _v_lsplit__arg1 = _va_12.getRight();
     801          if (!_va_12.isValid ())
    777802          {
    778803            break _block1__branch1;
     
    832857          break _block1__branch1;
    833858        }
    834         if (!_c_13.eq (_v_arg1, 0))
     859        if (!_c_1.eq (_v_arg1, 0))
    835860        {
    836861          break _block1__branch1;
    837862        }
    838863        Expr _v_subexpr__arg1 = new Expr (_v_arg1, (0 + 1), (_v_arg1.getLen () - (0 + 1 + 0)));
    839         Expr.SplitIterator _va_8 = _v_subexpr__arg1.leftSplit(0);
    840         _exit1: _continue1: for ( ; ; _va_8.next ())
    841         {
    842           Expr _ve_code = _va_8.getLeft();
    843           Expr _v_lsplit__arg1 = _va_8.getRight();
    844           if (!_va_8.isValid ())
     864        Expr.SplitIterator _va_13 = _v_subexpr__arg1.leftSplit(0);
     865        _exit1: _continue1: for ( ; ; _va_13.next ())
     866        {
     867          Expr _ve_code = _va_13.getLeft();
     868          Expr _v_lsplit__arg1 = _va_13.getRight();
     869          if (!_va_13.isValid ())
    845870          {
    846871            break _block1__branch1;
     
    853878          }
    854879          int _v_len__rest = (_v_len1 - _v_len2);
    855           if (!_c_13.eq (_v_lsplit__arg1, 0))
     880          if (!_c_1.eq (_v_lsplit__arg1, 0))
    856881          {
    857882            continue _continue1;
     
    862887            return false;
    863888          }
    864           Expr.SplitIterator _va_9 = Conv_m_Table.leftSplit(0);
    865           _exit2: _continue2: for ( ; ; _va_9.next ())
    866           {
    867             Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_132_m_20 = _va_9.getLeft();
    868             Expr _v_lsplit__Conv_m_Table = _va_9.getRight();
    869             if (!_va_9.isValid ())
     889          Expr.SplitIterator _va_14 = Conv_m_Table.leftSplit(0);
     890          _exit2: _continue2: for ( ; ; _va_14.next ())
     891          {
     892            Expr _ve__e__e_tmp_m__s_library_s_CppMangle_s_refal_s_CppManglerf_m_132_m_20 = _va_14.getLeft();
     893            Expr _v_lsplit__Conv_m_Table = _va_14.getRight();
     894            if (!_va_14.isValid ())
    870895            {
    871896              return false;
  • to-imperative/trunk/java/org/refal/plus/library/List.java

    r1965 r2065  
    22
    33import org.refal.plus.*;
    4 import org.refal.plus.library.Access;
    54import org.refal.plus.library.Arithm;
    65import java.math.BigInteger;
     6import org.refal.plus.library.Compare;
    77import org.refal.plus.library.Apply;
    88
     
    5555  {
    5656    _v_res1.assign (_vt_erm);
     57  }
     58
     59  static public void Id (Expr _ve_1, Result _v_res1) throws RefalException
     60  {
     61    _v_res1.assign (_ve_1);
     62  }
     63
     64  static public void Append (Expr _ve_1, Expr _ve_2, Result _v_res1) throws RefalException
     65  {
     66    _v_res1.assign (new Expr (_ve_2, _ve_1));
    5767  }
    5868
     
    96106  }
    97107
    98   static public void Map (Expr _vs_Fname, Expr _ve_Fargs, Expr _ve_list, Result _v_res1) throws RefalException
     108  static public boolean Map (Expr _vs_Fname, Expr _ve_Fargs, Expr _ve_list, Result _v_res1) throws RefalException
    99109  {
    100110    Expr _ve_new_m_list = Expr.empty;
     
    122132      if (!Apply.Apply (_vs_Fname, new Expr (_ve_Fargs, _vt_item), _v_Apply1))
    123133      {
    124         throw new RefalException ("List", "Map", "Unexpected fail");
     134        return false;
    125135      }
    126136      _ve_new_m_list = new Expr (_ve_new_m_list, _v_Apply1.getExpr ());
    127137      _v_list__1 = _ve_rest;
    128138    }
     139    return true;
     140  }
     141
     142  static public boolean Map_e_ (Expr _vs_Fname, Expr _ve_Fargs, Expr _ve_list, Result _v_res1) throws RefalException
     143  {
     144    Expr _ve_new_m_list = Expr.empty;
     145    Expr _v_list__1 = _ve_list;
     146    _exit__iter1: for ( ; ; )
     147    {
     148      _iter1: {
     149        if ((_v_list__1.getLen () != 0))
     150        {
     151          break _iter1;
     152        }
     153        _v_res1.assign (_ve_new_m_list);
     154        break _exit__iter1;
     155      }
     156      int _v_len1 = _v_list__1.getLen ();
     157      int _v_len2 = 1;
     158      if ((_v_len1 < _v_len2))
     159      {
     160        throw new RefalException ("List", "Map_e_", "Unexpected fail");
     161      }
     162      int _v_len__rest = (_v_len1 - _v_len2);
     163      if (_v_list__1.symbolAt (0))
     164      {
     165        throw new RefalException ("List", "Map_e_", "Unexpected fail");
     166      }
     167      Expr _v_deref__list__1 = (Expr) _v_list__1.at (0);
     168      int _v_len3 = _v_deref__list__1.getLen ();
     169      int _v_len4 = 0;
     170      if ((_v_len3 < _v_len4))
     171      {
     172        throw new RefalException ("List", "Map_e_", "Unexpected fail");
     173      }
     174      int _v_len__item = (_v_len3 - _v_len4);
     175      Expr _ve_rest = new Expr (_v_list__1, (0 + 1), _v_len__rest);
     176      Expr _ve_item = new Expr (_v_deref__list__1, 0, _v_len__item);
     177      Result _v_Apply1 = new Result ();
     178      if (!Apply.Apply (_vs_Fname, new Expr (_ve_Fargs, _ve_item), _v_Apply1))
     179      {
     180        return false;
     181      }
     182      _ve_new_m_list = new Expr (_ve_new_m_list, new Expr(_v_Apply1.getExpr ()));
     183      _v_list__1 = _ve_rest;
     184    }
     185    return true;
    129186  }
    130187
     
    165222            break _block2__branch1;
    166223          }
    167           int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_36_m_41 = (_v_len3 - _v_len4);
    168           Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_36_m_41 = new Expr (_v_Apply1.getExpr (), 0, _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_36_m_41);
     224          int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_48_m_41 = (_v_len3 - _v_len4);
     225          Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_48_m_41 = new Expr (_v_Apply1.getExpr (), 0, _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_48_m_41);
    169226          _ve_new_m_list = new Expr (_ve_new_m_list, _vt_item);
    170227          _v_list__1 = _ve_rest;
     
    214271            break _block2__branch1;
    215272          }
    216           int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_47_m_41 = (_v_len3 - _v_len4);
    217           Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_47_m_41 = new Expr (_v_Apply1.getExpr (), 0, _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_47_m_41);
     273          int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_59_m_41 = (_v_len3 - _v_len4);
     274          Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_59_m_41 = new Expr (_v_Apply1.getExpr (), 0, _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_59_m_41);
    218275          _ve_true_m_list = new Expr (_ve_true_m_list, _vt_item);
    219276          _v_list__1 = _ve_rest;
     
    235292    _exit1: _continue1: for ( ; ; _va_2.next ())
    236293    {
    237       Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_56_m_13 = _va_2.getLeft();
     294      Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_68_m_13 = _va_2.getLeft();
    238295      Expr _v_lsplit__list = _va_2.getRight();
    239296      if (!_va_2.isValid ())
     
    247304        return false;
    248305      }
    249       int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_56_m_22 = (_v_len1 - _v_len2);
     306      int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_68_m_22 = (_v_len1 - _v_len2);
    250307      if (!_vt_item.eq (_v_lsplit__list, 0))
    251308      {
    252309        continue _continue1;
    253310      }
    254       Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_56_m_22 = new Expr (_v_lsplit__list, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_56_m_22);
     311      Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_68_m_22 = new Expr (_v_lsplit__list, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_68_m_22);
    255312      break _exit1;
    256313    }
    257314    return true;
    258   }
    259 
    260   static public void Get_m_Elem (Expr _vs_num, Expr _ve_list, Result _v_res1) throws RefalException
    261   {
    262     if (!Access.L (_vs_num, _ve_list, _v_res1))
    263     {
    264       throw new RefalException ("List", "Get_m_Elem", "Unexpected fail");
    265     }
    266315  }
    267316
     
    322371  static public void Concat (Expr _ve_lists, Result _v_res1) throws RefalException
    323372  {
    324     Map (_c_0, Expr.empty, _ve_lists, _v_res1);
     373    if (!Map (_c_0, Expr.empty, _ve_lists, _v_res1))
     374    {
     375      throw new RefalException ("List", "Concat", "Unexpected fail");
     376    }
    325377  }
    326378
    327379  static public void Paren (Expr _ve_xpr, Result _v_res1) throws RefalException
    328380  {
    329     Map (_c_1, Expr.empty, _ve_xpr, _v_res1);
     381    if (!Map (_c_1, Expr.empty, _ve_xpr, _v_res1))
     382    {
     383      throw new RefalException ("List", "Paren", "Unexpected fail");
     384    }
    330385  }
    331386
     
    356411  }
    357412
    358   static public void Intersperse (Expr _ve_sep, Expr _ve_list, Result _v_res1) throws RefalException
    359   {
    360     Expr _ve_new_m_list = Expr.empty;
    361     Expr _v_list__1 = _ve_list;
    362     _exit__iter1: for ( ; ; )
    363     {
    364       _iter1: {
    365         if ((_v_list__1.getLen () != 0))
    366         {
    367           break _iter1;
    368         }
    369         _v_res1.assign (_ve_new_m_list);
    370         break _exit__iter1;
    371       }
    372       _block1: {
    373         _block1__branch1: {
    374           int _v_len1 = _v_list__1.getLen ();
    375           int _v_len2 = 1;
    376           if ((_v_len1 < (_v_len2 + 1)))
    377           {
    378             break _block1__branch1;
    379           }
    380           int _v_len__2 = (_v_len1 - _v_len2);
    381           Expr _vt_1 = new Expr (_v_list__1, 0, 1);
    382           Expr _vv_2 = new Expr (_v_list__1, (0 + 1), _v_len__2);
    383           Expr[] _va_5 = { _ve_new_m_list , _vt_1 , _ve_sep };
    384           _ve_new_m_list = Expr.concat (_va_5);
    385           _v_list__1 = _vv_2;
    386           break _block1;
    387         }
    388         _ve_new_m_list = new Expr (_ve_new_m_list, _v_list__1);
    389         _v_list__1 = Expr.empty;
     413  static public void Intersperse (Expr _v_arg1, Expr _v_arg2, Result _v_res1) throws RefalException
     414  {
     415    _block1: {
     416      _block1__branch1: {
     417        if (((_v_arg2.getLen () + 1) != 1))
     418        {
     419          break _block1__branch1;
     420        }
     421        Expr _v_compose1 = new Expr (new Expr(_v_arg1), _v_arg2);
     422        if (_v_compose1.symbolAt (0))
     423        {
     424          break _block1__branch1;
     425        }
     426        Expr _v_deref__compose1 = (Expr) _v_compose1.at (0);
     427        int _v_len1 = _v_deref__compose1.getLen ();
     428        int _v_len2 = 0;
     429        if ((_v_len1 < _v_len2))
     430        {
     431          break _block1__branch1;
     432        }
     433        int _v_len__sep = (_v_len1 - _v_len2);
     434        Expr _ve_sep = new Expr (_v_deref__compose1, 0, _v_len__sep);
     435        _v_res1.assign (Expr.empty);
     436        break _block1;
     437      }
     438      _block1__branch2: {
     439        if (((_v_arg2.getLen () + 1) != 2))
     440        {
     441          break _block1__branch2;
     442        }
     443        Expr _v_compose2 = new Expr (new Expr(_v_arg1), _v_arg2);
     444        if (_v_compose2.symbolAt (0))
     445        {
     446          break _block1__branch2;
     447        }
     448        Expr _v_deref__compose2 = (Expr) _v_compose2.at (0);
     449        int _v_len3 = _v_deref__compose2.getLen ();
     450        int _v_len4 = 0;
     451        if ((_v_len3 < _v_len4))
     452        {
     453          break _block1__branch2;
     454        }
     455        int _v_len__sep2 = (_v_len3 - _v_len4);
     456        Expr _vt_1 = new Expr (_v_compose2, (0 + 1), 1);
     457        Expr _ve_sep = new Expr (_v_deref__compose2, 0, _v_len__sep2);
     458        _v_res1.assign (_vt_1);
     459        break _block1;
     460      }
     461      int _v_len5 = (_v_arg2.getLen () + 1);
     462      int _v_len6 = 2;
     463      if ((_v_len5 < _v_len6))
     464      {
     465        throw new RefalException ("List", "Intersperse", "Unexpected fail");
     466      }
     467      int _v_len__list = (_v_len5 - _v_len6);
     468      Expr _v_compose3 = new Expr (new Expr(_v_arg1), _v_arg2);
     469      if (_v_compose3.symbolAt (0))
     470      {
     471        throw new RefalException ("List", "Intersperse", "Unexpected fail");
     472      }
     473      Expr _v_deref__compose3 = (Expr) _v_compose3.at (0);
     474      int _v_len7 = _v_deref__compose3.getLen ();
     475      int _v_len8 = 0;
     476      if ((_v_len7 < _v_len8))
     477      {
     478        throw new RefalException ("List", "Intersperse", "Unexpected fail");
     479      }
     480      int _v_len__sep3 = (_v_len7 - _v_len8);
     481      Expr _vt_1 = new Expr (_v_compose3, (0 + 1), 1);
     482      Expr _ve_list = new Expr (_v_compose3, (0 + 1 + 1), _v_len__list);
     483      Expr _ve_sep = new Expr (_v_deref__compose3, 0, _v_len__sep3);
     484      Expr _ve_new_m_list = new Expr (_vt_1, _ve_sep);
     485      _exit__iter1: for ( ; ; )
     486      {
     487        _iter1: {
     488          if ((_ve_list.getLen () != 1))
     489          {
     490            break _iter1;
     491          }
     492          Expr _vt_2 = new Expr (_ve_list, 0, 1);
     493          _v_res1.assign (new Expr (_ve_new_m_list, _vt_2));
     494          break _exit__iter1;
     495        }
     496        int _v_len9 = _ve_list.getLen ();
     497        int _v_len10 = 1;
     498        if ((_v_len9 < _v_len10))
     499        {
     500          throw new RefalException ("List", "Intersperse", "Unexpected fail");
     501        }
     502        int _v_len__rest = (_v_len9 - _v_len10);
     503        Expr _vt_2 = new Expr (_ve_list, 0, 1);
     504        Expr _ve_rest = new Expr (_ve_list, (0 + 1), _v_len__rest);
     505        Expr[] _va_5 = { _ve_new_m_list , _vt_2 , _ve_sep };
     506        _ve_new_m_list = Expr.concat (_va_5);
     507        _ve_list = _ve_rest;
    390508      }
    391509    }
     
    424542          _exit1: _continue1: for ( ; ; _va_6.next ())
    425543          {
    426             Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_95_m_21 = _va_6.getLeft();
     544            Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_108_m_21 = _va_6.getLeft();
    427545            Expr _v_lsplit__selected = _va_6.getRight();
    428546            if (!_va_6.isValid ())
     
    436554              break _block2__branch1;
    437555            }
    438             int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_95_m_28 = (_v_len3 - _v_len4);
     556            int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_108_m_28 = (_v_len3 - _v_len4);
    439557            if (!_vt_erm.eq (_v_lsplit__selected, 0))
    440558            {
    441559              continue _continue1;
    442560            }
    443             Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_95_m_28 = new Expr (_v_lsplit__selected, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_95_m_28);
     561            Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_108_m_28 = new Expr (_v_lsplit__selected, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_108_m_28);
    444562            _v_expr__1 = _ve_rest;
    445563            break _exit1;
     
    453571  }
    454572
    455   static public void Entries (Expr _ve_expr, Expr _ve_source, Result _v_res1, Result _v_res2) throws RefalException
    456   {
    457     Expr _vs_num = _c_2;
    458     Expr _v_source__1 = _ve_source;
    459     Expr _ve_res = Expr.empty;
    460     _exit__iter1: for ( ; ; )
    461     {
    462       _iter1: {
    463         if ((_v_source__1.getLen () != 0))
    464         {
    465           break _iter1;
    466         }
    467         _v_res1.assign (_vs_num);
    468         _v_res2.assign (_ve_res);
    469         break _exit__iter1;
    470       }
    471       _block1: {
    472         _block1__branch1: {
    473           if ((_v_source__1.getLen () < _ve_expr.getLen ()))
    474           {
    475             break _block1__branch1;
    476           }
    477           Expr.SplitIterator _va_7 = _v_source__1.leftSplit(0);
    478           _exit1: _continue1: for ( ; ; _va_7.next ())
    479           {
    480             Expr _ve_1 = _va_7.getLeft();
    481             Expr _v_lsplit__source__1 = _va_7.getRight();
    482             if (!_va_7.isValid ())
    483             {
    484               break _block1__branch1;
    485             }
    486             int _v_len1 = _v_lsplit__source__1.getLen ();
    487             int _v_len2 = _ve_expr.getLen ();
    488             if ((_v_len1 < _v_len2))
    489             {
    490               break _block1__branch1;
    491             }
    492             int _v_len__2 = (_v_len1 - _v_len2);
    493             if (!_ve_expr.eq (_v_lsplit__source__1, 0))
    494             {
    495               continue _continue1;
    496             }
    497             Expr _ve_2 = new Expr (_v_lsplit__source__1, (0 + _ve_expr.getLen ()), _v_len__2);
    498             Result _va_8 = new Result ();
    499             Arithm._p_ (_vs_num, _c_3, _va_8);
    500             _vs_num = _va_8.getExpr ();
    501             _v_source__1 = _ve_2;
    502             _ve_res = new Expr (_ve_res, _ve_1);
    503             break _exit1;
    504           }
    505           break _block1;
    506         }
    507         _ve_res = new Expr (_ve_res, _v_source__1);
    508         _v_source__1 = Expr.empty;
    509       }
     573  static public void Replicate (Expr _vs_n, Expr _ve_expr, Result _v_res1) throws RefalException
     574  {
     575    Expr _v_n__1 = _vs_n;
     576    Expr _ve_list = Expr.empty;
     577    _exit__iter1: for ( ; ; )
     578    {
     579      _iter1: {
     580        if (!Compare._lt__eq_ (_v_n__1, _c_2))
     581        {
     582          break _iter1;
     583        }
     584        _v_res1.assign (_ve_list);
     585        break _exit__iter1;
     586      }
     587      Result _va_7 = new Result ();
     588      Arithm._m_ (_v_n__1, _c_3, _va_7);
     589      _v_n__1 = _va_7.getExpr ();
     590      _ve_list = new Expr (_ve_list, _ve_expr);
    510591    }
    511592  }
     
    540621            break _block2__branch1;
    541622          }
    542           Expr.SplitIterator _va_9 = _v_list1__1.leftSplit(0);
    543           _exit1: _continue1: for ( ; ; _va_9.next ())
    544           {
    545             Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_120_m_20 = _va_9.getLeft();
    546             Expr _v_lsplit__list1__1 = _va_9.getRight();
    547             if (!_va_9.isValid ())
     623          Expr.SplitIterator _va_8 = _v_list1__1.leftSplit(0);
     624          _exit1: _continue1: for ( ; ; _va_8.next ())
     625          {
     626            Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_140_m_20 = _va_8.getLeft();
     627            Expr _v_lsplit__list1__1 = _va_8.getRight();
     628            if (!_va_8.isValid ())
    548629            {
    549630              break _block2__branch1;
     
    555636              break _block2__branch1;
    556637            }
    557             int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_120_m_27 = (_v_len3 - _v_len4);
     638            int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_140_m_27 = (_v_len3 - _v_len4);
    558639            if (!_vt_erm.eq (_v_lsplit__list1__1, 0))
    559640            {
    560641              continue _continue1;
    561642            }
    562             Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_120_m_27 = new Expr (_v_lsplit__list1__1, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_120_m_27);
     643            Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_140_m_27 = new Expr (_v_lsplit__list1__1, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_140_m_27);
    563644            _v_list2__1 = _ve_rest;
    564645            break _exit1;
     
    601682            break _block2__branch1;
    602683          }
    603           Expr.SplitIterator _va_10 = _ve_list2.leftSplit(0);
    604           _exit1: _continue1: for ( ; ; _va_10.next ())
    605           {
    606             Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_134_m_20 = _va_10.getLeft();
    607             Expr _v_lsplit__list2 = _va_10.getRight();
    608             if (!_va_10.isValid ())
     684          Expr.SplitIterator _va_9 = _ve_list2.leftSplit(0);
     685          _exit1: _continue1: for ( ; ; _va_9.next ())
     686          {
     687            Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_154_m_20 = _va_9.getLeft();
     688            Expr _v_lsplit__list2 = _va_9.getRight();
     689            if (!_va_9.isValid ())
    609690            {
    610691              break _block2__branch1;
     
    616697              break _block2__branch1;
    617698            }
    618             int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_134_m_27 = (_v_len3 - _v_len4);
     699            int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_154_m_27 = (_v_len3 - _v_len4);
    619700            if (!_vt_erm.eq (_v_lsplit__list2, 0))
    620701            {
    621702              continue _continue1;
    622703            }
    623             Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_134_m_27 = new Expr (_v_lsplit__list2, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_134_m_27);
     704            Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_154_m_27 = new Expr (_v_lsplit__list2, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_154_m_27);
    624705            _v_list1__1 = _ve_rest;
    625706            _ve_and = new Expr (_ve_and, _vt_erm);
     
    662743            break _block2__branch1;
    663744          }
    664           Expr.SplitIterator _va_11 = _ve_list2.leftSplit(0);
    665           _exit1: _continue1: for ( ; ; _va_11.next ())
    666           {
    667             Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_148_m_20 = _va_11.getLeft();
    668             Expr _v_lsplit__list2 = _va_11.getRight();
    669             if (!_va_11.isValid ())
     745          Expr.SplitIterator _va_10 = _ve_list2.leftSplit(0);
     746          _exit1: _continue1: for ( ; ; _va_10.next ())
     747          {
     748            Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_168_m_20 = _va_10.getLeft();
     749            Expr _v_lsplit__list2 = _va_10.getRight();
     750            if (!_va_10.isValid ())
    670751            {
    671752              break _block2__branch1;
     
    677758              break _block2__branch1;
    678759            }
    679             int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_148_m_27 = (_v_len3 - _v_len4);
     760            int _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_168_m_27 = (_v_len3 - _v_len4);
    680761            if (!_vt_erm.eq (_v_lsplit__list2, 0))
    681762            {
    682763              continue _continue1;
    683764            }
    684             Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_148_m_27 = new Expr (_v_lsplit__list2, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_148_m_27);
     765            Expr _ve__e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_168_m_27 = new Expr (_v_lsplit__list2, (0 + 1), _v_len___e__e_tmp_m__s_library_s_List_s_refal_s_Listrf_m_168_m_27);
    685766            _v_list1__1 = _ve_rest;
    686767            break _exit1;
Note: See TracChangeset for help on using the changeset viewer.