Редактирование: (

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 7: Строка 7:


== Ввод слова ( ==
== Ввод слова ( ==
В [[Режим NUM|режиме NUM]] нажмите чёрную клавишу {{ШГ→}}
В [[Режим NUM|режиме NUM]] нажмите чёрную клавишу [[Клавиша ШГ вправо|{{Чёрная клавиша|ШГ→}}]]


== ( в стандарте ANS Forth ==
== ( в стандарте ANS Forth ==
Строка 65: Строка 65:
         colon-definition. A blank after the leading parenthesis is required.
         colon-definition. A blank after the leading parenthesis is required.


== Реализация ==
== Реализация ( ==
<pre>
3417 ;#p
3418 ; (             I ( −− )                              Комментарий. Игнорировать входные литеры до закрывающей круглой скобки.
3419 ; Комментарий. Игнорировать всё до первой встречной ")" или конца строки (терминал) / экрана (интерпретация блока).
3420 LPAREN:        .DB    81H
3421                .TEXT  "("
3422                .DW    LVOCAB
3423 PAREN:          .DW CALL, LITB
3424                .DB 41                          ; ")"
3425                .DW WORD, DROP, EXIT
</pre>
Реализации из SP-Forth 4.20:
<pre>
: (  ( "ccc<paren>" -- ) \ 94 FILE
\ Расширить семантику CORE (, включив:
\ Когда разбирается текстовый файл, если конец разбираемой области достигнут
\ раньше, чем найдена правая скобка, снова заполнить входной буфер следующей
\ строкой из файла, установить >IN в ноль и продолжать разбор, повторяя
\ этот процесс до тех пор, пока не будет найдена правая скобка или не
\ будет достигнут конец файла.
  BEGIN
    [CHAR] ) DUP PARSE + C@ = 0=
  WHILE
    REFILL 0= IF EXIT THEN
  REPEAT
; IMMEDIATE
</pre>
<pre>
: ( [COMPILE] ( ; IMMEDIATE
</pre>
 
=== Советская реализация ===
В Thinking FORTH (стр. 169, "More Tips for Readability") приводится такая реализация слова ( :
В Thinking FORTH (стр. 169, "More Tips for Readability") приводится такая реализация слова ( :
  : (  ')' WORD DROP ; IMMEDIATE
  : (  ')' WORD DROP ; IMMEDIATE
Строка 119: Строка 87:
== Ссылки ==
== Ссылки ==
* {{Исходник|p|(}}
* {{Исходник|p|(}}
* См. также слова Каллисто [[Слово \|\]] и [[\S]]
* См. также слова Каллисто [[Слово \|\]] , [[\S]] и [[−−⟩]]
* [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0080 Слово ( (paren) в стандарте ANS Forth] ''(англ.)'' и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0080 комментарий к нему] ''(англ.)''
* [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0080 Слово ( (paren) в стандарте ANS Forth] ''(англ.)'' и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0080 комментарий к нему] ''(англ.)''
* Слово [http://forth-standard.org/standard/core/p ( (paren)] и [http://forth-standard.org/standard/rationale#rat:core:p комментарий к нему] в черновике Forth 200x ''(англ.)''
* Слово [http://forth-standard.org/standard/core/p ( (paren)] и [http://forth-standard.org/standard/rationale#rat:core:p комментарий к нему] в черновике Forth 200x ''(англ.)''
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)
Источник — https://pmk.the-hacker.ru/(