Здравствуйте, igna, Вы писали:
I>Изобретателям языков программирования (которые судя по теме именованые циклыАвтор: ДимДимыч
Дата: 20.02.07
здесь есть).
I>Как-то, написав цикл с выходом из середины, я обратил внимание, что если в грамматике правило
I>I> do statement while ( expression ) ;
I>
I>заменить на
I>I> do statement while ( expression ) statement
I>
I>, то можно будет писать
I>I> do
I> f();
I> while (g())
I> h();
I>
I>вместо
I>I> for (;;) {
I> f();
I> if (!g())
I> break;
I> h();
I> }
I>
I>Я бы с удовольствием пользовался этой возможностью в любом языке.
Да, но если у нас в таком языке есть while(expr) stmt и do stmt while(stmt), наряду с указаной вами грамматикой, то она является неоднозначной, что при построении компилятора, как мне кажется, не есть хорошо.