Changeset 1129


Ignore:
Timestamp:
Aug 8, 2003, 10:35:32 AM (17 years ago)
Author:
luba
Message:
  • processing of arguments of type_int is added
Location:
to-imperative/trunk/library/Access
Files:
6 edited

Legend:

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

    r1109 r1129  
    66#include <rf_core.hh>
    77#include <rf_short_int.hh>
    8 #if 0
    9 #include <rf_int.hh>
    10 #endif
     8#include <rf_integer.hh>
    119
    1210namespace refal
     
    2725  if (p_Left->get_type() == type_int32)
    2826  {
    29     intptr_t l = ((Int32*)p_Left)->to_int();
     27    intptr_t l = static_cast<Int32*>(p_Left)->to_int();
    3028    if (l < 0 || uintptr_t(l) > SIZE_MAX)
    3129      RF_LIB_ERROR("Invalid argument");
     
    3533  if (p_Left->get_type() == type_int)
    3634  {
    37 #if 0
    38     if (((Int*)p_Left)->is_uint())
    39       left = ((Int*)p_Left)->to_uint();
     35    Integer* Left = static_cast<Integer*>(p_Left);
     36    intptr_t l = Left->to_int();
     37    if (Left->cmp(0) < 0 || uintptr_t(l) > SIZE_MAX)
     38      RF_LIB_ERROR("Invalid argument");
    4039    else
    41 #endif
    42       RF_LIB_ERROR("Invalid argument");
     40      left = l;
    4341  }
    4442  else
  • to-imperative/trunk/library/Access/left.cc

    r1109 r1129  
    2525  if (p_Left->get_type() == type_int32)
    2626  {
    27     intptr_t l = ((Int32*)p_Left)->to_int();
     27    intptr_t l = static_cast<Int32*>(p_Left)->to_int();
    2828    if (l < 0 || uintptr_t(l) > SIZE_MAX)
    2929      RF_LIB_ERROR("Invalid argument");
     
    3131  }
    3232  else
    33   if (p_Left->get_type() == type_int)
    34     RF_LIB_ERROR("Invalid argument");
     33  if (p_Left->get_type() == type_int) {
     34    Integer* Left = static_cast<Integer*>(p_Left);
     35    intptr_t l = Left->to_int();
     36    if (Left->cmp(0) < 0 || uintptr_t(l) > SIZE_MAX)
     37      RF_LIB_ERROR("Invalid argument");
     38    else
     39      left = l;
     40  }
    3541  else
    3642  {
     
    4046  if (p_Len->get_type() == type_int32)
    4147  {
    42     intptr_t l = ((Int32*)p_Len)->to_int();
     48    intptr_t l = static_cast<Int32*>(p_Len)->to_int();
    4349    if (l < 0 || uintptr_t(l) > SIZE_MAX)
    4450      RF_LIB_ERROR("Invalid argument");
     
    4652  }
    4753  else
    48   if (p_Len->get_type() == type_int)
    49     RF_LIB_ERROR("Invalid argument");
     54  if (p_Len->get_type() == type_int) {
     55    Integer* Len = static_cast<Integer*>(p_Len);
     56    intptr_t l = Len->to_int();
     57    if (Len->cmp(0) < 0 || uintptr_t(l) > SIZE_MAX)
     58      RF_LIB_ERROR("Invalid argument");
     59    else
     60      length = l;
     61  }
    5062  else
    5163  {
  • to-imperative/trunk/library/Access/length.cc

    r1109 r1129  
    1616RF_FUNC (Length, (RF_ARG e_Exp), (RF_RES s_ExpLen))
    1717
    18   s_ExpLen = Int32::create_expr(e_Exp.get_len());
     18  s_ExpLen = Integer::create_expr(e_Exp.get_len());
    1919
    2020RF_END
  • to-imperative/trunk/library/Access/middle.cc

    r1109 r1129  
    2525  if (p_Left->get_type() == type_int32)
    2626  {
    27     intptr_t l = ((Int32*)p_Left)->to_int();
     27    intptr_t l = static_cast<Int32*>(p_Left)->to_int();
    2828    if (l < 0 || uintptr_t(l) > SIZE_MAX)
    2929      RF_LIB_ERROR("Invalid argument");
     
    3131  }
    3232  else
    33   if (p_Left->get_type() == type_int)
    34     RF_LIB_ERROR("Invalid argument");
     33  if (p_Left->get_type() == type_int) {
     34    Integer* Left = static_cast<Integer*>(p_Left);
     35    intptr_t l = Left->to_int();
     36    if (Left->cmp(0) < 0 || uintptr_t(l) > SIZE_MAX)
     37      RF_LIB_ERROR("Invalid argument");
     38    else
     39      left = l;
     40  }
    3541  else
    3642  {
     
    3945  if (p_Right->get_type() == type_int32)
    4046  {
    41     intptr_t r = ((Int32*)p_Right)->to_int();
     47    intptr_t r = static_cast<Int32*>(p_Right)->to_int();
    4248    if (r < 0 || uintptr_t(r) > SIZE_MAX)
    4349      RF_LIB_ERROR("Invalid argument");
     
    4551  }
    4652  else
    47   if (p_Right->get_type() == type_int)
    48     RF_LIB_ERROR("Invalid argument");
     53  if (p_Right->get_type() == type_int) {
     54    Integer* Right = static_cast<Integer*>(p_Right);
     55    intptr_t r = Right->to_int();
     56    if (Right->cmp(0) < 0 || uintptr_t(r) > SIZE_MAX)
     57      RF_LIB_ERROR("Invalid argument");
     58    else
     59      right = r;
     60  }
    4961  else
    5062  {
     
    5971  e_SubExp = Expr(e_Exp, left, e_Exp.get_len() - right - left);
    6072
    61 
    6273RF_END
    6374}
  • to-imperative/trunk/library/Access/r.cc

    r1109 r1129  
    1717
    1818  Term* p_Right = s_Right.get_first();
    19 
    2019  size_t right = 0;
    21 
    2220  if (p_Right->get_type() == type_int32)
    2321  {
    24     intptr_t r = ((Int32*)p_Right)->to_int();
     22    intptr_t r = static_cast<Int32*>(p_Right)->to_int();
    2523    if (r < 0 || uintptr_t(r) > SIZE_MAX)
    2624      RF_LIB_ERROR("Invalid argument");
     
    3028  if (p_Right->get_type() == type_int)
    3129  {
    32     RF_LIB_ERROR("Invalid argument");
     30    Integer* Right = static_cast<Integer*>(p_Right);
     31    intptr_t r = Right->to_int();
     32    if (Right->cmp(0) < 0 || uintptr_t(r) > SIZE_MAX)
     33      RF_LIB_ERROR("Invalid argument");
     34    else
     35      right = r;
    3336  }
    3437  else
  • to-imperative/trunk/library/Access/right.cc

    r1109 r1129  
    2626  if (p_Len->get_type() == type_int32)
    2727  {
    28     intptr_t len = ((Int32*)p_Len)->to_int();
     28    intptr_t len = static_cast<Int32*>(p_Len)->to_int();
    2929    if (len < 0 || uintptr_t(len) > SIZE_MAX)
    3030      RF_LIB_ERROR("Invalid argument");
     
    3333  else
    3434  if (p_Len->get_type() == type_int)
     35  {
     36    Integer* Len = static_cast<Integer*>(p_Len);
     37    intptr_t l = Len->to_int();
     38    if (Len->cmp(0) < 0 || uintptr_t(l) > SIZE_MAX)
    3539      RF_LIB_ERROR("Invalid argument");
     40    else
     41      length = l;
     42  }
    3643  else
    3744  {
     
    4148  if (p_Right->get_type() == type_int32)
    4249  {
    43     intptr_t r = ((Int32*)p_Right)->to_int();
     50    intptr_t r = static_cast<Int32*>(p_Right)->to_int();
    4451    if (r < 0 || uintptr_t(r) > SIZE_MAX)
    4552      RF_LIB_ERROR("Invalid argument");
     
    4754  }
    4855  else
    49   if (p_Right->get_type() == type_int)
    50     RF_LIB_ERROR("Invalid argument");
     56  if (p_Right->get_type() == type_int) {
     57    Integer* Right = static_cast<Integer*>(p_Right);
     58    intptr_t r = Right->to_int();
     59    if (Right->cmp(0) < 0 || uintptr_t(r) > SIZE_MAX)
     60      RF_LIB_ERROR("Invalid argument");
     61    else
     62      right = r;
     63  }
    5164  else
    5265  {
Note: See TracChangeset for help on using the changeset viewer.