Определение П1.30. Синтаксис конструктора defmethod

(defmethod <имя-функции>

[<индекс>]

[<комментарии>]

(<ограничения-параметра>*

[<групповой-параметр>])

<действие>*)

<ограничения-параметров>::= <простая-переменная> │

(<простая-переменная>

<ограничение-по-типу>*

[<ограничение-по-запросу>])

<групповой-параметр>::= <составная-переменная> │

(<составная-переменная>

<ограничение-по-типу>*

[<ограничение-по-запросу >])

<ограничение-по-типу>::= <имя-класса>

<ограничение-по-запросу>::= <глобальная-переменная> |

<вызов-функции>

Определение П1.31. Синтаксис конструктора defclass

(defclass <имя-класса> [<комментарии>]

(is-a <список-суперклассов>+)

[<роль-класса>]

[<активность~класса >]

<слот>*

<объявление-обработчика-сообщений>*)

<роль-класса>::= (role concrete | abstract)

<активность-класса>::= (pattern-match reactive I non-reactive)

<слот>::= (slot <имя> <грани>*) |

(single-slot <имя> <грани>*) |
(multislot <имя> <грани>*)

<грань>::= < значение-по-умолчанию > |

<грань-хранения> |<грань-доступа> |

<грань-распространения> │

<грань-источника> │

<грань-сопоставления-образцов> |

<грань-видимости> |

<грань-создания-аксессоров> |

<грань-переопределения-сообщений> |

<ограничения-атрибутов>

<значение-по-умолчанию>::=(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

<обязательный-параметр>::=<простое-значение>

<групповой-параметр>::=<составное-значение>


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: