Определение П1.31. Синтаксис конструктора defclass
(defclass <имя-класса> [<комментарии>] (is-a <список-суперклассов>+) [<роль-класса>] [<активность~класса >] <слот>* <объявление-обработчика-сообщений>*) <роль-класса>::= (role concrete | abstract) <активность-класса>::= (pattern-match reactive I non-reactive) <слот>::= (slot <имя> <грани>*) | (single-slot <имя> <грани>*) | <грань>::= < значение-по-умолчанию > | <грань-хранения> |<грань-доступа> | <грань-распространения> │ <грань-источника> │ <грань-сопоставления-образцов> | <грань-видимости> | <грань-создания-аксессоров> | <грань-переопределения-сообщений> | <ограничения-атрибутов> <значение-по-умолчанию>::=(default?DERIVE |?NONE | <выражение>*) | (default-dynamic <выражение>*) <грань-хранения>::=(storage local | shared) <грань-доступа>::=(access read-write | read-only │initialize-only) <грань-распространения>::=(propagation inherit │ no-inherit) <грань-источника>::=(source exclusive | composite) <грань-сопоставления-образцов>::=(pattern-match reactive | non-reactive) <грань-видимости>::=(visibility private │ public) <грань-создания-аксессоров>::=(create-accessor?NONE | read | write| read – write) <грань-переопределения-сообщений>::=(override-message ?DEFAULT | <имя-сообщения>) <объявление-обработчика-сообщений>::=(message-handler <имя-обработчика> [тип-обработчика]) < тип-обработчика >::= primary │around│before│after
Определение П 1.32. Синтаксис конструктора defmessage-handler
defmessage-handler <имя-класса> <имя-сообщения> [<тип-обработчика>] [<комментарии>] (<обязательные-параметры> [<групповой-параметр>]) <действия>) < тип-обработчика >::= around│before│ primary │after <обязательный-параметр>::=<простое-значение> <групповой-параметр>::=<составное-значение> Определение П 1.33. Синтаксис системных обработчиков класса user
(defmessage-handler USER init primary ()) (defmessage-handler USER delete primary ()) (defmessage-handler USER print primary ()) (defmessage-handler USER direct-modify primary (?slot-override-expressions)) (defmessage-handler USER message-modify primary (?slot-override-expressions) (defmessage-handler USER direct-duplicate primary (?new-instance-name?slot-override-expressions)) (defmessage-handler USER message-duplicate primary (?new-instance-name?slot-override-expressions) Определение П 1.34. Синтаксис конструктора def instances (definstances <имя> [active] [<комментарии>] <шаблоны-объектов>) <шаблон-объекта>::= (<определение-объекта>) Определение П 1.35. Синтаксис предопределенного класса и экземпляра этого класса (defclass INITIAL-OBJECT (is-a USER) (role concrete) (pattern-match reactive)) (definstances initial-object (initial-object of INITIAL-OBJECT)) Определение П 1.36. Синтаксис шаблона набора объектов
<шаблон-набора-объектов>::= (<члены-шаблона-наборов-объекта>) <член-шаблона-наборов-объекта>::=(<переменная-набора-объектов> <ограничения-классов>) <переменная-набора-объектов>::= <простая-переменная> <ограничения-классов>::= <имена-классов> Определение П 1.37. Синтаксис запроса <запрос>::= (<логическое-выражение>) Определение П1.38. Синтаксис обращения к переменным <переменная-набора-объектов>:<имя-слота>
Определение П 1.39. Синтаксис определения действия <действие>:: = <функция> Определение П1.40. Синтаксис функции any-instancep (any-instancep <шаблон-набора-объектов> <запрос>) Определение П1.41. Синтаксис функции find-instance (find-instance <шаблон-набора-объектов> <запрос>) Определение П 1.42. Синтаксис функции find-all-instance (find-all-instance <шаблон-набора-объектов> <запрос>) Определение П 1.43. Синтаксис функции do-for-instance (do-for-instance <шаблон-набора-объектов> <запрос> <действие>) Определение П 1.44. Синтаксис функции do-for-all-instance (do-for-all-instanco <шаблон-набора-объектов> <запрос> <действие>)
|