Редактирование:
⟨BUILDS
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== История == В Форте-79 конструкция <BUILDS…[[DOES⟩|DOES>]] была вытеснена [[CREATE]]…[[DOES⟩|DOES>]] — которая трудно реализуема на [[МК-161]] из-за фон-Неймановской архитектуры последней. В [[Каллисто]] используется первоначальный вариант <BUILDS…[[DOES⟩|DOES>]]. Основное отличие <BUILDS…[[DOES⟩|DOES>]] в том, что [[поле кода]] создаваемого слова займёт две [[Ячейка (Каллисто)|ячейки]], а не одну. В большинстве случаев при переносе на [[Каллисто]] конструкции [[CREATE]]…[[DOES⟩|DOES>]] достаточно просто заменить в ней слово [[CREATE]] на <BUILDS Если слово [[CREATE]] употребляется отдельно, менять его не нужно. Различие здесь в реализации слова [[DOES⟩|DOES>]], которому в [[Каллисто]] приходится выполнять немного другие действия, требующие отдельного слова <BUILDS === <BUILDS в предыдущем стандарте Forth-83 (англ.) === <BUILDS -- C,M "builds" Used in conjunction with DOES> in defining words, in the form: : <namex> ... <BUILDS ... DOES> ... ; and then <namex> <name> When <namex> executes, <BUILDS creates a dictionary entry for the new <name>. The sequence of words between <BUILDS and DOES> established a parameter field for <name>. When <name> is later executed, the sequence of words following DOES> will be executed, with the parameter field address of <name> on the data stack. === <BUILDS в стандарте Forth-79 (англ.) === <BUILDS C "builds" Used in conjunction with DOES> in defining words, in the form: : <name> . . . <BUILDS . . . DOES> ... ; and then <name> <namex> When <name> executes, <BUILDS creates a dictionary entry for the new <namex>. The sequence of words between <BUILDS and DOES> established a parameter field for <namex>. When <namex> is later executed, the sequence of words following DOES> will be executed, with the parameter field address of <namex> on the data stack. === <BUILDS в fig-FORTH Release 1 glossary, май 1979 (англ.) === <BUILDS C,L0 Used within a colon-definition: : cccc <BUILDS ... DOES> ... ; Each time cccc is executed, <BUILDS defines a new word with a high-level execution proceedure. Executing cccc in the form: cccc nnnn uses <BUILDS to create a dictionary entry for nnnn with a call to the DOES> part for nnnn. When nnnn is later executed, it has the address of its parameter area on the stack and executes the words after DOES> in cccc. <BUILDS and DOES> allow runtime proceedures to written in high-level rather than in assembler code (as required by ;CODE).
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице