manometri.ru -

купить или арендовать online
+7 (495) 545-21-33 support@site.su
  • Домены совпадающие с manometri
  • Покупка
  • Аренда
  • manometri.ru
  • 100 000
  • 1 000
  • Домены с транслитом, содержащими manometri
  • Покупка
  • Аренда
  • manometry.ru
  • 100 000
  • 1 000
  • Домены с переводом manometr
  • Покупка
  • Аренда
  • монометры.рф
  • 100 000
  • 1 000
  • Домены с транслитом manometr
  • Покупка
  • Аренда
  • матчик.рф
  • 70 000
  • 700
  • монометр.рф
  • 150 000
  • 1 500
  • сортаменты.рф
  • 50 000
  • 500
  • Рекомендуемые домены
  • Покупка
  • Аренда
  • 5000.рф
  • 100 000
  • 1 000
  • boxes.su
  • 15 000
  • 150
  • texts.su
  • 60 000
  • 600
  • work.ru
  • договорная
  • договорная
  • work.su
  • 20 000
  • 200
  • авиа.su
  • 51 668
  • 517
  • авиа.рф
  • 900 000
  • 9 000
  • авиалиния.рф
  • 100 000
  • 1 000
  • автономные.рф
  • 50 000
  • 500
  • адмирал.su
  • 20 000
  • 200
  • азией.рф
  • 70 000
  • 700
  • аид.рф
  • 70 000
  • 700
  • актуальное.рф
  • 70 000
  • 700
  • алмаз.su
  • 60 000
  • 600
  • алмазы.рф
  • 1 500 000
  • 15 000
  • альтернативная.рф
  • 70 000
  • 700
  • альтернативное.рф
  • 70 000
  • 700
  • альтернативные.рф
  • 50 000
  • 500
  • альтернативный.рф
  • 50 000
  • 500
  • алюминий.su
  • 35 000
  • 350
  • аналитическое.рф
  • 70 000
  • 700
  • ангина.рф
  • 100 000
  • 1 000
  • ангины.рф
  • 50 000
  • 500
  • ассортимент.su
  • 35 000
  • 350
  • ассоциация.рф
  • 150 000
  • 1 500
  • атмосфера.su
  • 20 000
  • 200
  • аттестат.рф
  • 450 000
  • 4 500
  • аттестации.рф
  • 250 000
  • 2 500
  • аттракционы.su
  • 20 000
  • 200
  • африкой.рф
  • 70 000
  • 700
  • барабан.su
  • 20 000
  • 200
  • беда.рф
  • 200 000
  • 2 000
  • безумно.рф
  • 70 000
  • 700
  • безумные.рф
  • 70 000
  • 700
  • безумный.рф
  • 50 000
  • 500
  • бет.рф
  • 70 000
  • 700
  • бета.рф
  • 200 000
  • 2 000
  • биологический.рф
  • 50 000
  • 500
  • блузки.рф
  • 400 000
  • 4 000
  • боны.рф
  • 150 000
  • 1 500
  • британские.рф
  • 100 000
  • 1 000
  • британский.рф
  • 100 000
  • 1 000
  • бронь.su
  • 20 000
  • 200
  • будильник.su
  • 20 000
  • 200

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

