Редактирование: Слово ;
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
[[Файл:CallistoSave.png|thumb|right|264px|Пример работы слова ;]] | |||
''';''' (точка с запятой) — стандартное слово [[Каллисто]]. | ''';''' (точка с запятой) — стандартное слово [[Каллисто]]. | ||
Закончить [[Слово :|определение через двоеточие]]. | |||
== Ввод слова ; == | == Ввод слова ; == | ||
Строка 8: | Строка 8: | ||
== ; в стандарте ANS Forth == | == ; в стандарте ANS Forth == | ||
6.1.0460 ; "semicolon" CORE | 6.1.0460 ; "semicolon" CORE | ||
Интерпретация: Семантика интерпретации для этого слова не определена. | Интерпретация: Семантика интерпретации для этого слова не определена. | ||
Строка 35: | Строка 34: | ||
определить, действительно ли должно быть предпринято какое либо действие, чтобы | определить, действительно ли должно быть предпринято какое либо действие, чтобы | ||
позволить ему быть найденным. | позволить ему быть найденным. | ||
== ; в предыдущем стандарте Forth-83 (англ.) == | |||
; -- C,I,79 "semi-colon" | ; -- C,I,79 "semi-colon" | ||
sys -- (compiling) | sys -- (compiling) | ||
Строка 57: | Строка 45: | ||
return" "9.4 Compilation" | return" "9.4 Compilation" | ||
== ; в стандарте Forth-79 (англ.) == | |||
; I,C,196 "semi-colon" | ; I,C,196 "semi-colon" | ||
Terminate a colon definition and stop compilation. If | Terminate a colon definition and stop compilation. If | ||
Строка 63: | Строка 51: | ||
before encountering ; an error condition exists. | before encountering ; an error condition exists. | ||
== ; в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
; P,C,L0 | ; P,C,L0 | ||
Terminate a colon-definition and stop further compilation. Compiles | Terminate a colon-definition and stop further compilation. Compiles | ||
the run-time ;S. | the run-time ;S. | ||
== | == История == | ||
Слово ; является одним из самых древних сохранившихся слов Форта. | |||
Впервые оно появилось в 1964 году под именем END в программе CURVE (по информации из журнала «Байт» за август 1980 года, стр. 76 она называлась TRANSPORT), написанной Чак Муром на Алголе для Burroughs B5500 ([https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BB%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8%D1%8F_SLAC Национальная ускорительная лаборатория SLAC], [https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%8D%D0%BD%D1%84%D0%BE%D1%80%D0%B4%D1%81%D0%BA%D0%B8%D0%B9_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82 Стэнфордский университет]), где означало остановку интерпретации сохранённого определения. | |||
Вот пример одного из ранних (1970 год) определений слова Чаком Муром для 2К×48бит версии Форта на Burroughs B-5500, которое выглядит, как современное: | |||
: SHIFT -1 @T 0 -3 =T ; | |||
Хотя из {{colorForth}} убрано двоеточие в пользу кодирования определяемого слова красным цветом, слово ; сохранено. | |||
; | |||
== | == Реализация ; == | ||
Юрий Семёнов приводит следующее | Юрий Семёнов приводит следующее описание слова ; (стр. 138): | ||
: ; ?CSP COMPILE EXIT ( завершает описание слова, записав в | : ; ?CSP COMPILE EXIT ( завершает описание слова, записав в | ||
PFA нового слова ссылку на оператор EXIT) | PFA нового слова ссылку на оператор EXIT) | ||
Строка 112: | Строка 76: | ||
IMMEDIATE | IMMEDIATE | ||
В 11-й главе американского [http://www.forth.com/starting-forth/sf11/sf11.html Starting FORTH] ''(англ.)'' слово ; определяется через POSTPONE | |||
Вот это определение: | |||
: ; POSTPONE EXIT SMUDGE POSTPONE [ ; IMMEDIATE | |||
Определение слова ; в ядре ФОРТ-ЕС: | |||
<PRE> | <PRE> | ||
Экран номер 32 | Экран номер 32 | ||
( 31.03.86 CONSTANT VARIABLE 2CONSTANT 2VARIABLE : ; ) | ( 31.03.86 CONSTANT VARIABLE 2CONSTANT 2VARIABLE : ; ) | ||
: ; ( -> ) ?CSP COMPILE EXIT UNSMUDGE [COMPILE] [ ; IMMEDIATE | : ; ( -> ) ?CSP COMPILE EXIT UNSMUDGE [COMPILE] [ ; IMMEDIATE | ||
</PRE> | </PRE> | ||
== Ссылки == | == Ссылки == | ||
* См. [[слово :]] и [[Символ с кодом 59|символ ';']] | * См. [[слово :]] и [[Символ с кодом 59|символ ';']] | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0460 ; (semicolon)] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0460 комментарии к нему] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0460 ; (semicolon)] и [http://forth.sourceforge.net/standard/dpans/dpansa6.htm#A.6.1.0460 комментарии к нему] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/Semi.html ; (semicolon)] и [http://www.forth200x.org/documents/html3/rationale.html#rat:core:; комментарий к нему] в черновике Forth 200x ''(англ.)'' | ||
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\01.OSNOWY%20FORTA ОСНОВЫ ФОРТА] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | * [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\01.OSNOWY%20FORTA ОСНОВЫ ФОРТА] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»] | ||
* [http://www.forth.com/starting-forth/sf1/sf1.html Fundamental Forth] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | * [http://www.forth.com/starting-forth/sf1/sf1.html Fundamental Forth] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | ||
Строка 141: | Строка 102: | ||
[[Категория:Слова высокого уровня]] | [[Категория:Слова высокого уровня]] | ||
[[Категория:Слова с признаком IMMEDIATE]] | [[Категория:Слова с признаком IMMEDIATE]] | ||
[[Категория: | [[Категория:Слова Каллисто без стековых диаграмм]] | ||