OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 01:06

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




Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: Понедельник, 01 Февраль, 2016 23:13 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
http://oberoncore.ru/_media/projects/bb ... deltas.pdf
Цитата:
Ожидаемая логика по постусловию цикла:
1) done — один из фильтров выдал mod (результат получен, ничего не делать);
2) ~done & LegalName(name) — все фильтры отработали в холостую, имя "стандартное" — получить mod "стандартным" способом;
3) ~done & ~LegalName(name) — все фильтры отработали в холостую, имя "не стандартное" — "сбросить" mod.

Ошибка её выражения в Meta.Lookup приводит к тому, что (1) отрабатывает как (3).


Исправление:
Код:
PROCEDURE Lookup* (IN name: ARRAY OF CHAR; OUT mod: Item);
      VAR m: Kernel.Module; done: BOOLEAN; filter: FilterHook;
   BEGIN
      done := FALSE; filter := filterHook;
      WHILE ~done & (filter # NIL) DO filter.filter(name, mod, done); filter := filter.next END;
      IF done THEN
      ELSIF LegalName(name) THEN
         …
      ELSE SetUndef(mod)
      END
   END Lookup;


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 

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


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

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


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

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