Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

никогда не задумывался о...


brother ©   (2007-01-11 04:48:00) 

Ндя... тока недавно задумался.... ; нужна компилятору ... но вот для чего? вопрос пока так сформулирую...


Anatoly Podgoretsky   (2007-01-12 13:59:00) [1]

> brother  (12.01.2007 06:51:07)  [7]

> Пробовал, не помогает.. да и собственно... кто отвечает вопросом на вопрос?))))

Например ты, или тебе можно, а другим нельзя?


Сергей М.   (2007-01-12 11:07:00) [2]


> brother ©   (11.01.07 04:48)


> для чего?


Для разделения деклараций предложений в тексте программы.


Правильный Вася   (2007-01-12 10:59:00) [3]


> brother ©   (12.01.07 06:51) [7]
> > Стандарт используемого языка программирования читать не
> > пробовал?Пробовал, не помогает..

тогда попробуй мандарины продавать, а?


brother   (2007-01-12 06:51:00) [4]


> Стандарт используемого языка программирования читать не
> пробовал?

Пробовал, не помогает.. да и собственно... кто отвечает вопросом на вопрос?))))


Плохиш   (2007-01-11 11:37:00) [5]


> brother ©   (11.01.07 05:38) [2]
> If ... then begin end  
>       else  begin end;
> почему после первого end ставить ; нельзя?

Стандарт используемого языка программирования читать не пробовал?


Zeqfreed   (2007-01-11 11:34:00) [6]

Используйте питон и забудьте о точках с запятой :)


brother   (2007-01-11 06:35:00) [7]

ага я так и догадывался... :)
спасибо! ors_archangel


ors_archangel   (2007-01-11 06:33:00) [8]


> brother ©   (11.01.07 05:38) [2]

Потому что предложение по смыслу продолжается, такова синтаксическая конструкция оператора ifв Паскале: в Си, например, перед elseможет стоять ';' - там синтаксический анализатор немного по другому думает. В данном конкретносм случае это (точка с запятой) позволяет избежать ошибки, когда предложение else... будет начинаться после произвольного оператора (а не предложения if), который заканчивается на ';', т.е. если перед elseстоит ';' - то тут явно ошибка, ни надо даже ничего анализировать, а если бы ';' была допустима, то нужно было бы проверить, что оператор, соответствующий данной ';' есть именно if, хотя, впрочем, это довольно просто оптимизируется. Точка с запятой ещё необходимы для независимости семантики от форматирования: т.е. можно писать:

  if
 <condition>
  then
 <statements>
 ;

а можно, как ты знаешь

  if<condition> then<statements>;

В Бейсике, например, нет ';', там разделителем строк является CRLF (переход строки), что не позволяет делать вышеприведённые выкрутасы, что имхо плохо.


brother   (2007-01-11 05:38:00) [9]

If ... then begin end  
      else  begin end;
почему после первого end ставить ; нельзя?


ors_archangel   (2007-01-11 05:23:00) [10]

Для упрощения синтаксичекого разбора (раз) и для незвасимости семантики от форматирования (два)


Наверх

Титульная страница Поиск, карта сайта Написать письмо