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

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

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

Текущая версия Ваш текст
Строка 4: Строка 4:
Слово '''ACCEPT''' осуществляет такой же ввод строки, как вы вводите команды при диалоге [[Каллисто]]. Для редактирования служит [[Клавиша Сx|клавиша {{Красная клавиша|BS}}]] (удалить последний введённый символ) и комбинация клавиш [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша Сx|{{Красная клавиша|BS}}]] (удалить все введённые символы).
Слово '''ACCEPT''' осуществляет такой же ввод строки, как вы вводите команды при диалоге [[Каллисто]]. Для редактирования служит [[Клавиша Сx|клавиша {{Красная клавиша|BS}}]] (удалить последний введённый символ) и комбинация клавиш [[Клавиша F|{{Оранжевая клавиша|F}}]] [[Клавиша Сx|{{Красная клавиша|BS}}]] (удалить все введённые символы).


Ввод завершается [[Клавиша Ввод|клавишей {{Синяя клавиша|Ввод}}]]. Курсор уберётся с индикатора, оставшись сразу после последнего введённого символа. При этом введённая строка располагается в памяти, начиная с [[Единое адресное пространство|адреса]] a. В [[Стек данных|стек]] заносится u2 — число реально введённых символов. Слово '''ACCEPT''' не позволит ввести больше символов, чем u1.
Ввод завершается [[Клавиша Ввод|клавишей {{Синяя клавиша|Ввод}}]]. Курсор уберётся с индикатора, оставшись сразу после последнего введённого символа. При этом введённая строка располагается в памяти, начиная с [[Единое адресное пространство|адреса]] a. В [[Стек данных|стек]] заносится u2 — число реально введённых символов. Слово '''ACCEPT''' не позволит ввести большее символов, чем u1.


== Ввод слова ACCEPT ==
== Ввод слова ACCEPT ==
Строка 154: Строка 154:
1267                RTN
1267                RTN
</pre>
</pre>
Реализация из SP-Forth 4.20:
<pre>
VECT ACCEPT
: ACCEPT1 ( c-addr +n1 -- +n2 ) \ 94
\ Ввести строку максимальной длины до +n1 символов.
\ Исключительная ситуация возникает, если +n1 0 или больше 32767.
\ Отображать символы по мере ввода.
\ Ввод прерывается, когда получен символ "конец строки".
\ Ничего не добавляется в строку.
\ +n2 - длина строки, записанной по адресу c-addr.
  OVER SWAP
  H-STDIN READ-LINE
 
  DUP 109 = IF DROP -1002 THEN THROW ( ~ruv)
  0= IF -1002 THROW THEN ( ~ac)
 
  TUCK TO-LOG
  EOLN TO-LOG \ Если ввод с user-device записать cr в лог, то есть нажали Enter
;
' ACCEPT1 ' ACCEPT TC-VECT!
</pre>
=== Советская реализация EXPECT ===
=== Советская реализация EXPECT ===
Юрий Семёнов приводит следующее описание слова EXPECT через цикл DO (стр. 65-66):
Юрий Семёнов приводит следующее описание слова EXPECT через цикл DO (стр. 65-66):
Строка 221: Строка 197:
</PRE>
</PRE>


В FORTH ИТЭФ слово EXPECT также было [[примитив]]ом, обёрткой вокруг соответствующей функции DOS. Вот его определение:
В FORTH ИТЭФ слово EXPECT также было [[примитив]]ом, вот его определение:
<PRE>
<PRE>


Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

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

Отменить Справка по редактированию (в новом окне)