OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 23 Февраль, 2024 00:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 04 Декабрь, 2023 01:44 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1156
если у кого-нибудь есть ссылка (не paywall ;-) на статью, где Parnas описывает что-то типа:
Код:
IT
  IF cond DO … CONTINUE
  IF cond DO … BREAK
  …и так далее…
TI

то поделитесь, пожалуйста. я очень-очень смутно помню, что у него было нечто подобное, но даже толком названия не могу вспомнить. мне очень нравится эта конструкция, она легко заменяет все циклы и выборки, но часть с `BREAK` меня очень смущает. без неё это обычный цикл Дейкстры (с опциональным прологом и эпилогом); а с брык-частью всё ломается. с другой стороны — конструкция очень красивая, а красивое не может быть плохим. ;-)

так что мне бы оригинальную статью (там, вроде бы, было обоснование), и если есть критика — то и критику бы тоже. а то у меня что-то мозг не работает самому критику сделать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 04 Декабрь, 2023 11:35 
Аватара пользователя

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 113
Откуда: Equestria
Вот что нашел. Там еще ссылается на "An alternative control structure and its formal definition", но её не нашел.

UPD: тут погляди эти статьи, там у каждой статьи есть списки референсов, может найдёшь критику или улучшения.


Вложения:
Комментарий к файлу: David Parnas - On Iterative Constructs
77606.214517.pdf [224.47 КБ]
Скачиваний: 36
Комментарий к файлу: David Parnas - A generalized control structure and its formal definition
358161.358168.pdf [1.07 МБ]
Скачиваний: 34
Комментарий к файлу: Ed Anson - A generalized iterative construct and its semantics
29873.30391.pdf [1.14 МБ]
Скачиваний: 35
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 04 Декабрь, 2023 23:40 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1156
спасибо большое, ща посмотрю!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 04 Декабрь, 2023 23:55 

Зарегистрирован: Пятница, 11 Январь, 2019 19:26
Сообщения: 293
Откуда: Russia
похоже на цикл паук


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Декабрь, 2023 00:55 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1156
ага, оно. я, как обычно, забыл две важных части. во-первых, традиционный трап, когда все стражи ушли на обед. и во-вторых, то, что в обобщённом случае предполагается недетерминированый порядок выбора веток, как и в цикле Дейкстры; детерминизм же — случай частный, и особенность реализации. плюс удобный предикат `init`. в таком виде оно заодно решает проблему с копипастой перед первой итерацией.

в общем, вижу смысл потом переработать компилятор на категорическое использование только этой штуки, а остальные циклы внутри выражать через неё (для совместимости исходников). собственно, при таких раскладах цикл LOOP вообще можно из ультрапаскаля выкинуть, оставив его лишь в режиме совместимости с CP.

p.s.: шоп я сходу понял доказательства — так нет: как-нибудь потом вникну. пока приму на веру, что Парнас прав.

p.p.s.: опять синтаксис придумывать…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 05 Декабрь, 2023 01:02 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1156
кстати, оно просто идеально ложится на Forth. в статье стражи идут перед телом компонента… прямо как в форте и было всегда.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB