Forth: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
RLutsBot (обговорення | внесок)
м Перенесено 29 інтервікі-посилань до Вікіданих (Q275472)
м Джерела, вікіфікація, доповнення, оформлення
Рядок 1: Рядок 1:
'''FORTH''' — [[мова програмування]] та середовище для програмування, розроблена [[Чак Мур|Чаком Муром]] на початку 1970-х у Національній Радіообсерваторії США.
'''FORTH''' (ФОРТ) — [[мова програмування]] та середовище для програмування, розроблена [[Чак Мур|Чаком Муром]] на початку 1970-х у Національній Радіообсерваторії США.


FORTH є [[Процедурне програмування|процедурною]], [[стек]]овою, рефлективною та [[тип даних|безтиповою]] мовою програмування. Нові програми створюються шляхом розширення мови новими словами (позначення для підпрограм в FORTH).
FORTH є [[Процедурне програмування|процедурною]], [[стек]]овою, рефлективною та [[тип даних|безтиповою]] мовою програмування. Нові програми створюються шляхом розширення мови новими словами (позначення для підпрограм в FORTH).
Рядок 8: Рядок 8:
== Особливості ==
== Особливості ==


У FORTH використовується [[стек]] для зберігання даних. Для запису операцій застосовується [[зворотна польська нотація]]. Наприклад, для обчислення виразу <math>5\cdot6+7</math> у FORTH необхідно записати:
У FORTH використовується [[стек]] для зберігання даних. Для запису операцій застосовується [[Польський інверсний запис|зворотна польська нотація]]. Наприклад, для обчислення виразу <math>5\cdot6+7</math> та виводу результату на термінал у FORTH необхідно записати:


: 5 6 * 7 + .
5 6 * 7 + .


в цьому разі, 5 та 7 буде покладено в стек, операція <tt>*</tt> замість двох верхніх чисел в стеку покладе їх добуток, операція <tt>+</tt> замість двох верхніх чисел із стеку покладе їх суму, операція <tt>.</tt> надрукує верхнє число із стеку і видалить його.
в цьому разі, 5 та 7 буде покладено в стек, операція <tt>*</tt> замість двох верхніх чисел в стеку покладе їх добуток, операція <tt>+</tt> замість двох верхніх чисел із стеку покладе їх суму, операція <tt>.</tt> надрукує верхнє число із стеку і видалить його.


Для цієї операції можна визначити підпрограму (або, створити нове слово):
Для цієї операції можна визначити підпрограму, або, в термінах ФОРТ, ''створити нове слово'', яке бере зі стека три числа, виконує дії та залишає на стекові результат:


: MULTANDSUM ( Створити нове слово з назвою MULTANDSUM.
: : MULTANDSUM * + .
Зміна стеку під час дії слова C,B,A ---> A*B+C )
* ( С,A*B)
+ ( A*B+C)
; ( Закінчити створення слова)


Використовуючи нове слово, вираз можна переписати так:
Використовуючи нове слово, вираз можна переписати так:


: 7 5 6 MULTANDSUM
7 5 6 MULTANDSUM .

== Джерела ==
* Баранов С. Н., Ноздрунов Н. Р. Язык Форт и его реализации.&nbsp;— Л.: Машиностроение. Ленинградское отделение, 1988.&nbsp;— 157&nbsp;с., ил. ISBN 5-217-00324-3


== Посилання ==
== Посилання ==

Версія за 19:14, 21 липня 2013

FORTH (ФОРТ) — мова програмування та середовище для програмування, розроблена Чаком Муром на початку 1970-х у Національній Радіообсерваторії США.

FORTH є процедурною, стековою, рефлективною та безтиповою мовою програмування. Нові програми створюються шляхом розширення мови новими словами (позначення для підпрограм в FORTH).

Найбільшого поширення FORTH зазнав в застосуваннях вбудованих систем керування, в якості мови програмування інтелектуальних контролерів. Особливо ранні версії FORTH мали малий розмір, генерували ефективний код.


Особливості

У FORTH використовується стек для зберігання даних. Для запису операцій застосовується зворотна польська нотація. Наприклад, для обчислення виразу та виводу результату на термінал у FORTH необхідно записати:

5 6 * 7 + .

в цьому разі, 5 та 7 буде покладено в стек, операція * замість двох верхніх чисел в стеку покладе їх добуток, операція + замість двох верхніх чисел із стеку покладе їх суму, операція . надрукує верхнє число із стеку і видалить його.

Для цієї операції можна визначити підпрограму, або, в термінах ФОРТ, створити нове слово, яке бере зі стека три числа, виконує дії та залишає на стекові результат:

: MULTANDSUM ( Створити нове слово з назвою MULTANDSUM.
               Зміна стеку під час дії слова C,B,A ---> A*B+C )
 *           ( С,A*B)
 +           ( A*B+C)
;            ( Закінчити створення слова)

Використовуючи нове слово, вираз можна переписати так:

 7 5 6 MULTANDSUM .

Джерела

  • Баранов С. Н., Ноздрунов Н. Р. Язык Форт и его реализации. — Л.: Машиностроение. Ленинградское отделение, 1988. — 157 с., ил. ISBN 5-217-00324-3

Посилання


Шаблон:Link GA