![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
никогда не задумывался о...
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]Для упрощения синтаксичекого разбора (раз) и для незвасимости семантики от форматирования (два)