Forth: відмінності між версіями
[перевірена версія] | [неперевірена версія] |
ReAl (обговорення | внесок) м Джерела, вікіфікація, доповнення, оформлення |
|||
Рядок 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 та 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 . |
|||
== Джерела == |
|||
* Баранов С. Н., Ноздрунов Н. Р. Язык Форт и его реализации. — Л.: Машиностроение. Ленинградское отделение, 1988. — 157 с., ил. 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
Посилання
- Український Forth
- Forth Interest Group
- Сторінка Forth на dmoz.org
- Перелік книжок про Forth, деякі доступні в інтернеті.
- Delta Forth .NET, Forth компілятор для платформи .NET, Mono
Це незавершена стаття про мови програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |