Forth
-
Медіафайли у Вікісховищі
Forth (Форт) — мова програмування та середовище для програмування, розроблена Чарльзом Муром (також відомим як Чак Мур) на початку 1970-х у Національній радіообсерваторії США.
Forth є процедурною, стековою, рефлективною та безтиповою мовою програмування. Нові програми створюються шляхом розширення мови «новими словами» (позначення для підпрограм у Forth).
Найбільше поширення Forth отримав у вбудованих системах керування, як мова програмування інтелектуальних контролерів. Ранні версії Forth мали малий розмір, генерували ефективний код.
Історія
Мова програмування Forth була створена Чарльзом Муром наприкінці 1960-х — початку 1970-х років. Перша реалізація мови Forth з'явилася у 1971 році, під час роботи Мура в Національній радіоастрономічній обсерваторії.
Нова мова була прийнята як основна в Американському астрономічному товаристві. Чарльз Мур та його колега Елізабет Ратер заснували компанію FORTH, Inc і протягом десятиліття портували мову на різні платформи.
Наприкінці 1970-х років, програмісти, що були зацікавлені у розвитку мови, створили FORTH Interest Group (FIG). Ця група розробила концепцію FIG Forth Model, що являє собою загальнодоступну форт-систему і може бути легко перенесена на популярні комп'ютерні архітектури. Часто цю систему розглядають як перший неофіційний стандарт мови.
Особливості
У FORTH використовується стек для зберігання даних. Для запису операцій застосовується зворотна польська нотація. Наприклад, для обчислення виразу та виводу результату на термінал у FORTH необхідно записати:
5 6 * 7 + .
в цьому разі, 5 та 7 буде покладено в стек, операція * замість двох верхніх чисел в стеку покладе їх добуток, операція + замість двох верхніх чисел із стека покладе їх суму, операція . надрукує верхнє число із стека і видалить його.
Для цієї операції можна визначити підпрограму, або, в термінах ФОРТ, створити нове слово, яке бере зі стека три числа, виконує дії та залишає на стекові результат:
: MULTANDSUM ( Створити нове слово з назвою MULTANDSUM. Зміна стека під час дії слова C,B,A ---> A*B+C ) * ( С,A*B) + ( A*B+C) ; ( Закінчити створення слова)
Використовуючи нове слово, вираз можна переписати так:
7 5 6 MULTANDSUM .
Реалізація
Завдяки простоті віртуальної машини Форта і відсутності еталонної реалізації існує безліч втілень цієї мови майже для всіх платформ (POSIX, Microsoft Windows, Mac OS X), а також вбудованих систем.
- Bashforth
Реалізації сумісні із стандартом 1994 ANS Forth[1]:
- Gforth — портативна реалізація ANS Forth проекту GNU Project[джерело?].
- SwiftForth — інтерактивне середовище розробки (IDE) програм на Форті для популярних платформ (Windows, Linux та OS X для процесорів сімейству i386) компанії Forth, Inc, розробника мови програмування[2].
- VFX Forth — високо-оптимізувальний компілятор з Форта[3].
- Open Firmware — завантажувальник та BIOS стандарт, заснований на ANS Forth.
- SP-Forth — транслятор та компілятор для середовищ Windows та Linux. Має повну підтримку вимог стандарту ANS'94, оптимізувальний компілятор та численні бібліотеки[4].
- 51-FORTH — реалізація для мікроконтролера Intel 8051.
Див. також
Діалекти
- Joy[en]
- STOIC
- colorForth
- Factor[en]
Апаратне обладнання
- Stack machine
- RTX2010
Примітки
- ↑ https://www.taygeta.com/forth/dpans.html [Архівовано 11 липня 2016 у Wayback Machine.] Специфікація стандарту DPANS94
- ↑ Архівована копія. Архів оригіналу за 21 липня 2011. Процитовано 25 жовтня 2016.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ About Forth » mpe - MicroProcessor Engineering. MPE new website. Архів оригіналу за 6 серпня 2020. Процитовано 25.10.2016.
- ↑ Архівована копія. Архів оригіналу за 7 жовтня 2016. Процитовано 25 жовтня 2016.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
Джерела
- Баранов С. Н., Ноздрунов Н. Р. Язык Форт и его реализации. — Л.: Машиностроение. Ленинградское отделение, 1988. — 157 с., ил. ISBN 5-217-00324-3
- Лео Броуди Начальный курс программирования на языке Форт — Перевод с английского В. А. Кондратенко Под редакцией Б. А. Кацева, В. А. Кириллина Предисловие И. В. Романовского — М. «ФИНАНСЫ И СТАТИСТИКА», 1990
Посилання
- Forth Interest Group [Архівовано 16 липня 2011 у Wayback Machine.]
- Сторінка Forth на dmoz.org [Архівовано 12 червня 2006 у Wayback Machine.]
- Перелік книжок про Forth [Архівовано 11 січня 2008 у Wayback Machine.], деякі доступні в інтернеті.
- Delta Forth .NET, Forth компілятор для платформи .NET, Mono
![]() | Це незавершена стаття про мови програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |
|