Subject: Re: Об отсечениях внутри блока
From: Anton Yu. Orlov (orlov@mccme.ru)
Date: Sun Nov 26 2000 - 10:12:19 MSK
Добрый день!
Я решил привести еще одно соображение в пользу решения, высказанного в
предыдущем письме:
On Sat, 25 Nov 2000, Anton Yu. Orlov wrote:
> На мой взгляд, есть еще третий вариант, который представляется вполне
> разумным. Он состоит в том, что блок всегда характеризуется "глубиной отсечения
> стека" равной 0, но отсекать возвраты в нем все равно можно ;-). Т.е. после
> прохождения блока тропа оказывается на том же уровне, что и до блока,
> независимо от находящихся в нем отсечений. Иначе говоря, всякое отсечение
> действует только до конца текущего предложения (в терминах абстрактного
> синтаксиса; в терминах статьи Сергея Романенко про компиляцию в виртуальный
> код, до конца текущего предложения или текущей тропы). Такая семантика
> совпадает с принятой, в случае, если блок - это последнее действие в
> предложении, и добавляет приятную возможность, в случае неуспеха "выброситься"
> куда-нибудь даже из источника. И "дизайн", вроде бы, достаточно прост для
> написания/понимания программ.
Насколько я понимаю, ровно такую семантику имеют на данный момент
правые части. Т.е. если мы встретили '=', то надо очистить стек
альтернатив, однако, когда текущее предложение будет скомпилировано, надо
будет вспомнить содержимое стека до компиляции блока. Так что вполне
логично так же поступать и с отсечениями.
С уважением,
Антон.
This archive was generated by hypermail 2b25 : Sun Nov 26 2000 - 10:07:04 MSK