Стандартный словарь Forth

Стандартный словарь Forth

Содержание

Определения

  • CONSTANT ( N — ) CREATE , DOES> @ ; \ runtime: ( -- N )
  • VARIABLE ( — ) CREATE 0 , DOES> ; \ runtime: ( -- addr )

Операции

Арифметические

+ (n1 n2 — сумма) сумма = n1 + n2 Сложение.
- (n1 n2 — разность) Вычитание (n1-n2) .
* (n1 n2 — произведение) Умножение.
/ (n1 n2 — частное) Деление. Частное = (n1/n2).
MOD (u1 u2 — n-остаток) Деление. В стек заносится остаток от деления.
/MOD (u1 u2 — n остаток n частное) Деление. В стек заносятся остаток и частное.

Операции со стеком

  • SWAP (n1 n2 — n2 n1) Перестановка двух верхних элементов стека.
  • DUP (n — n n) Дублирование верхнего элемента стека.
  • OVER (n1 n2 — n1 n2 n1) Копирование второго элемента и размещение копии в вершине стека.
  • ROT (n1 n2 n3 — n2 n3 n1) Размещение третьего элемента в вершине стека.
  • DROP (n —) Удаление из стека верхнего элемента.
  • 2SWAP (d1 d2 — d2 d1) Перестановка двух верхних пар чисел.
  • 2DUP (d — d d) Дублирование пары чисел, находящейся в вершине стека.
  • 2OVER (d1 d2 — d1 d2 d1) Копирование второй пары чисел и размещение копии в вершине стека.
  • 2DROP (d —) Удаление из стека


  •  : ххх уyу ; ( —) Определение нового слова с именем ххх, состоящее из слова или слов ууу.
  • CR ( —) Возврат каретки и перевод строки.
  • SPACES (n —) Вывод заданного числа пробелов.
  • SPACE ( —) Вывод одного пробела.
  • ЕMIТ (с —) Вывод символа.
  • ." ххх" ( —) Вывод строки символов ххх. Символ " является признаком конца строки.
  • + (nl n2 — сумма) Суммирование.
  • . (n —) Вывод числа, за которым следует один пробел.
  • (xхх) ( —) Комментарий, который текстовым интерпретатором не воспринимается. Символ) является ограничителем.
  • FORGET имя ( —) С помощью этого слова мы забываем (удаляем иа словаря) указанное слово и все слова, внесенные в словарь после него.
  • LIST (n —) Вывод на экран дискового блока.
  • LOAD (n —) Загрузка дискового блока (компиляция или выполнение) . Блок 0 обычно загружен быть не может.
  • FLUSH ( —) Запись всех обновленных дисковых буферов на диск, после чего освобождение этих буферов.
  • \ ( —) Пропуск оставшегося текста данной строки.
  • \S ( —) Пропуск оставшегося текста экрана.
  • THRU (нач кон —) Загрузка всех блоков с номерами из диапазона от нач до кон
  • .(текст) ( —) Вывод текста сообщения, ограниченного правой круглой скобкой. Используется, как правило, за пределами определения через двоеточие.
  • THRIAD (n —) Вывод трех блоков с номерами, включающими n, начиная с номера, делящегося без остатка на 3.
  • SHOW (нач кон —) Вывод блоков с номерами из диапазона от нач до кон по три блока.
  • INDEX (нач кон --) Вывод комментария только для блоков, номера которых входят в диапазон от нач. до кон.
  • LOCATE xxx ( —) или VIEW Вывод содержимого блока, иэ которого было загружено определение слова ххх.

Команды редактирования — работа со строками

  • Т (n —) Вывод заданной строки.
  • Р ( —) Рьь или Р XXX Копирование заданного фрагмента, еcли есть, в буфер вставок, после чего помещение копии буфера вставок в текущую строку.
  • U ( —) Uьь или U ххх Копирование заданной строки, если есть, в буфер вставок после чего помещение копии буфера вставок в строку, следующую за текущей.
  • G (блок строка) Копирование заданной строки и помещение ее в строку перед текущей, со сдвигом текущей и всех последующих строк вниз.
  • BRING (блок нач кон) Получение строк в указанном диапазоне.
  • X ( —) Копирование текущей строки в буфер вставок и извлечение этой строки из блока.
  • F или ( —) F ххх Копирование указанной строки, если заданы, в буфер поиска, после чего поиск данной строки в текущем блоке.
  • S или S xxx (n —) или (n — n) Копирование указанной строки, если задана, в буфер поиска, после чего просмотр блоков от текущего до n-ного в поисках указанной строки. Если строка найдена, на стек помещается номер последнего просмотренного блока.
  • E ( —) Используется следом за F. Удаляется столько символов перед курсором, сколько их в данный момент находится в буфере поиска.
  • I> или Б ххх ( —) Копирование указанной строки, если задана, в буфер поиска, поиск очередного вхождения этого фрагмента в текущей строке и удаление его.
  • TILL или TILL xxx ( —) Копирование указанной строки, если задана, в буфер поиска, после чего удаление всех символов, начиная от курсора и заканчивая последним символом заданной строки.
  • I или I XXX ( —) Копирование указанного фрагмента, если задан, в буфер вставок, после чего помещение содержимого буфера вставок сразу же после курсора.
  • R или R xxx ( —) Объединяются команды Е и I. Замещение найденного фрагмента заданным фрагментом или содержимым буфер вставок.
  • ^ ( —) Отметка конца текста, помещаемого в буфер.
  • .R (u ширина-поля —)Вывод числа одинарной точности без знакa. Число выровнено справа по границе поля.
  • PAGE ( —) Чистка экрана дисплея и установка курсора в верхний левый угол.
  • QUIT ( —) Завершение выполнения текущей задачи и возврат управления на терминал.

