Changeset 767


Ignore:
Timestamp:
May 27, 2003, 4:11:02 PM (18 years ago)
Author:
orlov
Message:
  • Some comments.
File:
1 edited

Legend:

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

    r765 r767  
    2222  //пропускаем произвольное количество пробелов, если
    2323  //последовательность термов Char
     24  //
     25  //FIXME: А если там не пробел, а \n, \r, \v, \t или что там ещё разрешено?
     26  //И надо добавить соответствующие тесты.
     27  //Кроме того, если уж есть функция is_not_space(), почему бы её здесь не
     28  //использовать?
    2429  //
    2530  if (t->get_type() == type_char) {
     
    5156  //и у него нет знака
    5257  //
     58  //FIXME: не надо вызывать is_number() каждый раз по новой.  Надо либо доп.
     59  //переменную использовать, либо switch.  Также очень неплохо вместо
     60  //обозначения возвращаемых значений цифрами завести enum.
     61  //
    5362  if ((t->get_type() == type_word) )
    5463    if (((Word*)t)->is_number() == -1)
     
    7685    //выражения, которое будет построено из исходного
    7786    //
     87    //FIXME: зачем два раза проверяется is_not_space()?
     88    //
    7889    if (t->get_type() == type_char) {
    7990
     
    8798            len += 1;
    8899          }
    89         }
     100        }
    90101        else {
    91102          if (((Char*)t)->is_not_space())
     
    98109      // не допускаются пробелы между символами-числами
    99110      //
     111      //FIXME: зачем внутри цикла всё время присваиваем t = temp?  Зачем вообще
     112      //нужна temp?
     113      //Что будет, если очередной символ -- это " "?  Надо добавить
     114      //соответствующий тест.
     115      //
    100116      else {
    101117        Term* temp = t;
     
    103119          if (((Char*)temp)->is_not_space() == false){
    104120            temp++; t = temp;
    105           }
     121          }
    106122          else {
    107123            retfail;
    108           }
    109         }
     124          }
     125        }
    110126      }
    111127    }
     
    134150    //is_number(), то считается длина слова и добавляется к
    135151    //длине выражения, которое будет построено из исходного
     152    //
     153    //FIXME: что, если в начале слова идёт пробел, а у нас уже накоплены цифры?
     154    //Аналогично с концом слова.
    136155    //
    137156    else
Note: See TracChangeset for help on using the changeset viewer.