== Определения == * CONSTANT ( N — ) CREATE , DOES> @ ; \ runtime: ( -- N ) * VARIABLE ( — ) CREATE 0 , DOES> ; \ runtime: ( -- addr ) == Операции == === Арифметические === {| class="standard" | + | ([[#n|n1]] n2 — сумма) | сумма = n1 + n2 Сложение. |- | - | (n1 n2 — разность) | Вычитание (n1-n2) . |- | * | (n1 n2 — произведение) | Умножение. |- | / | (n1 n2 — частное) | Деление. Частное = (n1/n2). |- | MOD | (u1 u2 — n-остаток) | Деление. В стек заносится остаток от деления. |- | /MOD | ([[#u|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 ([[#d|d1]] d2 — d2 d1) Перестановка двух верхних пар чисел. * 2DUP (d — d d) Дублирование пары чисел, находящейся в вершине стека. * 2OVER (d1 d2 — d1 d2 d1) Копирование второй пары чисел и размещение копии в вершине стека. * 2DROP (d —) Удаление из стека * : ххх уyу ; ( —) Определение нового слова с именем ххх, состоящее из слова или слов ууу. * CR ( —) Возврат каретки и перевод строки. * SPACES (n —) Вывод заданного числа пробелов. * SPACE ( —) Вывод одного пробела. * ЕMIТ ([[#c|с]] —) Вывод символа. * ." ххх" ( —) Вывод строки символов ххх. Символ " является признаком конца строки. * + (nl n2 — сумма) Суммирование. * . (n —) Вывод числа, за которым следует один пробел. * (xхх) ( —) Комментарий, который текстовым интерпретатором не воспринимается. Символ) является ограничителем. * FORGET имя ( —) С помощью этого слова мы забываем (удаляем иа словаря) указанное слово и все слова, внесенные в словарь после него. * LIST (n —) Вывод на экран дискового блока. * LOAD (n —) Загрузка дискового блока (компиляция или выполнение) . Блок 0 обычно загружен быть не может. * FLUSH ( —) Запись всех обновленных дисковых буферов на диск, после чего освобождение этих буферов. * \ ( —) Пропуск оставшегося текста данной строки. * \S ( —) Пропуск оставшегося текста экрана. * THRU (нач кон —) Загрузка всех блоков с номерами из диапазона от нач до кон * .(текст) ( —) Вывод текста сообщения, ограниченного правой круглой скобкой. Используется, как правило, за пределами определения через двоеточие. * THRIAD (n —) Вывод трех блоков с номерами, включающими n, начиная с номера, делящегося без остатка на 3. * SHOW (нач кон —) Вывод блоков с номерами из диапазона от нач до кон по три блока. * INDEX (нач кон --) Вывод комментария только для блоков, номера которых входят в диапазон от нач. до кон. * LOCATE xxx ( —) или VIEW Вывод содержимого блока, иэ которого было загружено определение слова ххх. == Команды редактирования — работа со строками == * Т (n —) Вывод заданной строки. * Р ( —) Рьь или Р XXX Копирование заданного фрагмента, если есть, в буфер вставок, после чего помещение копии буфера вставок в текущую строку. * 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 ххх ( —) Создание переменной с именем ххх. ** ххх ( — [[#a|а]]) Слово ххх при выполнении помещает в стек свой адрес. * ! (n а --) Запоминание числа одинарной длины по заданному адресу. * @ (a — n) Замещение адреса его содержимым. * ? (а --) Вывод значения по заданному адресу с последующим пробелом. * +! (n а --) Сложение числа одинарной длины с содержимым заданного адреса. * 2VARIABLE xxx ( —) Создание переменной двойной длины ** ххх: ( — a) с именем ххх. Слово ххх при выполнении помещает на стек свой адрес. * 2CONSTANT ххх (d —) Создает константу двойной длины с именем ххх и значением d. ** ххх: ( — d) Слово ххх при выполнении помещает в стек значение d. * 2! (d а —) Запоминание числа двойной длины по заданному адресу. * 2@ (а — d) Занесение в стек числа двойной длины, расположенного по заданному адресу. == Виды переменных == * {{Якорь|n}}n — число со знаком; * {{Якорь|+n}}+n — неотрицательное число; * {{Якорь|u}}u — беззнаковое число; * {{Якорь|d}}d — число со знаком двойной длины; * {{Якорь|+d}}+d — неотрицательное число двойной длины; * {{Якорь|ud}}ud — беззнаковое число двойной длины; * {{Якорь|c}}c — символ; * {{Якорь|a}}a — адрес в памяти; * c-addr — строка (символьно-выровненный адрес). == Список компиляторов == * [http://forth.ru/janus/ Janus Constructor] {{ref-ru}} == Литература == * {{книга |заглавие = [http://www.forth.org.ru/forth/dpans94_ru.rar ANS94ru.fhlp] |автор = [[#ANSI|ANSI]], пер. Сергеем Кадочниковым |isbn = |страницы = |год = 2006 |место = |издательство = }} {{ref-ru}} * {{Якорь|ANSI}}{{книга |заглавие = [http://forth.sourceforge.net/standard/dpans/ ANSI FORTH 94] |автор = [[Американский национальный институт стандартов|ANSI]] |isbn = |страницы = |год = 1994 |место = |издательство = }} {{ref-en}} [[Категория:Стековые языки программирования]] [[Категория:Языки программирования семейства Forth]]

26.07.2014 01:45:36