Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по языку ФРЛ.doc
Скачиваний:
53
Добавлен:
28.06.2014
Размер:
324.61 Кб
Скачать

7. Предикаты mfrl/pc

╒══════════════════════╤═════════════════════════════════════╕

│ Синтаксис │ Семантика │

╞══════════════════════╪═════════════════════════════════════╡

│ (FACTIV? f) │ Результат - T, если фрейм f нахо- │

│ │ дится в оперативной памяти. Иначе - │

│ │ nil. │

├──────────────────────┼─────────────────────────────────────┤

│ (PACTIV? pn) │ Результат - T, если процедура pn │

│ │ находится в оперативной памяти. │

│ │ Иначе - nil │

├──────────────────────┼─────────────────────────────────────┤

│ (FRAME? f) │ Результат - фрейм-структура фрей- │

│ │ ма f, если этот фрейм находится в │

│ │ оперативной памяти или открытом │

│ │ разделе ВБО. Иначе - nil │

├──────────────────────┼─────────────────────────────────────┤

│ (DNAME? q) │ Имя дескриптора q, если q являет- │

│ │ ся дескриптором в оперативной памя- │

│ │ ти или в базе объектов (в этом слу- │

│ │ чае он загружается в оперативную │

│ │ память). (CAR q), если q - список. │

│ │ В противном случае NIL. │

├──────────────────────┼─────────────────────────────────────┤

│ (AKO? f1 fN) │ Возвращает список имен фреймов │

│ │ вида (f1 ... fN), где f2 является │

│ │ AKO-прототипом для f1, f3 является │

- 37 -

│ │ AKO-прототипом для f2 и т.д. Если │

│ │ такой список построить не удается, │

│ │ то результат NIL. │

├──────────────────────┼─────────────────────────────────────┤

│ (INSTANCE? f1 fN) │ Аналогично AKO?, но вместо │

│ │ AKO-прототипов берутся INSTANCE-эк- │

│ │ земпляры. │

├──────────────────────┼─────────────────────────────────────┤

│ (FLINK? f1 fN : s) │ Возвращает список имен фреймов │

│ │ вида (f1 ... fN), где f1 непосредс- │

│ │ твенно связан связью s с f2, f2 не- │

│ │ посредственно связан связью s с f3 │

│ │ и т.д. По умолчанию s=AKO. Если та- │

│ │ кой список построить не удается, то │

│ │ результат NIL. │

├──────────────────────┼─────────────────────────────────────┤

│ (ISA? f1 fn : s) │ То же, что и FLINK?, но связи s │

│ │ могут наследоваться. │

├──────────────────────┼─────────────────────────────────────┤

│ (TOPIC? f1 f2 : s) │ Если существует такой фрейм fx, │

│ │ что (FLINK? f1 fx s) & (FLINK? f2 │

│ │ fx s), то возвращает (FLINK? f2 fx │

│ │ s). │

├──────────────────────┼─────────────────────────────────────┤

│ (FCOMMENT? d l m*) │ Возвращает данное d, если оно со- │

│ │ держит комментарий с меткой l и со- │

│ │ общениями m*. │

├──────────────────────┼─────────────────────────────────────┤

│ (FCHECK? f s : d) │ Возвращает T, если данное d удов- │

│ │ летворяет условиям, которые насле- │

│ │ дуются из фрейма f, слота s, аспек- │

│ │ та $REQUIRE. По умолчанию берется │

│ │ данное из фрейма f, слота s, аспек- │

│ │ та $VALUE. │

├──────────────────────┼─────────────────────────────────────┤

│ (FMATCH? f q) │ Возвращает T, если фрейм f сопос- │

│ │ тавим с дескриптором q. Формируются │

│ │ также глобальные переменные │

│ │ *MATCHED* и *UNMATCHED* │

╘══════════════════════╧═════════════════════════════════════╛