Changeset 1818


Ignore:
Timestamp:
Dec 27, 2005, 7:32:38 AM (15 years ago)
Author:
orlov
Message:
  • reserved_c++ and reserved_java are renamed to cpp_specific and java_specific.
Location:
to-imperative/trunk/library
Files:
6 added
11 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/library/CppMangle/CppMangle.cc

    r1816 r1818  
    22#include <refal/Apply.hh>
    33#include <refal/Convert.hh>
    4 #include "reserved-c++.hh"
     4#include "cpp_specific.hh"
    55#include <refal/List.hh>
    66#include <refal/Class.hh>
     
    9999static Expr _c_33;
    100100
    101 static Expr _c_34;
    102 
    103101RF_FUNC (Rfp2Cpp, (RF_ARG _ve_rfp_m_obj;;), (RF_RES _v_res1;;))
    104   RF_TAILCALL (Rfp2Cpp_m_With, (_c_0, _ve_rfp_m_obj), _v_res1);
    105 RF_END
    106 
    107 RF_FUNC (Rfp2Cpp_m_With, (RF_ARG _vs_Reserved_m_Word_q_, _ve_rfp_m_obj;;), (RF_RES _v_res1;;))
    108102  Expr _ve_ident;
    109103  {
     
    138132          }
    139133          uintptr_t _v_len__name__1 = (_v_len1 - _v_len2);
    140           if (!_c_1.term_eq (_v_deref__rfp_m_obj, 0))
     134          if (!_c_0.term_eq (_v_deref__rfp_m_obj, 0))
    141135          {
    142136            goto _block2__branch1;
    143137          }
    144138          Expr _v_name__1 (_v_deref__deref__rfp_m_obj, 0, _v_len__name__1);
    145           _ve_prefix = _c_2;
     139          _ve_prefix = _c_1;
    146140          _ve_name = _v_name__1;
    147141          goto _block2;
     
    174168          }
    175169          uintptr_t _v_len__name__12 = (_v_len3 - _v_len4);
    176           if (!_c_3.term_eq (_v_deref__rfp_m_obj2, 0))
     170          if (!_c_2.term_eq (_v_deref__rfp_m_obj2, 0))
    177171          {
    178172            goto _block2__branch2;
    179173          }
    180174          Expr _v_name__1 (_v_deref__deref__rfp_m_obj2, 0, _v_len__name__12);
    181           _ve_prefix = _c_4;
     175          _ve_prefix = _c_3;
    182176          _ve_name = _v_name__1;
    183177          goto _block2;
     
    210204          }
    211205          uintptr_t _v_len__name__13 = (_v_len5 - _v_len6);
    212           if (!_c_5.term_eq (_v_deref__rfp_m_obj3, 0))
     206          if (!_c_4.term_eq (_v_deref__rfp_m_obj3, 0))
    213207          {
    214208            goto _block2__branch3;
    215209          }
    216210          Expr _v_name__1 (_v_deref__deref__rfp_m_obj3, 0, _v_len__name__13);
    217           _ve_prefix = _c_6;
     211          _ve_prefix = _c_5;
    218212          _ve_name = _v_name__1;
    219213          goto _block2;
     
    246240          }
    247241          uintptr_t _v_len__name__14 = (_v_len7 - _v_len8);
    248           if (!_c_7.term_eq (_v_deref__rfp_m_obj4, 0))
     242          if (!_c_6.term_eq (_v_deref__rfp_m_obj4, 0))
    249243          {
    250244            goto _block2__branch4;
    251245          }
    252246          Expr _v_name__1 (_v_deref__deref__rfp_m_obj4, 0, _v_len__name__14);
    253           _ve_prefix = _c_8;
     247          _ve_prefix = _c_7;
    254248          _ve_name = _v_name__1;
    255249          goto _block2;
     
    282276          }
    283277          uintptr_t _v_len__name__15 = (_v_len9 - _v_len10);
    284           if (!_c_9.term_eq (_v_deref__rfp_m_obj5, 0))
     278          if (!_c_8.term_eq (_v_deref__rfp_m_obj5, 0))
    285279          {
    286280            goto _block2__branch5;
    287281          }
    288282          Expr _v_name__1 (_v_deref__deref__rfp_m_obj5, 0, _v_len__name__15);
    289           _ve_prefix = _c_10;
     283          _ve_prefix = _c_9;
    290284          _ve_name = _v_name__1;
    291285          goto _block2;
     
    318312          }
    319313          uintptr_t _v_len__name__16 = (_v_len11 - _v_len12);
    320           if (!_c_11.term_eq (_v_deref__rfp_m_obj6, 0))
     314          if (!_c_10.term_eq (_v_deref__rfp_m_obj6, 0))
    321315          {
    322316            goto _block2__branch6;
    323317          }
    324318          Expr _v_name__1 (_v_deref__deref__rfp_m_obj6, 0, _v_len__name__16);
    325           _ve_prefix = _c_12;
     319          _ve_prefix = _c_11;
    326320          _ve_name = _v_name__1;
    327321          goto _block2;
     
    353347        }
    354348        uintptr_t _v_len__name__17 = (_v_len13 - _v_len14);
    355         if (!_c_13.term_eq (_v_deref__rfp_m_obj7, 0))
     349        if (!_c_12.term_eq (_v_deref__rfp_m_obj7, 0))
    356350        {
    357351          goto _block1__branch1;
    358352        }
    359353        Expr _v_name__1 (_v_deref__deref__rfp_m_obj7, 0, _v_len__name__17);
    360         _ve_prefix = _c_14;
     354        _ve_prefix = _c_13;
    361355        _ve_name = _v_name__1;
    362356      }
     
    388382          }
    389383          uintptr_t _v_len__names = (_v_len15 - _v_len16);
    390           if (!_c_15.term_eq (_v_deref__rfp_m_obj8, 0))
     384          if (!_c_14.term_eq (_v_deref__rfp_m_obj8, 0))
    391385          {
    392386            goto _block3__branch1;
     
    444438      Expr _vs_name (_v_auxblock1, _v_len__qualifiers, 1);
    445439      Expr _v_Map1;
    446       RF_CALL (List::Map, (_c_16, empty, _ve_qualifiers), _v_Map1);
     440      RF_CALL (List::Map, (_c_15, empty, _ve_qualifiers), _v_Map1);
    447441      Expr _v_Chars2Cpp2;
    448442      RF_CALL (Chars2Cpp, _vs_name, _v_Chars2Cpp2);
     
    457451    {
    458452      Expr _v_Apply1;
    459       if (!RF_CALL (Apply::Apply, (_vs_Reserved_m_Word_q_, _ve_ident), _v_Apply1))
     453      if (!RF_CALL (Apply::Apply, (_c_16, _ve_ident), _v_Apply1))
    460454      {
    461455        goto _block4__branch1;
     
    467461        goto _block4__branch1;
    468462      }
    469       uintptr_t _v_len___e__e_tmp_m_CppManglerf_m_79_m_41 = (_v_len23 - _v_len24);
    470       Expr _ve__e__e_tmp_m_CppManglerf_m_79_m_41 (_v_Apply1, 0, _v_len___e__e_tmp_m_CppManglerf_m_79_m_41);
     463      uintptr_t _v_len___e__e_tmp_m_CppManglerf_m_78_m_40 = (_v_len23 - _v_len24);
     464      Expr _ve__e__e_tmp_m_CppManglerf_m_78_m_40 (_v_Apply1, 0, _v_len___e__e_tmp_m_CppManglerf_m_78_m_40);
    471465      _v_res1 = (_c_17 + _ve_ident);
    472466      goto _block4;
     
    490484  Expr _v_Chars2Cpp1;
    491485  RF_CALL (Chars2Cpp, _vs_qualifier, _v_Chars2Cpp1);
    492   _v_res1 = (_v_Chars2Cpp1 + _c_18);
     486  _v_res1 = (_v_Chars2Cpp1 + cpp__specific::Namespace_m_Delimeter);
    493487RF_END
    494488
     
    496490  Expr _v_To_m_Chars1;
    497491  RF_CALL (Convert::To_m_Chars, _ve_name, _v_To_m_Chars1);
    498   RF_TAILCALL (List::Map, (_c_19, empty, _v_To_m_Chars1), _v_res1);
     492  RF_TAILCALL (List::Map, (_c_18, empty, _v_To_m_Chars1), _v_res1);
    499493RF_END
    500494
     
    525519      }
    526520      {
    527         lsplit (_c_20, 0, _ve__e__e_tmp_m_CppManglerf_m_89_m_34, _v_lsplit__20);
    528         for ( ; ; iter(_c_20)++)
    529         {
    530           {
    531             if (!iter(_c_20))
     521        lsplit (_c_19, 0, _ve__e__e_tmp_m_CppManglerf_m_88_m_34, _v_lsplit__19);
     522        for ( ; ; iter(_c_19)++)
     523        {
     524          {
     525            if (!iter(_c_19))
    532526            {
    533527              goto _negation1;
    534528            }
    535             uintptr_t _v_len1 = _v_lsplit__20.get_len ();
     529            uintptr_t _v_len1 = _v_lsplit__19.get_len ();
    536530            uintptr_t _v_len2 = 1;
    537531            if ((_v_len1 < _v_len2))
     
    539533              goto _negation1;
    540534            }
    541             uintptr_t _v_len___e__e_tmp_m_CppManglerf_m_89_m_43 = (_v_len1 - _v_len2);
    542             if (!_vs_char.term_eq (_v_lsplit__20, 0))
     535            uintptr_t _v_len___e__e_tmp_m_CppManglerf_m_88_m_43 = (_v_len1 - _v_len2);
     536            if (!_vs_char.term_eq (_v_lsplit__19, 0))
    543537            {
    544538              goto _continue1;
    545539            }
    546             Expr _ve__e__e_tmp_m_CppManglerf_m_89_m_43 (_v_lsplit__20, 1, _v_len___e__e_tmp_m_CppManglerf_m_89_m_43);
     540            Expr _ve__e__e_tmp_m_CppManglerf_m_88_m_43 (_v_lsplit__19, 1, _v_len___e__e_tmp_m_CppManglerf_m_88_m_43);
    547541            goto _exit1;
    548542          }
     
    558552  _block1__branch2: {}
    559553    {
    560       lsplit (Conv_m_Table, 0, _ve__e__e_tmp_m_CppManglerf_m_90_m_18, _v_lsplit__Conv_m_Table);
     554      lsplit (Conv_m_Table, 0, _ve__e__e_tmp_m_CppManglerf_m_89_m_18, _v_lsplit__Conv_m_Table);
    561555      for ( ; ; iter(Conv_m_Table)++)
    562556      {
     
    572566            goto _block1__branch3;
    573567          }
    574           uintptr_t _v_len___e__e_tmp_m_CppManglerf_m_90_m_36 = (_v_len3 - _v_len4);
     568          uintptr_t _v_len___e__e_tmp_m_CppManglerf_m_89_m_36 = (_v_len3 - _v_len4);
    575569          if (_v_lsplit__Conv_m_Table.symbol_at (0))
    576570          {
     
    589583            goto _continue2;
    590584          }
    591           Expr _ve__e__e_tmp_m_CppManglerf_m_90_m_36 (_v_lsplit__Conv_m_Table, 1, _v_len___e__e_tmp_m_CppManglerf_m_90_m_36);
     585          Expr _ve__e__e_tmp_m_CppManglerf_m_89_m_36 (_v_lsplit__Conv_m_Table, 1, _v_len___e__e_tmp_m_CppManglerf_m_89_m_36);
    592586          Expr _ve_code (_v_deref__lsplit__Conv_m_Table, 1, _v_len__code);
    593           _v_res1 = (_c_14 + _ve_code + _c_14);
     587          _v_res1 = (_c_13 + _ve_code + _c_13);
    594588          goto _exit2;
    595589        }
     
    602596    Expr _v_Char_m_To_m_Unicode1;
    603597    RF_CALL (Char_m_To_m_Unicode, _vs_char, _v_Char_m_To_m_Unicode1);
    604     _v_res1 = (_c_14 + _v_Char_m_To_m_Unicode1 + _c_14);
     598    _v_res1 = (_c_13 + _v_Char_m_To_m_Unicode1 + _c_13);
    605599  }
    606600_block1: {}
     
    610604  {
    611605    {
    612       if (!_v_arg1.term_eq (_c_21, 0))
     606      if (!_v_arg1.term_eq (_c_20, 0))
    613607      {
    614608        goto _block1__branch1;
    615609      }
    616       _v_res1 = _c_22;
     610      _v_res1 = _c_21;
    617611      goto _block1;
    618612    }
    619613  _block1__branch1: {}
    620614    {
    621       if (!_v_arg1.term_eq (_c_23, 0))
     615      if (!_v_arg1.term_eq (_c_22, 0))
    622616      {
    623617        goto _block1__branch2;
    624618      }
    625       _v_res1 = _c_24;
     619      _v_res1 = _c_23;
    626620      goto _block1;
    627621    }
    628622  _block1__branch2: {}
    629623    {
    630       if (!_v_arg1.term_eq (_c_25, 0))
     624      if (!_v_arg1.term_eq (_c_24, 0))
    631625      {
    632626        goto _block1__branch3;
    633627      }
    634       _v_res1 = _c_26;
     628      _v_res1 = _c_25;
    635629      goto _block1;
    636630    }
    637631  _block1__branch3: {}
    638632    {
    639       if (!_v_arg1.term_eq (_c_27, 0))
     633      if (!_v_arg1.term_eq (_c_26, 0))
    640634      {
    641635        goto _block1__branch4;
    642636      }
    643       _v_res1 = _c_28;
     637      _v_res1 = _c_27;
    644638      goto _block1;
    645639    }
    646640  _block1__branch4: {}
    647641    {
    648       if (!_v_arg1.term_eq (_c_29, 0))
     642      if (!_v_arg1.term_eq (_c_28, 0))
    649643      {
    650644        goto _block1__branch5;
    651645      }
    652       _v_res1 = _c_30;
     646      _v_res1 = _c_29;
    653647      goto _block1;
    654648    }
    655649  _block1__branch5: {}
    656     if (!_v_arg1.term_eq (_c_31, 0))
     650    if (!_v_arg1.term_eq (_c_30, 0))
    657651    {
    658652      RF_FUNC_ERROR (unexpected_fail);
    659653    }
    660     _v_res1 = _c_32;
     654    _v_res1 = _c_31;
    661655  }
    662656_block1: {}
     
    705699      }
    706700      uintptr_t _v_len__name3 = (_v_len5 - _v_len6);
    707       if (!_c_4.eq (_v_auxblock1, 0))
     701      if (!_c_3.eq (_v_auxblock1, 0))
    708702      {
    709703        goto _block2__branch1;
     
    715709        RF_RETFAIL;
    716710      }
    717       _v_res1 = (_c_3 + _v_Chars2Rfp1 ()) ();
     711      _v_res1 = (_c_2 + _v_Chars2Rfp1 ()) ();
    718712      goto _block2;
    719713    }
     
    727721      }
    728722      uintptr_t _v_len__name4 = (_v_len7 - _v_len8);
    729       if (!_c_6.eq (_v_auxblock1, 0))
     723      if (!_c_5.eq (_v_auxblock1, 0))
    730724      {
    731725        goto _block2__branch2;
     
    737731        RF_RETFAIL;
    738732      }
    739       _v_res1 = (_c_5 + _v_Chars2Rfp2 ()) ();
     733      _v_res1 = (_c_4 + _v_Chars2Rfp2 ()) ();
    740734      goto _block2;
    741735    }
     
    749743      }
    750744      uintptr_t _v_len__name5 = (_v_len9 - _v_len10);
    751       if (!_c_8.eq (_v_auxblock1, 0))
     745      if (!_c_7.eq (_v_auxblock1, 0))
    752746      {
    753747        goto _block2__branch3;
     
    759753        RF_RETFAIL;
    760754      }
    761       _v_res1 = (_c_7 + _v_Chars2Rfp3 ()) ();
     755      _v_res1 = (_c_6 + _v_Chars2Rfp3 ()) ();
    762756      goto _block2;
    763757    }
     
    771765      }
    772766      uintptr_t _v_len__name6 = (_v_len11 - _v_len12);
    773       if (!_c_10.eq (_v_auxblock1, 0))
     767      if (!_c_9.eq (_v_auxblock1, 0))
    774768      {
    775769        goto _block2__branch4;
     
    781775        RF_RETFAIL;
    782776      }
    783       _v_res1 = (_c_9 + _v_Chars2Rfp4 ()) ();
     777      _v_res1 = (_c_8 + _v_Chars2Rfp4 ()) ();
    784778      goto _block2;
    785779    }
     
    820814          }
    821815          uintptr_t _v_len__rest = (_v_len1 - _v_len2);
    822           if (!_c_18.eq (_v_lsplit__arg1, 0))
     816          if (!cpp__specific::Namespace_m_Delimeter.eq (_v_lsplit__arg1, 0))
    823817          {
    824818            goto _continue1;
     
    868862        goto _block1__branch1;
    869863      }
    870       if (!_c_14.term_eq (_v_arg1, 0))
     864      if (!_c_13.term_eq (_v_arg1, 0))
    871865      {
    872866        goto _block1__branch1;
     
    888882          }
    889883          uintptr_t _v_len__rest = (_v_len1 - _v_len2);
    890           if (!_c_14.term_eq (_v_lsplit__arg1, 0))
     884          if (!_c_13.term_eq (_v_lsplit__arg1, 0))
    891885          {
    892886            goto _continue1;
    893887          }
    894888          Expr _ve_rest (_v_lsplit__arg1, 1, _v_len__rest);
    895           lsplit (Conv_m_Table, 0, _ve__e__e_tmp_m_CppManglerf_m_133_m_20, _v_lsplit__Conv_m_Table);
     889          lsplit (Conv_m_Table, 0, _ve__e__e_tmp_m_CppManglerf_m_132_m_20, _v_lsplit__Conv_m_Table);
    896890          for ( ; ; iter(Conv_m_Table)++)
    897891          {
     
    907901                RF_RETFAIL;
    908902              }
    909               uintptr_t _v_len___e__e_tmp_m_CppManglerf_m_133_m_38 = (_v_len3 - _v_len4);
     903              uintptr_t _v_len___e__e_tmp_m_CppManglerf_m_132_m_38 = (_v_len3 - _v_len4);
    910904              if (_v_lsplit__Conv_m_Table.symbol_at (0))
    911905              {
     
    925919                goto _continue2;
    926920              }
    927               Expr _ve__e__e_tmp_m_CppManglerf_m_133_m_38 (_v_lsplit__Conv_m_Table, 1, _v_len___e__e_tmp_m_CppManglerf_m_133_m_38);
     921              Expr _ve__e__e_tmp_m_CppManglerf_m_132_m_38 (_v_lsplit__Conv_m_Table, 1, _v_len___e__e_tmp_m_CppManglerf_m_132_m_38);
    928922              Expr _vs_char (_v_deref__lsplit__Conv_m_Table, 0, 1);
    929923              Expr _v_Codes2Rfp1;
     
    974968        }
    975969        {
    976           if (!_vs_char.term_eq (_c_33, 0))
     970          if (!_vs_char.term_eq (_c_32, 0))
    977971          {
    978972            goto _negation1;
     
    10061000  if ((_v_len1 < _v_len2))
    10071001  {
    1008     RF_ERROR (_c_34);
     1002    RF_ERROR (_c_33);
    10091003  }
    10101004  uintptr_t _v_len__stub1 = (_v_len1 - _v_len2);
    10111005  Expr _v_stub1 (_v_arg1, 0, _v_len__stub1);
    1012   if (!RF_CALL (reserved_m_c_p__p_::Reserved_m_Word_q_, _v_stub1, /*void*/))
     1006  if (!RF_CALL (cpp__specific::Reserved_m_Word_q_, _v_stub1, /*void*/))
    10131007  {
    10141008    RF_RETFAIL;
     
    10161010  _v_res1 = empty;
    10171011RF_END
     1012
     1013}
     1014
     1015namespace CppMangle
     1016{
    10181017
    10191018static void init_ ()
    10201019{
    10211020  Conv_m_Table = (Char::create_expr ("!e")) () + (Char::create_expr ("?q")) () + (Char::create_expr ("_")) () + (Char::create_expr ("-m")) () + (Char::create_expr ("+p")) () + (Char::create_expr ("<lt")) () + (Char::create_expr (">gt")) () + (Char::create_expr ("=eq")) () + (Char::create_expr ("*a")) () + (Char::create_expr ("/s")) () + (Char::create_expr (" sp")) () + (Char::create_expr ("\\bs")) () + (Char::create_expr ("|bar")) () + (Char::create_expr ("~tilde")) () + (Char::create_expr ("@at")) () + (Char::create_expr ("#num")) () + (Char::create_expr ("$dollar")) () + (Char::create_expr ("%percnt")) () + (Char::create_expr ("^circ")) () + (Char::create_expr ("&amp")) () + (Char::create_expr ("(lpar")) () + (Char::create_expr (")rpar")) () + (Char::create_expr ("[lsqb")) () + (Char::create_expr ("]rsqb")) () + (Char::create_expr ("{lcub")) () + (Char::create_expr ("}rcub")) () + (Char::create_expr ("`grave")) () + (Char::create_expr ("'apos")) () + (Char::create_expr ("\"quot")) () + (Char::create_expr (",comma")) () + (Char::create_expr (".period")) () + (Char::create_expr (":colon")) () + (Char::create_expr (";semi")) ();
    1022   _c_0 = Expr::create_sym<Func> (Reserved_m_Word_q___0);
    1023   _c_1 = Expr::create<Word>("VAR");
    1024   _c_2 = Char::create_expr ("_v_");
    1025   _c_3 = Expr::create<Word>("EVAR");
    1026   _c_4 = Char::create_expr ("_ve_");
    1027   _c_5 = Expr::create<Word>("VVAR");
    1028   _c_6 = Char::create_expr ("_vv_");
    1029   _c_7 = Expr::create<Word>("TVAR");
    1030   _c_8 = Char::create_expr ("_vt_");
    1031   _c_9 = Expr::create<Word>("SVAR");
    1032   _c_10 = Char::create_expr ("_vs_");
    1033   _c_11 = Expr::create<Word>("STATIC");
    1034   _c_12 = Char::create_expr ("_c_");
    1035   _c_13 = Expr::create<Word>("LABEL");
    1036   _c_14 = Expr (_c_12, 0, 1);
    1037   _c_15 = Expr::create<Word>("OBJ");
    1038   _c_16 = Expr::create_sym<Func> (Qualifier2Cpp);
     1021  _c_0 = Expr::create<Word>("VAR");
     1022  _c_1 = Char::create_expr ("_v_");
     1023  _c_2 = Expr::create<Word>("EVAR");
     1024  _c_3 = Char::create_expr ("_ve_");
     1025  _c_4 = Expr::create<Word>("VVAR");
     1026  _c_5 = Char::create_expr ("_vv_");
     1027  _c_6 = Expr::create<Word>("TVAR");
     1028  _c_7 = Char::create_expr ("_vt_");
     1029  _c_8 = Expr::create<Word>("SVAR");
     1030  _c_9 = Char::create_expr ("_vs_");
     1031  _c_10 = Expr::create<Word>("STATIC");
     1032  _c_11 = Char::create_expr ("_c_");
     1033  _c_12 = Expr::create<Word>("LABEL");
     1034  _c_13 = Expr (_c_11, 0, 1);
     1035  _c_14 = Expr::create<Word>("OBJ");
     1036  _c_15 = Expr::create_sym<Func> (Qualifier2Cpp);
     1037  _c_16 = Expr::create_sym<Func> (Reserved_m_Word_q___0);
    10391038  _c_17 = Char::create_expr ("_r_");
    1040   _c_18 = Char::create_expr ("::");
    1041   _c_19 = Expr::create_sym<Func> (A_m_Char2Cpp);
    1042   _c_20 = Char::create_expr ("?!");
    1043   _c_21 = Char::create_expr ("b");
    1044   _c_22 = Char::create_expr ("08");
    1045   _c_23 = Char::create_expr ("\t");
    1046   _c_24 = Char::create_expr ("09");
    1047   _c_25 = Char::create_expr ("\n");
    1048   _c_26 = Char::create_expr ("0A");
    1049   _c_27 = Expr (_c_2, 1, 1);
    1050   _c_28 = Char::create_expr ("0B");
    1051   _c_29 = Char::create_expr ("f");
    1052   _c_30 = Char::create_expr ("0C");
    1053   _c_31 = Char::create_expr ("\r");
    1054   _c_32 = Char::create_expr ("0D");
    1055   _c_33 = Expr (_c_20, 0, 1);
    1056   _c_34 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
     1039  _c_18 = Expr::create_sym<Func> (A_m_Char2Cpp);
     1040  _c_19 = Char::create_expr ("?!");
     1041  _c_20 = Char::create_expr ("b");
     1042  _c_21 = Char::create_expr ("08");
     1043  _c_22 = Char::create_expr ("\t");
     1044  _c_23 = Char::create_expr ("09");
     1045  _c_24 = Char::create_expr ("\n");
     1046  _c_25 = Char::create_expr ("0A");
     1047  _c_26 = Expr (_c_9, 1, 1);
     1048  _c_27 = Char::create_expr ("0B");
     1049  _c_28 = Char::create_expr ("f");
     1050  _c_29 = Char::create_expr ("0C");
     1051  _c_30 = Char::create_expr ("\r");
     1052  _c_31 = Char::create_expr ("0D");
     1053  _c_32 = Expr (_c_19, 0, 1);
     1054  _c_33 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
    10571055}
    10581056
  • to-imperative/trunk/library/CppMangle/Makefile

    r1744 r1818  
    77MODULES = \
    88  CppMangle \
    9   reserved-c++
     9  cpp_specific
    1010
    1111SOURCES = $(addsuffix .cc, $(MODULES))
  • to-imperative/trunk/library/CppMangle/refal/CppMangle.rf

    r1816 r1818  
    55$use Apply Class Convert List;
    66
    7 $use "reserved-c++";  // import $func? Reserved-Word?;
     7$use "cpp_specific";   // import $func? Reserved-Word?;
     8            // import $const Namespace-Delimeter;
    89
    910$const Conv-Table =
     
    5556
    5657
    57 Rfp2Cpp e.rfp-obj = <Rfp2Cpp-With &Reserved-Word? e.rfp-obj>;
    58 
    59 Rfp2Cpp-With s.Reserved-Word? e.rfp-obj, {
     58Rfp2Cpp e.rfp-obj, {
    6059  e.rfp-obj : \{
    6160    (VAR (e.name)) = ('_v_') e.name;
     
    7776} :: e.ident,
    7877  {
    79     <Apply s.Reserved-Word? e.ident> : e = '_r_' e.ident;
     78    <Apply &Reserved-Word? e.ident> : e = '_r_' e.ident;
    8079    e.ident;
    8180  };
    8281
    83 Qualifier2Cpp s.qualifier = <Chars2Cpp s.qualifier> '::';
     82Qualifier2Cpp s.qualifier = <Chars2Cpp s.qualifier> &Namespace-Delimeter;
    8483
    8584Chars2Cpp e.name = <Map &A-Char2Cpp (<To-Chars e.name>)>;
     
    123122
    124123Qualifiers2Rfp {
    125   e.qualifier '::' e.rest = <Chars2Rfp e.qualifier> <Qualifiers2Rfp e.rest>;
     124  e.qualifier &Namespace-Delimeter e.rest = <Chars2Rfp e.qualifier> <Qualifiers2Rfp e.rest>;
    126125  e.name = <Chars2Rfp e.name>;
    127126};
  • to-imperative/trunk/library/CppMangle/refal/CppMangle.rfi

    r1816 r1818  
    44
    55$func Rfp2Cpp e.rfp-obj = e.cpp-identifier;
    6 $func Rfp2Cpp-With s.Reserved-Word?-Func e.rfp-obj = e.cpp-identifier;
    76
    87$func? Cpp2Rfp e.cpp-identifier = e.rfp-name;
  • to-imperative/trunk/library/CppMangle/refal/Makefile

    r1704 r1818  
    55MODULES = \
    66        CppMangle \
    7         reserved-c++
     7        cpp_specific
    88
    99all:: $(addsuffix .cc, $(MODULES)) $(addsuffix .hh, $(MODULES))
  • to-imperative/trunk/library/JavaMangle/JavaMangle.cc

    r1816 r1818  
    11#include <rf_core.hh>
    2 #include "reserved-java.hh"
    3 #include <refal/CppMangle.hh>
     2#include <refal/Apply.hh>
     3#include <refal/Convert.hh>
     4#include "java_specific.hh"
     5#include <refal/List.hh>
     6#include <refal/Class.hh>
    47#include "JavaMangle.hh"
    58
     
    1215{
    1316
     17static Expr Conv_m_Table;
     18
     19RF_DECL (Qualifier2Cpp);
     20
     21RF_DECL (Chars2Cpp);
     22
     23RF_DECL (A_m_Char2Cpp);
     24
     25RF_DECL (Char_m_To_m_Unicode);
     26
     27RF_DECL (Qualifiers2Rfp);
     28
     29RF_DECL (Chars2Rfp);
     30
     31RF_DECL (Codes2Rfp);
     32
    1433static Expr _c_0;
    1534
    1635static Expr _c_1;
    1736
     37static Expr _c_2;
     38
     39static Expr _c_3;
     40
     41static Expr _c_4;
     42
     43static Expr _c_5;
     44
     45static Expr _c_6;
     46
     47static Expr _c_7;
     48
     49static Expr _c_8;
     50
     51static Expr _c_9;
     52
     53static Expr _c_10;
     54
     55static Expr _c_11;
     56
     57static Expr _c_12;
     58
     59static Expr _c_13;
     60
     61static Expr _c_14;
     62
     63static Expr _c_15;
     64
     65static Expr _c_16;
     66
     67static Expr _c_17;
     68
     69static Expr _c_18;
     70
     71static Expr _c_19;
     72
     73static Expr _c_20;
     74
     75static Expr _c_21;
     76
     77static Expr _c_22;
     78
     79static Expr _c_23;
     80
     81static Expr _c_24;
     82
     83static Expr _c_25;
     84
     85static Expr _c_26;
     86
     87static Expr _c_27;
     88
     89static Expr _c_28;
     90
     91static Expr _c_29;
     92
     93static Expr _c_30;
     94
     95static Expr _c_31;
     96
     97static Expr _c_32;
     98
     99static Expr _c_33;
     100
    18101RF_FUNC (Rfp2Java, (RF_ARG _ve_rfp_m_obj;;), (RF_RES _v_res1;;))
    19   RF_TAILCALL (CppMangle::Rfp2Cpp_m_With, (_c_0, _ve_rfp_m_obj), _v_res1);
     102  Expr _ve_ident;
     103  {
     104    {
     105      Expr _ve_prefix;
     106      Expr _ve_name;
     107      {
     108        {
     109          if ((_ve_rfp_m_obj.get_len () != 1))
     110          {
     111            goto _block2__branch1;
     112          }
     113          if (_ve_rfp_m_obj.symbol_at (0))
     114          {
     115            goto _block2__branch1;
     116          }
     117          Expr _v_deref__rfp_m_obj (_ve_rfp_m_obj, 0);
     118          if ((_v_deref__rfp_m_obj.get_len () != 2))
     119          {
     120            goto _block2__branch1;
     121          }
     122          if (_v_deref__rfp_m_obj.symbol_at (1))
     123          {
     124            goto _block2__branch1;
     125          }
     126          Expr _v_deref__deref__rfp_m_obj (_v_deref__rfp_m_obj, 1);
     127          uintptr_t _v_len1 = _v_deref__deref__rfp_m_obj.get_len ();
     128          uintptr_t _v_len2 = 0;
     129          if ((_v_len1 < _v_len2))
     130          {
     131            goto _block2__branch1;
     132          }
     133          uintptr_t _v_len__name__1 = (_v_len1 - _v_len2);
     134          if (!_c_0.term_eq (_v_deref__rfp_m_obj, 0))
     135          {
     136            goto _block2__branch1;
     137          }
     138          Expr _v_name__1 (_v_deref__deref__rfp_m_obj, 0, _v_len__name__1);
     139          _ve_prefix = _c_1;
     140          _ve_name = _v_name__1;
     141          goto _block2;
     142        }
     143      _block2__branch1: {}
     144        {
     145          if ((_ve_rfp_m_obj.get_len () != 1))
     146          {
     147            goto _block2__branch2;
     148          }
     149          if (_ve_rfp_m_obj.symbol_at (0))
     150          {
     151            goto _block2__branch2;
     152          }
     153          Expr _v_deref__rfp_m_obj2 (_ve_rfp_m_obj, 0);
     154          if ((_v_deref__rfp_m_obj2.get_len () != 2))
     155          {
     156            goto _block2__branch2;
     157          }
     158          if (_v_deref__rfp_m_obj2.symbol_at (1))
     159          {
     160            goto _block2__branch2;
     161          }
     162          Expr _v_deref__deref__rfp_m_obj2 (_v_deref__rfp_m_obj2, 1);
     163          uintptr_t _v_len3 = _v_deref__deref__rfp_m_obj2.get_len ();
     164          uintptr_t _v_len4 = 0;
     165          if ((_v_len3 < _v_len4))
     166          {
     167            goto _block2__branch2;
     168          }
     169          uintptr_t _v_len__name__12 = (_v_len3 - _v_len4);
     170          if (!_c_2.term_eq (_v_deref__rfp_m_obj2, 0))
     171          {
     172            goto _block2__branch2;
     173          }
     174          Expr _v_name__1 (_v_deref__deref__rfp_m_obj2, 0, _v_len__name__12);
     175          _ve_prefix = _c_3;
     176          _ve_name = _v_name__1;
     177          goto _block2;
     178        }
     179      _block2__branch2: {}
     180        {
     181          if ((_ve_rfp_m_obj.get_len () != 1))
     182          {
     183            goto _block2__branch3;
     184          }
     185          if (_ve_rfp_m_obj.symbol_at (0))
     186          {
     187            goto _block2__branch3;
     188          }
     189          Expr _v_deref__rfp_m_obj3 (_ve_rfp_m_obj, 0);
     190          if ((_v_deref__rfp_m_obj3.get_len () != 2))
     191          {
     192            goto _block2__branch3;
     193          }
     194          if (_v_deref__rfp_m_obj3.symbol_at (1))
     195          {
     196            goto _block2__branch3;
     197          }
     198          Expr _v_deref__deref__rfp_m_obj3 (_v_deref__rfp_m_obj3, 1);
     199          uintptr_t _v_len5 = _v_deref__deref__rfp_m_obj3.get_len ();
     200          uintptr_t _v_len6 = 0;
     201          if ((_v_len5 < _v_len6))
     202          {
     203            goto _block2__branch3;
     204          }
     205          uintptr_t _v_len__name__13 = (_v_len5 - _v_len6);
     206          if (!_c_4.term_eq (_v_deref__rfp_m_obj3, 0))
     207          {
     208            goto _block2__branch3;
     209          }
     210          Expr _v_name__1 (_v_deref__deref__rfp_m_obj3, 0, _v_len__name__13);
     211          _ve_prefix = _c_5;
     212          _ve_name = _v_name__1;
     213          goto _block2;
     214        }
     215      _block2__branch3: {}
     216        {
     217          if ((_ve_rfp_m_obj.get_len () != 1))
     218          {
     219            goto _block2__branch4;
     220          }
     221          if (_ve_rfp_m_obj.symbol_at (0))
     222          {
     223            goto _block2__branch4;
     224          }
     225          Expr _v_deref__rfp_m_obj4 (_ve_rfp_m_obj, 0);
     226          if ((_v_deref__rfp_m_obj4.get_len () != 2))
     227          {
     228            goto _block2__branch4;
     229          }
     230          if (_v_deref__rfp_m_obj4.symbol_at (1))
     231          {
     232            goto _block2__branch4;
     233          }
     234          Expr _v_deref__deref__rfp_m_obj4 (_v_deref__rfp_m_obj4, 1);
     235          uintptr_t _v_len7 = _v_deref__deref__rfp_m_obj4.get_len ();
     236          uintptr_t _v_len8 = 0;
     237          if ((_v_len7 < _v_len8))
     238          {
     239            goto _block2__branch4;
     240          }
     241          uintptr_t _v_len__name__14 = (_v_len7 - _v_len8);
     242          if (!_c_6.term_eq (_v_deref__rfp_m_obj4, 0))
     243          {
     244            goto _block2__branch4;
     245          }
     246          Expr _v_name__1 (_v_deref__deref__rfp_m_obj4, 0, _v_len__name__14);
     247          _ve_prefix = _c_7;
     248          _ve_name = _v_name__1;
     249          goto _block2;
     250        }
     251      _block2__branch4: {}
     252        {
     253          if ((_ve_rfp_m_obj.get_len () != 1))
     254          {
     255            goto _block2__branch5;
     256          }
     257          if (_ve_rfp_m_obj.symbol_at (0))
     258          {
     259            goto _block2__branch5;
     260          }
     261          Expr _v_deref__rfp_m_obj5 (_ve_rfp_m_obj, 0);
     262          if ((_v_deref__rfp_m_obj5.get_len () != 2))
     263          {
     264            goto _block2__branch5;
     265          }
     266          if (_v_deref__rfp_m_obj5.symbol_at (1))
     267          {
     268            goto _block2__branch5;
     269          }
     270          Expr _v_deref__deref__rfp_m_obj5 (_v_deref__rfp_m_obj5, 1);
     271          uintptr_t _v_len9 = _v_deref__deref__rfp_m_obj5.get_len ();
     272          uintptr_t _v_len10 = 0;
     273          if ((_v_len9 < _v_len10))
     274          {
     275            goto _block2__branch5;
     276          }
     277          uintptr_t _v_len__name__15 = (_v_len9 - _v_len10);
     278          if (!_c_8.term_eq (_v_deref__rfp_m_obj5, 0))
     279          {
     280            goto _block2__branch5;
     281          }
     282          Expr _v_name__1 (_v_deref__deref__rfp_m_obj5, 0, _v_len__name__15);
     283          _ve_prefix = _c_9;
     284          _ve_name = _v_name__1;
     285          goto _block2;
     286        }
     287      _block2__branch5: {}
     288        {
     289          if ((_ve_rfp_m_obj.get_len () != 1))
     290          {
     291            goto _block2__branch6;
     292          }
     293          if (_ve_rfp_m_obj.symbol_at (0))
     294          {
     295            goto _block2__branch6;
     296          }
     297          Expr _v_deref__rfp_m_obj6 (_ve_rfp_m_obj, 0);
     298          if ((_v_deref__rfp_m_obj6.get_len () != 2))
     299          {
     300            goto _block2__branch6;
     301          }
     302          if (_v_deref__rfp_m_obj6.symbol_at (1))
     303          {
     304            goto _block2__branch6;
     305          }
     306          Expr _v_deref__deref__rfp_m_obj6 (_v_deref__rfp_m_obj6, 1);
     307          uintptr_t _v_len11 = _v_deref__deref__rfp_m_obj6.get_len ();
     308          uintptr_t _v_len12 = 0;
     309          if ((_v_len11 < _v_len12))
     310          {
     311            goto _block2__branch6;
     312          }
     313          uintptr_t _v_len__name__16 = (_v_len11 - _v_len12);
     314          if (!_c_10.term_eq (_v_deref__rfp_m_obj6, 0))
     315          {
     316            goto _block2__branch6;
     317          }
     318          Expr _v_name__1 (_v_deref__deref__rfp_m_obj6, 0, _v_len__name__16);
     319          _ve_prefix = _c_11;
     320          _ve_name = _v_name__1;
     321          goto _block2;
     322        }
     323      _block2__branch6: {}
     324        if ((_ve_rfp_m_obj.get_len () != 1))
     325        {
     326          goto _block1__branch1;
     327        }
     328        if (_ve_rfp_m_obj.symbol_at (0))
     329        {
     330          goto _block1__branch1;
     331        }
     332        Expr _v_deref__rfp_m_obj7 (_ve_rfp_m_obj, 0);
     333        if ((_v_deref__rfp_m_obj7.get_len () != 2))
     334        {
     335          goto _block1__branch1;
     336        }
     337        if (_v_deref__rfp_m_obj7.symbol_at (1))
     338        {
     339          goto _block1__branch1;
     340        }
     341        Expr _v_deref__deref__rfp_m_obj7 (_v_deref__rfp_m_obj7, 1);
     342        uintptr_t _v_len13 = _v_deref__deref__rfp_m_obj7.get_len ();
     343        uintptr_t _v_len14 = 0;
     344        if ((_v_len13 < _v_len14))
     345        {
     346          goto _block1__branch1;
     347        }
     348        uintptr_t _v_len__name__17 = (_v_len13 - _v_len14);
     349        if (!_c_12.term_eq (_v_deref__rfp_m_obj7, 0))
     350        {
     351          goto _block1__branch1;
     352        }
     353        Expr _v_name__1 (_v_deref__deref__rfp_m_obj7, 0, _v_len__name__17);
     354        _ve_prefix = _c_13;
     355        _ve_name = _v_name__1;
     356      }
     357    _block2: {}
     358      Expr _v_Chars2Cpp1;
     359      RF_CALL (Chars2Cpp, _ve_name, _v_Chars2Cpp1);
     360      _ve_ident = (_ve_prefix + _v_Chars2Cpp1);
     361      goto _block1;
     362    }
     363  _block1__branch1: {}
     364    {
     365      Expr _v_auxblock1;
     366      {
     367        {
     368          if ((_ve_rfp_m_obj.get_len () != 1))
     369          {
     370            goto _block3__branch1;
     371          }
     372          if (_ve_rfp_m_obj.symbol_at (0))
     373          {
     374            goto _block3__branch1;
     375          }
     376          Expr _v_deref__rfp_m_obj8 (_ve_rfp_m_obj, 0);
     377          uintptr_t _v_len15 = _v_deref__rfp_m_obj8.get_len ();
     378          uintptr_t _v_len16 = 1;
     379          if ((_v_len15 < _v_len16))
     380          {
     381            goto _block3__branch1;
     382          }
     383          uintptr_t _v_len__names = (_v_len15 - _v_len16);
     384          if (!_c_14.term_eq (_v_deref__rfp_m_obj8, 0))
     385          {
     386            goto _block3__branch1;
     387          }
     388          Expr _ve_names (_v_deref__rfp_m_obj8, 1, _v_len__names);
     389          _v_auxblock1 = _ve_names;
     390          goto _block3;
     391        }
     392      _block3__branch1: {}
     393        {
     394          if ((_ve_rfp_m_obj.get_len () != 1))
     395          {
     396            goto _block3__branch2;
     397          }
     398          if (_ve_rfp_m_obj.symbol_at (0))
     399          {
     400            goto _block3__branch2;
     401          }
     402          Expr _v_deref__rfp_m_obj9 (_ve_rfp_m_obj, 0);
     403          uintptr_t _v_len17 = _v_deref__rfp_m_obj9.get_len ();
     404          uintptr_t _v_len18 = 0;
     405          if ((_v_len17 < _v_len18))
     406          {
     407            goto _block3__branch2;
     408          }
     409          uintptr_t _v_len__names2 = (_v_len17 - _v_len18);
     410          Expr _ve_names (_v_deref__rfp_m_obj9, 0, _v_len__names2);
     411          _v_auxblock1 = _ve_names;
     412          goto _block3;
     413        }
     414      _block3__branch2: {}
     415        uintptr_t _v_len19 = _ve_rfp_m_obj.get_len ();
     416        uintptr_t _v_len20 = 0;
     417        if ((_v_len19 < _v_len20))
     418        {
     419          RF_FUNC_ERROR (unexpected_fail);
     420        }
     421        uintptr_t _v_len__names3 = (_v_len19 - _v_len20);
     422        Expr _ve_names (_ve_rfp_m_obj, 0, _v_len__names3);
     423        _v_auxblock1 = _ve_names;
     424      }
     425    _block3: {}
     426      uintptr_t _v_len21 = _v_auxblock1.get_len ();
     427      uintptr_t _v_len22 = 1;
     428      if ((_v_len21 < _v_len22))
     429      {
     430        goto _block1__branch2;
     431      }
     432      uintptr_t _v_len__qualifiers = (_v_len21 - _v_len22);
     433      if (!_v_auxblock1.symbol_at (_v_len__qualifiers))
     434      {
     435        goto _block1__branch2;
     436      }
     437      Expr _ve_qualifiers (_v_auxblock1, 0, _v_len__qualifiers);
     438      Expr _vs_name (_v_auxblock1, _v_len__qualifiers, 1);
     439      Expr _v_Map1;
     440      RF_CALL (List::Map, (_c_15, empty, _ve_qualifiers), _v_Map1);
     441      Expr _v_Chars2Cpp2;
     442      RF_CALL (Chars2Cpp, _vs_name, _v_Chars2Cpp2);
     443      _ve_ident = (_v_Map1 + _v_Chars2Cpp2);
     444      goto _block1;
     445    }
     446  _block1__branch2: {}
     447    _ve_ident = empty;
     448  }
     449_block1: {}
     450  {
     451    {
     452      Expr _v_Apply1;
     453      if (!RF_CALL (Apply::Apply, (_c_16, _ve_ident), _v_Apply1))
     454      {
     455        goto _block4__branch1;
     456      }
     457      uintptr_t _v_len23 = _v_Apply1.get_len ();
     458      uintptr_t _v_len24 = 0;
     459      if ((_v_len23 < _v_len24))
     460      {
     461        goto _block4__branch1;
     462      }
     463      uintptr_t _v_len___e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_78_m_40 = (_v_len23 - _v_len24);
     464      Expr _ve__e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_78_m_40 (_v_Apply1, 0, _v_len___e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_78_m_40);
     465      _v_res1 = (_c_17 + _ve_ident);
     466      goto _block4;
     467    }
     468  _block4__branch1: {}
     469    _v_res1 = _ve_ident;
     470  }
     471_block4: {}
    20472RF_END
    21473
     474RF_FUNC (Qualifier2Cpp, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
     475  if ((_v_arg1.get_len () != 1))
     476  {
     477    RF_FUNC_ERROR (unexpected_fail);
     478  }
     479  if (!_v_arg1.symbol_at (0))
     480  {
     481    RF_FUNC_ERROR (unexpected_fail);
     482  }
     483  Expr _vs_qualifier (_v_arg1, 0, 1);
     484  Expr _v_Chars2Cpp1;
     485  RF_CALL (Chars2Cpp, _vs_qualifier, _v_Chars2Cpp1);
     486  _v_res1 = (_v_Chars2Cpp1 + java__specific::Namespace_m_Delimeter);
     487RF_END
     488
     489RF_FUNC (Chars2Cpp, (RF_ARG _ve_name;;), (RF_RES _v_res1;;))
     490  Expr _v_To_m_Chars1;
     491  RF_CALL (Convert::To_m_Chars, _ve_name, _v_To_m_Chars1);
     492  RF_TAILCALL (List::Map, (_c_18, empty, _v_To_m_Chars1), _v_res1);
     493RF_END
     494
     495RF_FUNC (A_m_Char2Cpp, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
     496  if ((_v_arg1.get_len () != 1))
     497  {
     498    RF_FUNC_ERROR (unexpected_fail);
     499  }
     500  if (!_v_arg1.symbol_at (0))
     501  {
     502    RF_FUNC_ERROR (unexpected_fail);
     503  }
     504  Expr _vs_char (_v_arg1, 0, 1);
     505  {
     506    {
     507      if (!RF_CALL (Class::Digit_q_, _vs_char, /*void*/))
     508      {
     509        goto _block1__branch1;
     510      }
     511      _v_res1 = _vs_char;
     512      goto _block1;
     513    }
     514  _block1__branch1: {}
     515    {
     516      if (!RF_CALL (Class::Letter_q_, _vs_char, /*void*/))
     517      {
     518        goto _block1__branch2;
     519      }
     520      {
     521        lsplit (_c_19, 0, _ve__e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_88_m_34, _v_lsplit__19);
     522        for ( ; ; iter(_c_19)++)
     523        {
     524          {
     525            if (!iter(_c_19))
     526            {
     527              goto _negation1;
     528            }
     529            uintptr_t _v_len1 = _v_lsplit__19.get_len ();
     530            uintptr_t _v_len2 = 1;
     531            if ((_v_len1 < _v_len2))
     532            {
     533              goto _negation1;
     534            }
     535            uintptr_t _v_len___e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_88_m_43 = (_v_len1 - _v_len2);
     536            if (!_vs_char.term_eq (_v_lsplit__19, 0))
     537            {
     538              goto _continue1;
     539            }
     540            Expr _ve__e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_88_m_43 (_v_lsplit__19, 1, _v_len___e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_88_m_43);
     541            goto _exit1;
     542          }
     543      _continue1: {}
     544        }
     545      _exit1: {}
     546        goto _block1__branch2;
     547      }
     548    _negation1: {}
     549      _v_res1 = _vs_char;
     550      goto _block1;
     551    }
     552  _block1__branch2: {}
     553    {
     554      lsplit (Conv_m_Table, 0, _ve__e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_89_m_18, _v_lsplit__Conv_m_Table);
     555      for ( ; ; iter(Conv_m_Table)++)
     556      {
     557        {
     558          if (!iter(Conv_m_Table))
     559          {
     560            goto _block1__branch3;
     561          }
     562          uintptr_t _v_len3 = _v_lsplit__Conv_m_Table.get_len ();
     563          uintptr_t _v_len4 = 1;
     564          if ((_v_len3 < _v_len4))
     565          {
     566            goto _block1__branch3;
     567          }
     568          uintptr_t _v_len___e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_89_m_36 = (_v_len3 - _v_len4);
     569          if (_v_lsplit__Conv_m_Table.symbol_at (0))
     570          {
     571            goto _continue2;
     572          }
     573          Expr _v_deref__lsplit__Conv_m_Table (_v_lsplit__Conv_m_Table, 0);
     574          uintptr_t _v_len5 = _v_deref__lsplit__Conv_m_Table.get_len ();
     575          uintptr_t _v_len6 = 1;
     576          if ((_v_len5 < _v_len6))
     577          {
     578            goto _continue2;
     579          }
     580          uintptr_t _v_len__code = (_v_len5 - _v_len6);
     581          if (!_vs_char.term_eq (_v_deref__lsplit__Conv_m_Table, 0))
     582          {
     583            goto _continue2;
     584          }
     585          Expr _ve__e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_89_m_36 (_v_lsplit__Conv_m_Table, 1, _v_len___e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_89_m_36);
     586          Expr _ve_code (_v_deref__lsplit__Conv_m_Table, 1, _v_len__code);
     587          _v_res1 = (_c_13 + _ve_code + _c_13);
     588          goto _exit2;
     589        }
     590    _continue2: {}
     591      }
     592    _exit2: {}
     593      goto _block1;
     594    }
     595  _block1__branch3: {}
     596    Expr _v_Char_m_To_m_Unicode1;
     597    RF_CALL (Char_m_To_m_Unicode, _vs_char, _v_Char_m_To_m_Unicode1);
     598    _v_res1 = (_c_13 + _v_Char_m_To_m_Unicode1 + _c_13);
     599  }
     600_block1: {}
     601RF_END
     602
     603RF_FUNC (Char_m_To_m_Unicode, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
     604  {
     605    {
     606      if (!_v_arg1.term_eq (_c_20, 0))
     607      {
     608        goto _block1__branch1;
     609      }
     610      _v_res1 = _c_21;
     611      goto _block1;
     612    }
     613  _block1__branch1: {}
     614    {
     615      if (!_v_arg1.term_eq (_c_22, 0))
     616      {
     617        goto _block1__branch2;
     618      }
     619      _v_res1 = _c_23;
     620      goto _block1;
     621    }
     622  _block1__branch2: {}
     623    {
     624      if (!_v_arg1.term_eq (_c_24, 0))
     625      {
     626        goto _block1__branch3;
     627      }
     628      _v_res1 = _c_25;
     629      goto _block1;
     630    }
     631  _block1__branch3: {}
     632    {
     633      if (!_v_arg1.term_eq (_c_26, 0))
     634      {
     635        goto _block1__branch4;
     636      }
     637      _v_res1 = _c_27;
     638      goto _block1;
     639    }
     640  _block1__branch4: {}
     641    {
     642      if (!_v_arg1.term_eq (_c_28, 0))
     643      {
     644        goto _block1__branch5;
     645      }
     646      _v_res1 = _c_29;
     647      goto _block1;
     648    }
     649  _block1__branch5: {}
     650    if (!_v_arg1.term_eq (_c_30, 0))
     651    {
     652      RF_FUNC_ERROR (unexpected_fail);
     653    }
     654    _v_res1 = _c_31;
     655  }
     656_block1: {}
     657RF_END
     658
    22659RF_FUNC (Java2Rfp, (RF_ARG _ve_ident;;), (RF_RES _v_res1;;))
    23   RF_TAILCALL (CppMangle::Cpp2Rfp, _ve_ident, _v_res1);
     660  Expr _v_To_m_Chars1;
     661  RF_CALL (Convert::To_m_Chars, _ve_ident, _v_To_m_Chars1);
     662  Expr _v_auxblock1;
     663  {
     664    {
     665      uintptr_t _v_len1 = _v_To_m_Chars1.get_len ();
     666      uintptr_t _v_len2 = 3;
     667      if ((_v_len1 < _v_len2))
     668      {
     669        goto _block1__branch1;
     670      }
     671      uintptr_t _v_len__name = (_v_len1 - _v_len2);
     672      if (!_c_17.eq (_v_To_m_Chars1, 0))
     673      {
     674        goto _block1__branch1;
     675      }
     676      Expr _ve_name (_v_To_m_Chars1, 3, _v_len__name);
     677      _v_auxblock1 = _ve_name;
     678      goto _block1;
     679    }
     680  _block1__branch1: {}
     681    uintptr_t _v_len3 = _v_To_m_Chars1.get_len ();
     682    uintptr_t _v_len4 = 0;
     683    if ((_v_len3 < _v_len4))
     684    {
     685      RF_FUNC_ERROR (unexpected_fail);
     686    }
     687    uintptr_t _v_len__name2 = (_v_len3 - _v_len4);
     688    Expr _ve_name (_v_To_m_Chars1, 0, _v_len__name2);
     689    _v_auxblock1 = _ve_name;
     690  }
     691_block1: {}
     692  {
     693    {
     694      uintptr_t _v_len5 = _v_auxblock1.get_len ();
     695      uintptr_t _v_len6 = 4;
     696      if ((_v_len5 < _v_len6))
     697      {
     698        goto _block2__branch1;
     699      }
     700      uintptr_t _v_len__name3 = (_v_len5 - _v_len6);
     701      if (!_c_3.eq (_v_auxblock1, 0))
     702      {
     703        goto _block2__branch1;
     704      }
     705      Expr _ve_name (_v_auxblock1, 4, _v_len__name3);
     706      Expr _v_Chars2Rfp1;
     707      if (!RF_CALL (Chars2Rfp, _ve_name, _v_Chars2Rfp1))
     708      {
     709        RF_RETFAIL;
     710      }
     711      _v_res1 = (_c_2 + _v_Chars2Rfp1 ()) ();
     712      goto _block2;
     713    }
     714  _block2__branch1: {}
     715    {
     716      uintptr_t _v_len7 = _v_auxblock1.get_len ();
     717      uintptr_t _v_len8 = 4;
     718      if ((_v_len7 < _v_len8))
     719      {
     720        goto _block2__branch2;
     721      }
     722      uintptr_t _v_len__name4 = (_v_len7 - _v_len8);
     723      if (!_c_5.eq (_v_auxblock1, 0))
     724      {
     725        goto _block2__branch2;
     726      }
     727      Expr _ve_name (_v_auxblock1, 4, _v_len__name4);
     728      Expr _v_Chars2Rfp2;
     729      if (!RF_CALL (Chars2Rfp, _ve_name, _v_Chars2Rfp2))
     730      {
     731        RF_RETFAIL;
     732      }
     733      _v_res1 = (_c_4 + _v_Chars2Rfp2 ()) ();
     734      goto _block2;
     735    }
     736  _block2__branch2: {}
     737    {
     738      uintptr_t _v_len9 = _v_auxblock1.get_len ();
     739      uintptr_t _v_len10 = 4;
     740      if ((_v_len9 < _v_len10))
     741      {
     742        goto _block2__branch3;
     743      }
     744      uintptr_t _v_len__name5 = (_v_len9 - _v_len10);
     745      if (!_c_7.eq (_v_auxblock1, 0))
     746      {
     747        goto _block2__branch3;
     748      }
     749      Expr _ve_name (_v_auxblock1, 4, _v_len__name5);
     750      Expr _v_Chars2Rfp3;
     751      if (!RF_CALL (Chars2Rfp, _ve_name, _v_Chars2Rfp3))
     752      {
     753        RF_RETFAIL;
     754      }
     755      _v_res1 = (_c_6 + _v_Chars2Rfp3 ()) ();
     756      goto _block2;
     757    }
     758  _block2__branch3: {}
     759    {
     760      uintptr_t _v_len11 = _v_auxblock1.get_len ();
     761      uintptr_t _v_len12 = 4;
     762      if ((_v_len11 < _v_len12))
     763      {
     764        goto _block2__branch4;
     765      }
     766      uintptr_t _v_len__name6 = (_v_len11 - _v_len12);
     767      if (!_c_9.eq (_v_auxblock1, 0))
     768      {
     769        goto _block2__branch4;
     770      }
     771      Expr _ve_name (_v_auxblock1, 4, _v_len__name6);
     772      Expr _v_Chars2Rfp4;
     773      if (!RF_CALL (Chars2Rfp, _ve_name, _v_Chars2Rfp4))
     774      {
     775        RF_RETFAIL;
     776      }
     777      _v_res1 = (_c_8 + _v_Chars2Rfp4 ()) ();
     778      goto _block2;
     779    }
     780  _block2__branch4: {}
     781    uintptr_t _v_len13 = _v_auxblock1.get_len ();
     782    uintptr_t _v_len14 = 0;
     783    if ((_v_len13 < _v_len14))
     784    {
     785      RF_RETFAIL;
     786    }
     787    uintptr_t _v_len__name7 = (_v_len13 - _v_len14);
     788    Expr _ve_name (_v_auxblock1, 0, _v_len__name7);
     789    RF_TAILCALL (Qualifiers2Rfp, _ve_name, _v_res1);
     790  }
     791_block2: {}
     792RF_END
     793
     794RF_FUNC (Qualifiers2Rfp, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
     795  {
     796    {
     797      if ((_v_arg1.get_len () < 1))
     798      {
     799        goto _block1__branch1;
     800      }
     801      lsplit (_v_arg1, 0, _ve_qualifier, _v_lsplit__arg1);
     802      for ( ; ; iter(_v_arg1)++)
     803      {
     804        {
     805          if (!iter(_v_arg1))
     806          {
     807            goto _block1__branch1;
     808          }
     809          uintptr_t _v_len1 = _v_lsplit__arg1.get_len ();
     810          uintptr_t _v_len2 = 1;
     811          if ((_v_len1 < _v_len2))
     812          {
     813            goto _block1__branch1;
     814          }
     815          uintptr_t _v_len__rest = (_v_len1 - _v_len2);
     816          if (!java__specific::Namespace_m_Delimeter.term_eq (_v_lsplit__arg1, 0))
     817          {
     818            goto _continue1;
     819          }
     820          Expr _ve_rest (_v_lsplit__arg1, 1, _v_len__rest);
     821          Expr _v_Chars2Rfp1;
     822          if (!RF_CALL (Chars2Rfp, _ve_qualifier, _v_Chars2Rfp1))
     823          {
     824            RF_RETFAIL;
     825          }
     826          Expr _v_Qualifiers2Rfp1;
     827          if (!RF_CALL (Qualifiers2Rfp, _ve_rest, _v_Qualifiers2Rfp1))
     828          {
     829            RF_RETFAIL;
     830          }
     831          _v_res1 = (_v_Chars2Rfp1 + _v_Qualifiers2Rfp1);
     832          goto _exit1;
     833        }
     834    _continue1: {}
     835      }
     836    _exit1: {}
     837      goto _block1;
     838    }
     839  _block1__branch1: {}
     840    if (!RF_CALL (Chars2Rfp, _v_arg1, _v_res1))
     841    {
     842      RF_RETFAIL;
     843    }
     844  }
     845_block1: {}
     846RF_END
     847
     848RF_FUNC (Chars2Rfp, (RF_ARG _ve_name;;), (RF_RES _v_res1;;))
     849  Expr _v_Codes2Rfp1;
     850  if (!RF_CALL (Codes2Rfp, _ve_name, _v_Codes2Rfp1))
     851  {
     852    RF_RETFAIL;
     853  }
     854  RF_TAILCALL (Convert::To_m_Word, _v_Codes2Rfp1, _v_res1);
     855RF_END
     856
     857RF_FUNC (Codes2Rfp, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
     858  {
     859    {
     860      if ((_v_arg1.get_len () < 2))
     861      {
     862        goto _block1__branch1;
     863      }
     864      if (!_c_13.term_eq (_v_arg1, 0))
     865      {
     866        goto _block1__branch1;
     867      }
     868      Expr _v_subexpr__arg1 (_v_arg1, 1, (_v_arg1.get_len () - 1));
     869      lsplit (_v_subexpr__arg1, 0, _ve_code, _v_lsplit__arg1);
     870      for ( ; ; iter(_v_subexpr__arg1)++)
     871      {
     872        {
     873          if (!iter(_v_subexpr__arg1))
     874          {
     875            goto _block1__branch1;
     876          }
     877          uintptr_t _v_len1 = _v_lsplit__arg1.get_len ();
     878          uintptr_t _v_len2 = 1;
     879          if ((_v_len1 < _v_len2))
     880          {
     881            goto _block1__branch1;
     882          }
     883          uintptr_t _v_len__rest = (_v_len1 - _v_len2);
     884          if (!_c_13.term_eq (_v_lsplit__arg1, 0))
     885          {
     886            goto _continue1;
     887          }
     888          Expr _ve_rest (_v_lsplit__arg1, 1, _v_len__rest);
     889          lsplit (Conv_m_Table, 0, _ve__e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_132_m_20, _v_lsplit__Conv_m_Table);
     890          for ( ; ; iter(Conv_m_Table)++)
     891          {
     892            {
     893              if (!iter(Conv_m_Table))
     894              {
     895                RF_RETFAIL;
     896              }
     897              uintptr_t _v_len3 = _v_lsplit__Conv_m_Table.get_len ();
     898              uintptr_t _v_len4 = 1;
     899              if ((_v_len3 < _v_len4))
     900              {
     901                RF_RETFAIL;
     902              }
     903              uintptr_t _v_len___e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_132_m_38 = (_v_len3 - _v_len4);
     904              if (_v_lsplit__Conv_m_Table.symbol_at (0))
     905              {
     906                goto _continue2;
     907              }
     908              Expr _v_deref__lsplit__Conv_m_Table (_v_lsplit__Conv_m_Table, 0);
     909              if ((_v_deref__lsplit__Conv_m_Table.get_len () != (_ve_code.get_len () + 1)))
     910              {
     911                goto _continue2;
     912              }
     913              if (!_v_deref__lsplit__Conv_m_Table.symbol_at (0))
     914              {
     915                goto _continue2;
     916              }
     917              if (!_ve_code.eq (_v_deref__lsplit__Conv_m_Table, 1))
     918              {
     919                goto _continue2;
     920              }
     921              Expr _ve__e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_132_m_38 (_v_lsplit__Conv_m_Table, 1, _v_len___e__e_tmp_m__s__s_JavaMangle_s_refal_s_JavaManglerf_m_132_m_38);
     922              Expr _vs_char (_v_deref__lsplit__Conv_m_Table, 0, 1);
     923              Expr _v_Codes2Rfp1;
     924              if (!RF_CALL (Codes2Rfp, _ve_rest, _v_Codes2Rfp1))
     925              {
     926                RF_RETFAIL;
     927              }
     928              _v_res1 = (_vs_char + _v_Codes2Rfp1);
     929              goto _exit2;
     930            }
     931        _continue2: {}
     932          }
     933        _exit2: {}
     934          goto _exit1;
     935        }
     936    _continue1: {}
     937      }
     938    _exit1: {}
     939      goto _block1;
     940    }
     941  _block1__branch1: {}
     942    {
     943      uintptr_t _v_len5 = _v_arg1.get_len ();
     944      uintptr_t _v_len6 = 1;
     945      if ((_v_len5 < _v_len6))
     946      {
     947        goto _block1__branch2;
     948      }
     949      uintptr_t _v_len__rest2 = (_v_len5 - _v_len6);
     950      if (!_v_arg1.symbol_at (0))
     951      {
     952        goto _block1__branch2;
     953      }
     954      Expr _vs_char (_v_arg1, 0, 1);
     955      Expr _ve_rest (_v_arg1, 1, _v_len__rest2);
     956      {
     957        {
     958          if (!RF_CALL (Class::Digit_q_, _vs_char, /*void*/))
     959          {
     960            goto _block2__branch1;
     961          }
     962          goto _block2;
     963        }
     964      _block2__branch1: {}
     965        if (!RF_CALL (Class::Letter_q_, _vs_char, /*void*/))
     966        {
     967          RF_RETFAIL;
     968        }
     969        {
     970          if (!_vs_char.term_eq (_c_32, 0))
     971          {
     972            goto _negation1;
     973          }
     974          RF_RETFAIL;
     975        }
     976      _negation1: {}
     977      }
     978    _block2: {}
     979      Expr _v_Codes2Rfp2;
     980      if (!RF_CALL (Codes2Rfp, _ve_rest, _v_Codes2Rfp2))
     981      {
     982        RF_RETFAIL;
     983      }
     984      _v_res1 = (_vs_char + _v_Codes2Rfp2);
     985      goto _block1;
     986    }
     987  _block1__branch2: {}
     988    if ((_v_arg1.get_len () != 0))
     989    {
     990      RF_FUNC_ERROR (unexpected_fail);
     991    }
     992    _v_res1 = empty;
     993  }
     994_block1: {}
    24995RF_END
    25996
     
    291000  if ((_v_len1 < _v_len2))
    301001  {
    31     RF_ERROR (_c_1);
     1002    RF_ERROR (_c_33);
    321003  }
    331004  uintptr_t _v_len__stub1 = (_v_len1 - _v_len2);
    341005  Expr _v_stub1 (_v_arg1, 0, _v_len__stub1);
    35   if (!RF_CALL (reserved_m_java::Reserved_m_Word_q_, _v_stub1, /*void*/))
     1006  if (!RF_CALL (java__specific::Reserved_m_Word_q_, _v_stub1, /*void*/))
    361007  {
    371008    RF_RETFAIL;
     
    401011RF_END
    411012
     1013}
     1014
     1015namespace JavaMangle
     1016{
     1017
    421018static void init_ ()
    431019{
    44   _c_0 = Expr::create_sym<Func> (Reserved_m_Word_q___0);
    45   _c_1 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
     1020  Conv_m_Table = (Char::create_expr ("!e")) () + (Char::create_expr ("?q")) () + (Char::create_expr ("_")) () + (Char::create_expr ("-m")) () + (Char::create_expr ("+p")) () + (Char::create_expr ("<lt")) () + (Char::create_expr (">gt")) () + (Char::create_expr ("=eq")) () + (Char::create_expr ("*a")) () + (Char::create_expr ("/s")) () + (Char::create_expr (" sp")) () + (Char::create_expr ("\\bs")) () + (Char::create_expr ("|bar")) () + (Char::create_expr ("~tilde")) () + (Char::create_expr ("@at")) () + (Char::create_expr ("#num")) () + (Char::create_expr ("$dollar")) () + (Char::create_expr ("%percnt")) () + (Char::create_expr ("^circ")) () + (Char::create_expr ("&amp")) () + (Char::create_expr ("(lpar")) () + (Char::create_expr (")rpar")) () + (Char::create_expr ("[lsqb")) () + (Char::create_expr ("]rsqb")) () + (Char::create_expr ("{lcub")) () + (Char::create_expr ("}rcub")) () + (Char::create_expr ("`grave")) () + (Char::create_expr ("'apos")) () + (Char::create_expr ("\"quot")) () + (Char::create_expr (",comma")) () + (Char::create_expr (".period")) () + (Char::create_expr (":colon")) () + (Char::create_expr (";semi")) ();
     1021  _c_0 = Expr::create<Word>("VAR");
     1022  _c_1 = Char::create_expr ("_v_");
     1023  _c_2 = Expr::create<Word>("EVAR");
     1024  _c_3 = Char::create_expr ("_ve_");
     1025  _c_4 = Expr::create<Word>("VVAR");
     1026  _c_5 = Char::create_expr ("_vv_");
     1027  _c_6 = Expr::create<Word>("TVAR");
     1028  _c_7 = Char::create_expr ("_vt_");
     1029  _c_8 = Expr::create<Word>("SVAR");
     1030  _c_9 = Char::create_expr ("_vs_");
     1031  _c_10 = Expr::create<Word>("STATIC");
     1032  _c_11 = Char::create_expr ("_c_");
     1033  _c_12 = Expr::create<Word>("LABEL");
     1034  _c_13 = Expr (_c_11, 0, 1);
     1035  _c_14 = Expr::create<Word>("OBJ");
     1036  _c_15 = Expr::create_sym<Func> (Qualifier2Cpp);
     1037  _c_16 = Expr::create_sym<Func> (Reserved_m_Word_q___0);
     1038  _c_17 = Char::create_expr ("_r_");
     1039  _c_18 = Expr::create_sym<Func> (A_m_Char2Cpp);
     1040  _c_19 = Char::create_expr ("?!");
     1041  _c_20 = Char::create_expr ("b");
     1042  _c_21 = Char::create_expr ("08");
     1043  _c_22 = Char::create_expr ("\t");
     1044  _c_23 = Char::create_expr ("09");
     1045  _c_24 = Char::create_expr ("\n");
     1046  _c_25 = Char::create_expr ("0A");
     1047  _c_26 = Expr (_c_9, 1, 1);
     1048  _c_27 = Char::create_expr ("0B");
     1049  _c_28 = Char::create_expr ("f");
     1050  _c_29 = Char::create_expr ("0C");
     1051  _c_30 = Char::create_expr ("\r");
     1052  _c_31 = Char::create_expr ("0D");
     1053  _c_32 = Expr (_c_19, 0, 1);
     1054  _c_33 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
    461055}
    471056
  • to-imperative/trunk/library/JavaMangle/Makefile

    r1815 r1818  
    77MODULES = \
    88  JavaMangle \
    9   reserved-java
     9  java_specific
    1010
    1111SOURCES = $(addsuffix .cc, $(MODULES))
  • to-imperative/trunk/library/JavaMangle/refal/Makefile

    r1815 r1818  
    44
    55MODULES = \
    6         JavaMangle \
    7         reserved-java
     6        java_specific
    87
    98all:: $(addsuffix .cc, $(MODULES)) $(addsuffix .hh, $(MODULES))
  • to-imperative/trunk/library/include/refal-plus/CppMangle.rfi

    r1816 r1818  
    44
    55$func Rfp2Cpp e.rfp-obj = e.cpp-identifier;
    6 $func Rfp2Cpp-With s.Reserved-Word?-Func e.rfp-obj = e.cpp-identifier;
    76
    87$func? Cpp2Rfp e.cpp-identifier = e.rfp-name;
  • to-imperative/trunk/library/include/refal/CppMangle.hh

    r1816 r1818  
    1414RF_DECL (Rfp2Cpp);
    1515
    16 RF_DECL (Rfp2Cpp_m_With);
    17 
    1816RF_DECL (Cpp2Rfp);
    1917
Note: See TracChangeset for help on using the changeset viewer.