Редактирование:
TO
(раздел)
Перейти к навигации
Перейти к поиску
Внимание:
Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте
или
создадите учётную запись
, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Анти-спам проверка.
Не
заполняйте это!
== Реализация == В [[Каллисто|Каллисто 1.0]] предусмотрена возможность самостоятельной разработки порождающих слов, использующих стандартное слово TO, без перекомпиляции транслятора. Реализация такой возможности в стандартную поставку не включена. Разработчикам предоставлена возможность самостоятельно продумать удобный синтаксис для таких порождающих слов и реализовать его. <pre> 3342 ;#TO 3343 ; TO I ( x −− ) Записать x в десятичную величину или переменную действия. 3344 LTO: .DB 82H 3345 .TEXT "TO" ; ( x "<пр>имя" −− ) 3346 .DW LBCOM 3347 TO: .DW CALL, BL,WORD, FIND, ZEQU, ZERO,QERR, DROP, N2PFA, TWOP 3348 .DW STATE,UAT, ZBRAN,TO1, COMMA, EXIT 3349 TO1: .DW EXEC, EXIT </pre> Реализации из SP-Forth 4.20: <pre> : (TO) ALSO TC-WL ' 9 + STATE @ IF COMPILE, ELSE [ ALSO TC ] EXECUTE [ PREVIOUS ] THEN PREVIOUS ; IMMEDIATE </pre> <pre> : TO ALSO TC-WL [COMPILE] TO PREVIOUS ; IMMEDIATE </pre> <pre> 0 VALUE TOVALUE-CODE … : TO \ 94 CORE EXT \ Интерпретация: ( x "<spaces>name" -- ) \ Пропустить ведущие пробелы и выделить name, ограниченное пробелом. \ Записать x в name. Неопределенная ситуация возникает, если name не \ определено через VALUE. \ Компиляция: ( "<spaces>name" -- ) \ Пропустить ведущие пробелы и выделить name, ограниченное пробелом. \ Добавить семантику времени выполнения, данную ниже, к текущему определению. \ Неопределенная ситуация возникает, если name не определено через VALUE. \ Время выполнения: ( x -- ) \ Записать x в name. \ Примечание: Неопределенная ситуация возникает, если POSTPONE или [COMPILE] \ применяются к TO. ' 9 + STATE @ IF COMPILE, ELSE EXECUTE THEN ; IMMEDIATE </pre> === Советская реализация === У Баранова-Ноздрунова приводится следующее описание слова TO (стр. 97): : TO ' 2+ STATE @ IF , ELSE EXECUTE THEN ; IMMEDIATE
Описание изменений:
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см.
Pmkwiki:Авторские права
).
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!
В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:
Отменить
Справка по редактированию
(в новом окне)
Навигация
Персональные инструменты
Вы не представились системе
Обсуждение
Вклад
Создать учётную запись
Войти
Пространства имён
Статья
Обсуждение
русский
Просмотры
Читать
Править
История
Ещё
Поиск
Навигация
Заглавная страница
Свежие правки
Случайная страница
Справка по MediaWiki
Инструменты
Ссылки сюда
Связанные правки
Служебные страницы
Сведения о странице