Комбинированные команды редактировании WIPE ( —) Заполнение текущего блока пробелами. L ( —)

Циклы

  • DO … LOOP Организация цикла со счетчиком по заданному диапазону индексов.
    • DO: (граница индекс —)
    • LOOP: ( —)
  • DO … +LOOP Аналогично DO … LOOP . Только к индексу на каждом шаге добавляется значение
    • DO: (граница индекс —)
    • +LOOP: (n —) (при n = 1 превращается в вариант DO LOOP).
  • LEAVE ( —) Немедленное завершение выполнения цикла LOOP или +LOOP. (Используетея только внутри цикла.)
  • BEGIN … UNTIL Организация цикла с условием, который завершается, когда ? принимает значение истина.
    • UNTIL: (? —)
  • BEGIN ххх WHILE yyy REPEAT Организация цикла с условием, причем ххх выполняется всегда, а ууу — только если ? истинно.
    • WHILE: (? —)

Вывод содержимого текущего блока

  • N ( —) Делается текущим следующий блок.
  • В ( —) Делается текущим предыдущий блок.
  • COPY (откуда куда —) Копирование содержимое одного блока в другой.
  • К ( —) Меняются местами содержимое буфера поиска и буфера вставок.

Числа

  • число. представление числа в 16 битном представлении, например 2000.
  • 123456789X число выводимое системой с ар. процессором в виде числа с двойной длиной
  • D. (d —) Печать числа двойной длины со знаком.
  • U. (u —) Вывод числа одинарной длины без знака с одним пробелом после него.
  • UD. предназначено для вывода числа двойной длины без знака
  • TYPE| align="center" |печать
  • SIGN должно располагаться внутри выражения форматного вывода, вставляет знак «-» в строку символов лишь в том случае, если верхний символ в стеке является отрицательным

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

  • BS Возврат назад на одну позицию («забой») 8
  • LF Перевод строки 10
  • CR Возврат каретки 13

Переменные

  • VARIABLE ххх ( —) Создание переменной с именем ххх.
    • ххх ( — а) Слово ххх при выполнении помещает в стек свой адрес.
  •  ! (n а --) Запоминание числа одинарной длины по заданному адресу.
  • @ (a — n) Замещение адреса его содержимым.
  •  ? (а --) Вывод значения по заданному адресу с последующим пробелом.
  • +! (n а --) Сложение числа одинарной длины с содержимым заданного адреса.
  • 2VARIABLE xxx ( —) Создание переменной двойной длины
    • ххх: ( — a) с именем ххх. Слово ххх при выполнении помещает на стек свой адрес.
  • 2CONSTANT ххх (d —) Создает константу двойной длины с именем ххх и значением d.
    • ххх: ( — d) Слово ххх при выполнении помещает в стек значение d.
  • 2! (d а —) Запоминание числа двойной длины по заданному адресу.
  • 2@ (а — d) Занесение в стек числа двойной длины, расположенного по заданному адресу.

Виды переменных

  • n — число со знаком;
  • +n — неотрицательное число;
  • u — беззнаковое число;
  • d — число со знаком двойной длины;
  • +d — неотрицательное число двойной длины;
  • ud — беззнаковое число двойной длины;
  • c — символ;
  • a — адрес в памяти;
  • c-addr — строка (символьно-выровненный адрес).

Список компиляторов

Литература


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Стандартный словарь Forth" в других словарях:

  • Forth — Семантика: императивный Тип исполнения: интерпретатор/компилятор Появился в: 1971 г. Автор(ы): Чарльз Х. Мур Основные реализации: gForth, pForth, kForth, SP Forth[1], win32forth …   Википедия

  • Форт (язык программирования) — У этого термина существуют и другие значения, см. Форт (значения). Forth Семантика: императивный Тип исполнения: интерпретатор/компилятор Появился в: 1971 Автор(ы): Чарльз Х. Мур Основные реализации …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»