Changeset 2030


Ignore:
Timestamp:
Jul 18, 2006, 1:20:15 AM (14 years ago)
Author:
orlov
Message:
  • Fresh-generated libraries for C++.
Location:
to-imperative/trunk/library
Files:
4 edited

Legend:

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

    r1897 r2030  
    11#include <rf_core.hh>
    22#include <refal/Arithm.hh>
    3 #include "StdIO.hh"
    43#include <refal/Class.hh>
    54#include <refal/Convert.hh>
     
    1110#include <refal/Error.hh>
    1211#include <refal/Box.hh>
     12#include "StdIO.hh"
    1313
    1414namespace refal
     
    3030static Expr Buffers;
    3131
     32RF_DECL (Open_m_File);
     33
     34RF_DECL (Close_m_Channel);
     35
     36RF_DECL (EOF_q_);
     37
     38RF_DECL (Read_m_Char_e_);
     39
     40RF_DECL (Read_m_Char);
     41
     42RF_DECL (Read_m_Line_e_);
     43
     44RF_DECL (Read_m_Line);
     45
     46RF_DECL (Read_e_);
     47
     48RF_DECL (Read);
     49
    3250RF_DECL (Read_m_Main);
    3351
     
    3856RF_DECL (Print_e_);
    3957
     58RF_DECL (Flush_e_);
     59
    4060RF_DECL (Write_e_);
    4161
     
    6080RF_DECL (Channel);
    6181
    62 //RF_DECL (Prim_m_Read__0);
     82RF_DECL (Prim_m_Read__0);
    6383
    6484static Expr _c_0;
     
    89109
    90110static Expr _c_13;
     111
     112static Expr _c_14;
     113
     114static Expr _c_15;
    91115
    92116RF_FUNC (Open_m_File, (RF_ARG _vs_channel, _ve_file, _vs_mode;;), RF_VOID)
     
    198222        RF_RETFAIL;
    199223      }
     224      if ((1 != 1))
     225      {
     226        RF_RETFAIL;
     227      }
    200228      if (!_v_Getc1.symbol_at (0))
    201229      {
     
    239267        {
    240268          uintptr_t _v_len1 = _v_Get_m_Line1.get_len ();
    241           uintptr_t _v_len2 = 1;
    242           if ((_v_len1 < _v_len2))
     269          uintptr_t _v_len2 = (1 + 1);
     270          if (((_v_len1 < (_v_len2 + (0 * 1)))))
    243271          {
    244272            goto _block2__branch1;
    245273          }
    246           uintptr_t _v_len__line = (_v_len1 - _v_len2);
    247           if (!_c_8.term_eq (_v_Get_m_Line1, _v_len__line))
     274          if (((_v_len1 - _v_len2) % 1))
     275          {
     276            goto _block2__branch1;
     277          }
     278          uintptr_t _v_len__line = ((_v_len1 - _v_len2) / 1);
     279          if (!_c_8.eq (_v_Get_m_Line1, (0 + _v_len__line)))
    248280          {
    249281            goto _block2__branch1;
     
    254286        }
    255287      _block2__branch1: {}
    256         uintptr_t _v_len3 = _v_Get_m_Line1.get_len ();
    257         uintptr_t _v_len4 = 0;
    258         if ((_v_len3 < (_v_len4 + 1)))
     288        {
     289          uintptr_t _v_len3 = _v_Get_m_Line1.get_len ();
     290          uintptr_t _v_len4 = 1;
     291          if (((_v_len3 < (_v_len4 + (0 * 1)))))
     292          {
     293            goto _block2__branch2;
     294          }
     295          if (((_v_len3 - _v_len4) % 1))
     296          {
     297            goto _block2__branch2;
     298          }
     299          uintptr_t _v_len__line2 = ((_v_len3 - _v_len4) / 1);
     300          if (!_c_9.term_eq (_v_Get_m_Line1, (0 + _v_len__line2)))
     301          {
     302            goto _block2__branch2;
     303          }
     304          Expr _ve_line (_v_Get_m_Line1, 0, _v_len__line2);
     305          _v_res1 = _ve_line;
     306          goto _block2;
     307        }
     308      _block2__branch2: {}
     309        {
     310          uintptr_t _v_len5 = _v_Get_m_Line1.get_len ();
     311          uintptr_t _v_len6 = 1;
     312          if (((_v_len5 < (_v_len6 + (0 * 1)))))
     313          {
     314            goto _block2__branch3;
     315          }
     316          if (((_v_len5 - _v_len6) % 1))
     317          {
     318            goto _block2__branch3;
     319          }
     320          uintptr_t _v_len__line3 = ((_v_len5 - _v_len6) / 1);
     321          if (!_c_10.term_eq (_v_Get_m_Line1, (0 + _v_len__line3)))
     322          {
     323            goto _block2__branch3;
     324          }
     325          Expr _ve_line (_v_Get_m_Line1, 0, _v_len__line3);
     326          _v_res1 = _ve_line;
     327          goto _block2;
     328        }
     329      _block2__branch3: {}
     330        uintptr_t _v_len7 = _v_Get_m_Line1.get_len ();
     331        uintptr_t _v_len8 = 0;
     332        if (((_v_len7 < (_v_len8 + (1 * 1)))))
    259333        {
    260334          RF_RETFAIL;
    261335        }
    262         uintptr_t _v_len__line2 = (_v_len3 - _v_len4);
    263         Expr _vv_line (_v_Get_m_Line1, 0, _v_len__line2);
     336        if (((_v_len7 - _v_len8) % 1))
     337        {
     338          RF_RETFAIL;
     339        }
     340        uintptr_t _v_len__line4 = ((_v_len7 - _v_len8) / 1);
     341        Expr _vv_line (_v_Get_m_Line1, 0, _v_len__line4);
    264342        _v_res1 = _vv_line;
    265343      }
     
    268346    }
    269347  _block1__branch1: {}
    270     RF_CALL (Error::Lib_m_Error, (_c_9, _c_6), /*void*/);
     348    RF_CALL (Error::Lib_m_Error, (_c_11, _c_6), /*void*/);
    271349    RF_RETFAIL;
    272350  }
     
    279357
    280358RF_FUNC (Read_e_, (RF_ARG _vs_channel;;), (RF_RES _v_res1;;))
    281   RF_TAILCALL (Read_m_Main, (_c_10, _vs_channel), _v_res1);
     359  RF_TAILCALL (Read_m_Main, (_c_12, _vs_channel), _v_res1);
    282360RF_END
    283361
    284362RF_FUNC (Read, RF_VOID, (RF_RES _v_res1;;))
    285   RF_TAILCALL (Read_m_Main, (_c_11, StdIn), _v_res1);
     363  RF_TAILCALL (Read_m_Main, (_c_13, StdIn), _v_res1);
    286364RF_END
    287365
     
    322400          uintptr_t _v_len1 = _v_Errors1.get_len ();
    323401          uintptr_t _v_len2 = 1;
    324           if ((_v_len1 < _v_len2))
    325           {
    326             goto _block3__branch1;
    327           }
    328           uintptr_t _v_len___e__e_tmp_m_StdIOrf_m_84_m_46 = (_v_len1 - _v_len2);
     402          if (((_v_len1 < (_v_len2 + (0 * 1)))))
     403          {
     404            goto _block3__branch1;
     405          }
     406          if (((_v_len1 - _v_len2) % 1))
     407          {
     408            goto _block3__branch1;
     409          }
     410          uintptr_t _v_len___e__e_tmp_m_StdIOrf_m_86_m_46 = ((_v_len1 - _v_len2) / 1);
    329411          if (_v_Errors1.symbol_at (0))
    330412          {
     
    332414          }
    333415          Expr _v_deref__Errors1 (_v_Errors1, 0);
    334           if ((_v_deref__Errors1.get_len () != 3))
    335           {
    336             goto _block3__branch1;
    337           }
    338           if (_v_deref__Errors1.symbol_at (2))
    339           {
    340             goto _block3__branch1;
    341           }
    342           Expr _v_deref__deref__Errors1 (_v_deref__Errors1, 2);
     416          if ((_v_deref__Errors1.get_len () != (1 + 1 + 1)))
     417          {
     418            goto _block3__branch1;
     419          }
     420          if (_v_deref__Errors1.symbol_at ((0 + 1 + 1)))
     421          {
     422            goto _block3__branch1;
     423          }
     424          Expr _v_deref__deref__Errors1 (_v_deref__Errors1, (0 + 1 + 1));
    343425          uintptr_t _v_len3 = _v_deref__deref__Errors1.get_len ();
    344426          uintptr_t _v_len4 = 0;
    345           if ((_v_len3 < _v_len4))
    346           {
    347             goto _block3__branch1;
    348           }
    349           uintptr_t _v_len__message = (_v_len3 - _v_len4);
    350           Expr _ve__e__e_tmp_m_StdIOrf_m_84_m_46 (_v_Errors1, 1, _v_len___e__e_tmp_m_StdIOrf_m_84_m_46);
     427          if (((_v_len3 < (_v_len4 + (0 * 1)))))
     428          {
     429            goto _block3__branch1;
     430          }
     431          if (((_v_len3 - _v_len4) % 1))
     432          {
     433            goto _block3__branch1;
     434          }
     435          uintptr_t _v_len__message = ((_v_len3 - _v_len4) / 1);
     436          Expr _ve__e__e_tmp_m_StdIOrf_m_86_m_46 (_v_Errors1, (0 + 1), _v_len___e__e_tmp_m_StdIOrf_m_86_m_46);
    351437          Expr _vt_name (_v_deref__Errors1, 0, 1);
    352           Expr _vt_pos (_v_deref__Errors1, 1, 1);
     438          Expr _vt_pos (_v_deref__Errors1, (0 + 1), 1);
    353439          Expr _ve_message (_v_deref__deref__Errors1, 0, _v_len__message);
    354           RF_CALL (Error::Lib_m_Error, ((_c_12 + _vs_fname), _ve_message), /*void*/);
     440          RF_CALL (Error::Lib_m_Error, ((_c_14 + _vs_fname), _ve_message), /*void*/);
    355441          RF_RETFAIL;
    356442          goto _block3;
     
    368454    }
    369455  _block1__branch1: {}
    370     RF_CALL (Error::Lib_m_Error, ((_c_12 + _vs_fname), _c_6), /*void*/);
     456    RF_CALL (Error::Lib_m_Error, ((_c_14 + _vs_fname), _c_6), /*void*/);
    371457    RF_RETFAIL;
    372458  }
     
    375461
    376462RF_FUNC (Prim_m_Read__0, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
    377   if ((_v_arg1.get_len () != 2))
    378   {
    379     RF_ERROR (_c_13);
     463  if ((_v_arg1.get_len () != (1 + 1)))
     464  {
     465    RF_ERROR (_c_15);
    380466  }
    381467  if (!_v_arg1.symbol_at (0))
    382468  {
    383     RF_ERROR (_c_13);
    384   }
    385   if (!_v_arg1.symbol_at (1))
    386   {
    387     RF_ERROR (_c_13);
     469    RF_ERROR (_c_15);
     470  }
     471  if (!_v_arg1.symbol_at ((0 + 1)))
     472  {
     473    RF_ERROR (_c_15);
    388474  }
    389475  Expr _v_stub1 (_v_arg1, 0, 1);
    390   Expr _v_stub2 (_v_arg1, 1, 1);
     476  Expr _v_stub2 (_v_arg1, (0 + 1), 1);
    391477  RF_TAILCALL (Prim_m_Read, (_v_stub1, _v_stub2), _v_res1);
    392478RF_END
     
    399485static void init_ ()
    400486{
    401 //  StdIn = new rftype::Channel ();
    402 //  StdOut = new rftype::Channel ();
    403 //  StdErr = new rftype::Channel ();
    404   Read_m_Chunk_m_Size = Integer::create_expr ("64");
    405   Buffers = new rftype::Table ();
    406   _c_0 = Word::create_expr ("StdIO") + Word::create_expr ("Open-File");
    407   _c_1 = Word::create_expr ("Arg 1 is not a Channel");
    408   _c_2 = Word::create_expr ("Arg 3 is not a Word");
     487//  StdIn = new rftype::StaticObject<rftype::Channel>(L"StdIn");
     488//  StdOut = new rftype::StaticObject<rftype::Channel>(L"StdOut");
     489//  StdErr = new rftype::StaticObject<rftype::Channel>(L"StdErr");
     490  Read_m_Chunk_m_Size = Expr::create<Integer>("64");
     491  Buffers = new rftype::StaticObject<rftype::Table>(L"Buffers");
     492  _c_0 = Expr::create<Word>("StdIO") + Expr::create<Word>("Open-File");
     493  _c_1 = Expr::create<Word>("Arg 1 is not a Channel");
     494  _c_2 = Expr::create<Word>("Arg 3 is not a Word");
    409495  _c_3 = Expr::create_sym<Func> (Prim_m_Read__0);
    410   _c_4 = Word::create_expr ("StdIO") + Word::create_expr ("Close-Channel");
    411   _c_5 = Word::create_expr ("StdIO") + Word::create_expr ("EOF?");
    412   _c_6 = Word::create_expr ("Channel is not open");
    413   _c_7 = Word::create_expr ("StdIO") + Word::create_expr ("Read-Char!");
    414   _c_8 = Char::create_expr ("\n");
    415   _c_9 = Word::create_expr ("StdIO") + Word::create_expr ("Read-Line!");
    416   _c_10 = Word::create_expr ("Read!");
    417   _c_11 = Word::create_expr ("Read");
    418   _c_12 = Expr (_c_5, 0, 1);
    419   _c_13 = Word::create_expr ("Apply") + Word::create_expr ("Apply") + Word::create_expr ("Unexpected fail");
     496  _c_4 = Expr::create<Word>("StdIO") + Expr::create<Word>("Close-Channel");
     497  _c_5 = Expr::create<Word>("StdIO") + Expr::create<Word>("EOF?");
     498  _c_6 = Expr::create<Word>("Channel is not open");
     499  _c_7 = Expr::create<Word>("StdIO") + Expr::create<Word>("Read-Char!");
     500  _c_8 = Char::create_expr (L"\r\n");
     501  _c_9 = Expr (_c_8, 1, 1);
     502  _c_10 = Expr (_c_8, 0, 1);
     503  _c_11 = Expr::create<Word>("StdIO") + Expr::create<Word>("Read-Line!");
     504  _c_12 = Expr::create<Word>("Read!");
     505  _c_13 = Expr::create<Word>("Read");
     506  _c_14 = Expr (_c_5, 0, 1);
     507  _c_15 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
    420508}
    421509
  • to-imperative/trunk/library/StdIO/StdIO.hh

    r1643 r2030  
    5858RF_DECL (PrintLN_e_);
    5959
     60RF_DECL (Flush_e_);
     61
    6062RF_DECL (Prim_m_Open_m_File);
    6163
  • to-imperative/trunk/library/Stream/Stream.cc

    r1991 r2030  
    11#include <rf_core.hh>
    22#include <refal/Access.hh>
    3 #include "Stream.hh"
    43#include <refal/Box.hh>
     4#include <refal/Apply.hh>
    55#include <refal/Compare.hh>
    66#include <refal/StdIO.hh>
    77#include <refal/Error.hh>
    88#include <refal/Class.hh>
    9 #include <refal/Apply.hh>
    109
    1110namespace refal
     
    1716{
    1817
     18RF_DECL (Stream);
     19
    1920RF_DECL (Read_m_Expr);
    2021
     22RF_DECL (Expr_m_Open);
     23
     24RF_DECL (File_m_Open);
     25
     26RF_DECL (File_m_Close);
     27
    2128static Expr StdIStream_m_Box;
    2229
    23 }
    24 
    25 namespace Stream
    26 {
     30RF_DECL (StdIStream);
     31
     32RF_DECL (Getc);
     33
     34RF_DECL (Gets);
     35
     36RF_DECL (Ungets);
     37
     38RF_DECL (Scanc);
     39
     40RF_DECL (Get_m_Delim);
     41
     42RF_DECL (Not_m_EOL);
     43
     44RF_DECL (Get_m_Line);
     45
     46RF_DECL (Get_m_While);
     47
     48RF_DECL (End_m_of_m_Stream_q_);
    2749
    2850RF_DECL (Prim_m_Read__0);
     51
    2952RF_DECL (Read_m_Expr__0);
    3053
     54RF_DECL (Not_m_EOL__0);
     55
    3156static Expr _c_0;
    3257
     
    6994static Expr _c_19;
    7095
     96static Expr _c_20;
     97
     98static Expr _c_21;
     99
    71100RF_FUNC (Stream, (RF_ARG _vs_func, _ve_args;;), (RF_RES _v_res1;;))
    72101  {
    73102    {
    74       {
    75         if (!RF_CALL (Class::Func_q_, _vs_func, /*void*/))
    76         {
    77           goto _negation1;
    78         }
    79         goto _block1__branch1;
    80       }
    81     _negation1: {}
    82       RF_CALL (Error::Lib_m_Error, (_c_0, _c_1), /*void*/);
    83       RF_ERROR (Word::create_expr ("Stream") + Word::create_expr ("Stream") + unexpected_fail);
    84       goto _block1;
     103      if (!RF_CALL (Class::Func_q_, _vs_func, /*void*/))
     104      {
     105        goto _negation1;
     106      }
     107      goto _block1__branch1;
    85108    }
    86   _block1__branch1: {}
    87     RF_TAILCALL (Box::Box, (_c_2 + (_vs_func + _ve_args) ()), _v_res1);
    88   }
    89 _block1: {}
     109  _negation1: {}
     110    RF_CALL (Error::Lib_m_Error, (_c_0, _c_1), /*void*/);
     111    RF_FUNC_ERROR (unexpected_fail);
     112  }
     113_block1__branch1: {}
     114  RF_TAILCALL (Box::Box, (_c_2 + (_vs_func + _ve_args) ()), _v_res1);
    90115RF_END
    91116
     
    95120  uintptr_t _v_len1 = _v__q_1.get_len ();
    96121  uintptr_t _v_len2 = 0;
    97   if ((_v_len1 < (_v_len2 + 1)))
     122  if (((_v_len1 < (_v_len2 + (1 * 1)))))
    98123  {
    99124    RF_RETFAIL;
    100125  }
    101   uintptr_t _v_len__expr = (_v_len1 - _v_len2);
     126  if (((_v_len1 - _v_len2) % 1))
     127  {
     128    RF_RETFAIL;
     129  }
     130  uintptr_t _v_len__expr = ((_v_len1 - _v_len2) / 1);
    102131  Expr _vv_expr (_v__q_1, 0, _v_len__expr);
    103132  RF_CALL (Box::Store, (_vs_box, empty), /*void*/);
     
    116145  if (!RF_CALL (StdIO::Prim_m_Open_m_File, (_vs_channel, _ve_filename, _c_4), /*void*/))
    117146  {
    118     RF_ERROR (Word::create_expr ("Stream") + Word::create_expr ("File-Open") + unexpected_fail);
     147    RF_FUNC_ERROR (unexpected_fail);
    119148  }
    120149  RF_TAILCALL (Stream, (_c_5, (_vs_channel + StdIO::Read_m_Chunk_m_Size)), _v_res1);
     
    185214      _block2__branch1: {}
    186215        RF_CALL (Error::Lib_m_Error, (_c_6, _c_7), /*void*/);
    187         RF_ERROR (Word::create_expr ("Stream") + Word::create_expr ("File-Close") + unexpected_fail);
     216        RF_FUNC_ERROR (unexpected_fail);
    188217      }
    189218    _block2: {}
     
    192221  _block1__branch1: {}
    193222    RF_CALL (Error::Lib_m_Error, (_c_6, _c_8), /*void*/);
    194     RF_ERROR (Word::create_expr ("Stream") + Word::create_expr ("File-Close") + unexpected_fail);
     223    RF_FUNC_ERROR (unexpected_fail);
    195224  }
    196225_block1: {}
     
    242271      Expr _v__q_1;
    243272      RF_CALL (Box::_q_, _vs_tream, _v__q_1);
    244       if ((_v__q_1.get_len () != 2))
     273      if ((_v__q_1.get_len () != (1 + 1)))
    245274      {
    246275        goto _block1__branch1;
     
    250279        goto _block1__branch1;
    251280      }
    252       if (_v__q_1.symbol_at (1))
     281      if (_v__q_1.symbol_at ((0 + 1)))
    253282      {
    254283        goto _block1__branch1;
    255284      }
    256285      Expr _v_deref___q_1 (_v__q_1, 0);
    257       Expr _v_deref___q_12 (_v__q_1, 1);
     286      Expr _v_deref___q_12 (_v__q_1, (0 + 1));
    258287      uintptr_t _v_len1 = _v_deref___q_12.get_len ();
    259288      uintptr_t _v_len2 = 1;
    260       if ((_v_len1 < _v_len2))
    261       {
    262         goto _block1__branch1;
    263       }
    264       uintptr_t _v_len__args = (_v_len1 - _v_len2);
     289      if (((_v_len1 < (_v_len2 + (0 * 1)))))
     290      {
     291        goto _block1__branch1;
     292      }
     293      if (((_v_len1 - _v_len2) % 1))
     294      {
     295        goto _block1__branch1;
     296      }
     297      uintptr_t _v_len__args = ((_v_len1 - _v_len2) / 1);
    265298      uintptr_t _v_len3 = _v_deref___q_1.get_len ();
    266299      uintptr_t _v_len4 = 0;
    267       if ((_v_len3 < _v_len4))
    268       {
    269         goto _block1__branch1;
    270       }
    271       uintptr_t _v_len__buf = (_v_len3 - _v_len4);
     300      if (((_v_len3 < (_v_len4 + (0 * 1)))))
     301      {
     302        goto _block1__branch1;
     303      }
     304      if (((_v_len3 - _v_len4) % 1))
     305      {
     306        goto _block1__branch1;
     307      }
     308      uintptr_t _v_len__buf = ((_v_len3 - _v_len4) / 1);
    272309      if (!_v_deref___q_12.symbol_at (0))
    273310      {
     
    276313      Expr _ve_buf (_v_deref___q_1, 0, _v_len__buf);
    277314      Expr _vs_func (_v_deref___q_12, 0, 1);
    278       Expr _ve_args (_v_deref___q_12, 1, _v_len__args);
     315      Expr _ve_args (_v_deref___q_12, (0 + 1), _v_len__args);
    279316      for ( ; ; )
    280317      {
     
    367404  _block1__branch1: {}
    368405    RF_CALL (Error::Lib_m_Error, (_c_13, _c_8), /*void*/);
    369     RF_ERROR (Word::create_expr ("Stream") + Word::create_expr ("Ungets") + unexpected_fail);
     406    RF_FUNC_ERROR (unexpected_fail);
     407  }
     408_block1: {}
     409RF_END
     410
     411RF_FUNC (Scanc, (RF_ARG _vs_tream, _vt_1;;), (RF_RES _v_res1;;))
     412  {
     413    {
     414      Expr _v_Getc1;
     415      if (!RF_CALL (Getc, _vs_tream, _v_Getc1))
     416      {
     417        goto _block1__branch1;
     418      }
     419      {
     420        {
     421          if (!_vt_1.term_eq (_v_Getc1, 0))
     422          {
     423            goto _block2__branch1;
     424          }
     425          _v_res1 = _vt_1;
     426          goto _block2;
     427        }
     428      _block2__branch1: {}
     429        Expr _vt_2 (_v_Getc1, 0, 1);
     430        RF_CALL (Ungets, (_vs_tream, _vt_2), /*void*/);
     431        _v_res1 = empty;
     432      }
     433    _block2: {}
     434      goto _block1;
     435    }
     436  _block1__branch1: {}
     437    _v_res1 = empty;
    370438  }
    371439_block1: {}
     
    490558  _block1__branch1: {}
    491559    RF_CALL (Error::Lib_m_Error, (_c_15, _c_8), /*void*/);
    492     RF_ERROR (Word::create_expr ("Stream") + Word::create_expr ("Get-Delim") + unexpected_fail);
     560    RF_FUNC_ERROR (unexpected_fail);
    493561  }
    494562_block1: {}
    495563RF_END
    496564
     565RF_FUNC (Not_m_EOL, (RF_ARG _vt_1;;), RF_VOID)
     566  {
     567    {
     568      {
     569        if ((1 != 1))
     570        {
     571          goto _block1__branch1;
     572        }
     573        if (!_vt_1.term_eq (_c_16, 0))
     574        {
     575          goto _block1__branch1;
     576        }
     577        goto _block1;
     578      }
     579    _block1__branch1: {}
     580      if ((1 != 1))
     581      {
     582        goto _negation1;
     583      }
     584      if (!_vt_1.term_eq (_c_17, 0))
     585      {
     586        goto _negation1;
     587      }
     588    }
     589  _block1: {}
     590    RF_RETFAIL;
     591  }
     592_negation1: {}
     593RF_END
     594
    497595RF_FUNC (Get_m_Line, (RF_ARG _vs_tream;;), (RF_RES _v_res1;;))
    498   RF_TAILCALL (Get_m_Delim, (_vs_tream, _c_16), _v_res1);
     596  Expr _v_Get_m_While1;
     597  RF_CALL (Get_m_While, (_vs_tream, _c_18), _v_Get_m_While1);
     598  Expr _v_Scanc1;
     599  RF_CALL (Scanc, (_vs_tream, _c_17), _v_Scanc1);
     600  Expr _v_Scanc2;
     601  RF_CALL (Scanc, (_vs_tream, _c_16), _v_Scanc2);
     602  _v_res1 = (_v_Get_m_While1 + _v_Scanc1 + _v_Scanc2);
    499603RF_END
    500604
     
    581685                  goto _block3__branch1;
    582686                }
    583                 uintptr_t _v_len___e__e_tmp_m_Streamrf_m_117_m_30 = (_v_len7 - _v_len8);
    584                 Expr _ve__e__e_tmp_m_Streamrf_m_117_m_30 (_v_Apply1, 0, _v_len___e__e_tmp_m_Streamrf_m_117_m_30);
     687                uintptr_t _v_len___e__e_tmp_m_Streamrf_m_134_m_30 = (_v_len7 - _v_len8);
     688                Expr _ve__e__e_tmp_m_Streamrf_m_134_m_30 (_v_Apply1, 0, _v_len___e__e_tmp_m_Streamrf_m_134_m_30);
    585689                _ve_str = (_ve_str + _vt_1);
    586690                _ve_buf = _ve_2;
     
    612716    }
    613717  _block1__branch1: {}
    614     RF_CALL (Error::Lib_m_Error, (_c_17, _c_8), /*void*/);
    615     RF_ERROR (Word::create_expr ("Stream") + Word::create_expr ("Get-While") + unexpected_fail);
     718    RF_CALL (Error::Lib_m_Error, (_c_19, _c_8), /*void*/);
     719    RF_FUNC_ERROR (unexpected_fail);
    616720  }
    617721_block1: {}
     
    623727      Expr _v__q_1;
    624728      RF_CALL (Box::_q_, _vs_tream, _v__q_1);
    625       if ((_v__q_1.get_len () != 2))
     729      if ((_v__q_1.get_len () != (1 + 1)))
    626730      {
    627731        goto _block1__branch1;
     
    631735        goto _block1__branch1;
    632736      }
    633       if (_v__q_1.symbol_at (1))
     737      if (_v__q_1.symbol_at ((0 + 1)))
    634738      {
    635739        goto _block1__branch1;
    636740      }
    637741      Expr _v_deref___q_1 (_v__q_1, 0);
    638       Expr _v_deref___q_12 (_v__q_1, 1);
     742      Expr _v_deref___q_12 (_v__q_1, (0 + 1));
    639743      uintptr_t _v_len1 = _v_deref___q_12.get_len ();
    640744      uintptr_t _v_len2 = 1;
    641       if ((_v_len1 < _v_len2))
    642       {
    643         goto _block1__branch1;
    644       }
    645       uintptr_t _v_len__args = (_v_len1 - _v_len2);
     745      if (((_v_len1 < (_v_len2 + (0 * 1)))))
     746      {
     747        goto _block1__branch1;
     748      }
     749      if (((_v_len1 - _v_len2) % 1))
     750      {
     751        goto _block1__branch1;
     752      }
     753      uintptr_t _v_len__args = ((_v_len1 - _v_len2) / 1);
    646754      uintptr_t _v_len3 = _v_deref___q_1.get_len ();
    647755      uintptr_t _v_len4 = 0;
    648       if ((_v_len3 < _v_len4))
    649       {
    650         goto _block1__branch1;
    651       }
    652       uintptr_t _v_len__buf = (_v_len3 - _v_len4);
     756      if (((_v_len3 < (_v_len4 + (0 * 1)))))
     757      {
     758        goto _block1__branch1;
     759      }
     760      if (((_v_len3 - _v_len4) % 1))
     761      {
     762        goto _block1__branch1;
     763      }
     764      uintptr_t _v_len__buf = ((_v_len3 - _v_len4) / 1);
    653765      if (!_v_deref___q_12.symbol_at (0))
    654766      {
     
    657769      Expr _ve_buf (_v_deref___q_1, 0, _v_len__buf);
    658770      Expr _vs_func (_v_deref___q_12, 0, 1);
    659       Expr _ve_args (_v_deref___q_12, 1, _v_len__args);
     771      Expr _ve_args (_v_deref___q_12, (0 + 1), _v_len__args);
    660772      {
    661773        {
     
    666778              uintptr_t _v_len5 = _v_buf__1.get_len ();
    667779              uintptr_t _v_len6 = 0;
    668               if ((_v_len5 < (_v_len6 + 1)))
     780              if (((_v_len5 < (_v_len6 + (1 * 1)))))
    669781              {
    670782                goto _iter1;
    671783              }
    672               uintptr_t _v_len___e__e_tmp_m_Streamrf_m_138_m_18 = (_v_len5 - _v_len6);
    673               Expr _vv__e__e_tmp_m_Streamrf_m_138_m_18 (_v_buf__1, 0, _v_len___e__e_tmp_m_Streamrf_m_138_m_18);
     784              if (((_v_len5 - _v_len6) % 1))
     785              {
     786                goto _iter1;
     787              }
     788              uintptr_t _v_len___e__e_tmp_m_Streamrf_m_155_m_18 = ((_v_len5 - _v_len6) / 1);
     789              Expr _vv__e__e_tmp_m_Streamrf_m_155_m_18 (_v_buf__1, 0, _v_len___e__e_tmp_m_Streamrf_m_155_m_18);
    674790              RF_CALL (Box::Store, (_vs_tream, (_v_buf__1 () + (_vs_func + _ve_args) ())), /*void*/);
    675791              RF_RETFAIL;
     
    691807    }
    692808  _block1__branch1: {}
    693     RF_CALL (Error::Lib_m_Error, (_c_18, _c_8), /*void*/);
     809    RF_CALL (Error::Lib_m_Error, (_c_20, _c_8), /*void*/);
    694810    RF_RETFAIL;
    695811  }
     
    698814
    699815RF_FUNC (Prim_m_Read__0, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
    700   if ((_v_arg1.get_len () != 2))
    701   {
    702     RF_ERROR (_c_19);
     816  if ((_v_arg1.get_len () != (1 + 1)))
     817  {
     818    RF_ERROR (_c_21);
    703819  }
    704820  if (!_v_arg1.symbol_at (0))
    705821  {
    706     RF_ERROR (_c_19);
    707   }
    708   if (!_v_arg1.symbol_at (1))
    709   {
    710     RF_ERROR (_c_19);
     822    RF_ERROR (_c_21);
     823  }
     824  if (!_v_arg1.symbol_at ((0 + 1)))
     825  {
     826    RF_ERROR (_c_21);
    711827  }
    712828  Expr _v_stub1 (_v_arg1, 0, 1);
    713   Expr _v_stub2 (_v_arg1, 1, 1);
     829  Expr _v_stub2 (_v_arg1, (0 + 1), 1);
    714830  RF_TAILCALL (StdIO::Prim_m_Read, (_v_stub1, _v_stub2), _v_res1);
    715831RF_END
     
    718834  if ((_v_arg1.get_len () != 1))
    719835  {
    720     RF_ERROR (_c_19);
     836    RF_ERROR (_c_21);
    721837  }
    722838  if (!_v_arg1.symbol_at (0))
    723839  {
    724     RF_ERROR (_c_19);
     840    RF_ERROR (_c_21);
    725841  }
    726842  Expr _v_stub1 (_v_arg1, 0, 1);
     
    731847RF_END
    732848
     849RF_FUNC (Not_m_EOL__0, (RF_ARG _v_arg1;;), (RF_RES _v_res1;;))
     850  if ((_v_arg1.get_len () != 1))
     851  {
     852    RF_ERROR (_c_21);
     853  }
     854  Expr _v_stub1 (_v_arg1, 0, 1);
     855  if (!RF_CALL (Not_m_EOL, _v_stub1, /*void*/))
     856  {
     857    RF_RETFAIL;
     858  }
     859  _v_res1 = empty;
     860RF_END
     861
    733862}
    734863
    735 namespace StdIO
    736 {
    737 
    738 extern AtStart init_StdIn ;
    739 
    740 }
     864namespace StdIO {  extern AtStart init_StdIn;  }
    741865
    742866namespace Stream
     
    746870{
    747871  StdIO::init_StdIn.invoke();
    748   StdIStream_m_Box = Expr::create_sym<BoxContents> ();
    749   _c_0 = Word::create_expr ("Stream") + Word::create_expr ("Stream");
    750   _c_1 = Word::create_expr ("Arg 1 is not a Function");
     872  StdIStream_m_Box = Expr::create_sym< rftype::NamedObject<rftype::BoxContents> >(L"StdIStream-Box");
     873  _c_0 = Expr::create<Word>("Stream") + Expr::create<Word>("Stream");
     874  _c_1 = Expr::create<Word>("Arg 1 is not a Function");
    751875  _c_2 = (empty) ();
    752876  _c_3 = Expr::create_sym<Func> (Read_m_Expr__0);
    753   _c_4 = Word::create_expr ("R");
     877  _c_4 = Expr::create<Word>("R");
    754878  _c_5 = Expr::create_sym<Func> (Prim_m_Read__0);
    755   _c_6 = Word::create_expr ("Stream") + Word::create_expr ("File-Close");
    756   _c_7 = Word::create_expr ("Arg 1 is not a Streamed File");
    757   _c_8 = Word::create_expr ("Arg 1 is not a Stream");
    758   _c_9 = StdIO::StdIn + Integer::create_expr ("1");
     879  _c_6 = Expr::create<Word>("Stream") + Expr::create<Word>("File-Close");
     880  _c_7 = Expr::create<Word>("Arg 1 is not a Streamed File");
     881  _c_8 = Expr::create<Word>("Arg 1 is not a Stream");
     882  _c_9 = StdIO::StdIn + Expr::create<Integer>("1");
    759883  _c_10 = Expr (_c_9, 1, 1);
    760   _c_11 = Integer::create_expr ("0");
    761   _c_12 = Word::create_expr ("Stream") + Word::create_expr ("Gets");
    762   _c_13 = Word::create_expr ("Stream") + Word::create_expr ("Ungets");
    763   _c_14 = Word::create_expr ("Stop");
    764   _c_15 = Word::create_expr ("Stream") + Word::create_expr ("Get-Delim");
    765   _c_16 = Char::create_expr ("\n");
    766   _c_17 = Word::create_expr ("Stream") + Word::create_expr ("Get-While");
    767   _c_18 = Word::create_expr ("Stream") + Word::create_expr ("End-of-Stream?");
    768   _c_19 = Word::create_expr ("Apply") + Word::create_expr ("Apply") + Word::create_expr ("Unexpected fail");
     884  _c_11 = Expr::create<Integer>("0");
     885  _c_12 = Expr::create<Word>("Stream") + Expr::create<Word>("Gets");
     886  _c_13 = Expr::create<Word>("Stream") + Expr::create<Word>("Ungets");
     887  _c_14 = Expr::create<Word>("Stop");
     888  _c_15 = Expr::create<Word>("Stream") + Expr::create<Word>("Get-Delim");
     889  _c_16 = Char::create_expr (L"\n");
     890  _c_17 = Char::create_expr (L"\r");
     891  _c_18 = Expr::create_sym<Func> (Not_m_EOL__0);
     892  _c_19 = Expr::create<Word>("Stream") + Expr::create<Word>("Get-While");
     893  _c_20 = Expr::create<Word>("Stream") + Expr::create<Word>("End-of-Stream?");
     894  _c_21 = Expr::create<Word>("Apply") + Expr::create<Word>("Apply") + Expr::create<Word>("Unexpected fail");
    769895}
    770896
  • to-imperative/trunk/library/Stream/Stream.hh

    r1643 r2030  
    2828RF_DECL (Ungets);
    2929
     30RF_DECL (Scanc);
     31
    3032RF_DECL (Get_m_Delim);
    3133
Note: See TracChangeset for help on using the changeset viewer.