Відмінності між версіями «Forth»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
м (оформлення, правопис)
Рядок 19: Рядок 19:
   
 
== Історія ==
 
== Історія ==
Мова программування Forth була створена Чарльзом Муром наприкінці 1960-х - початку 1970-х років. Перша реалізація мови Forth з’явилася у 1971 році, під час роботи Мура в Національній радіоастрономічній обсерваторії.
+
Мова программування Forth була створена Чарльзом Муром наприкінці 1960-х — початку 1970-х років. Перша реалізація мови Forth з'явилася у 1971 році, під час роботи Мура в Національній радіоастрономічній обсерваторії.
   
 
Нова мова була прийнята як основна в [[Американське астрономічне товариство|Американському астрономічному товаристві]]. Чарльз Мур та його коллега Елізабет Ратер заснували компанію FORTH, Inc і на протязі десятиліття портували мову на різні платформи.
 
Нова мова була прийнята як основна в [[Американське астрономічне товариство|Американському астрономічному товаристві]]. Чарльз Мур та його коллега Елізабет Ратер заснували компанію FORTH, Inc і на протязі десятиліття портували мову на різні платформи.
   
Наприкінці 1970-х років, програмісти, що були зацікавлені у ровитку мови, створили FORTH Interest Group (FIG). Ця група розробила концепцію FIG Forth Model, що являє собою загальнодоступну форт-систему і може бути легко перенесена на популярні комп’терні архітектури. Часто цю систему розлядають як перший неофіційний стандарт мови.
+
Наприкінці 1970-х років, програмісти, що були зацікавлені у ровитку мови, створили FORTH Interest Group (FIG). Ця група розробила концепцію FIG Forth Model, що являє собою загальнодоступну форт-систему і може бути легко перенесена на популярні комп'ютерні архітектури. Часто цю систему розлядають як перший неофіційний стандарт мови.
   
 
== Особливості ==
 
== Особливості ==
Рядок 46: Рядок 46:
   
 
== Реалізація ==
 
== Реалізація ==
Завдяки простоті віртуальній машині Форта, відсутності еталонної реалізації існує безліч втілень цієї мови майже для всіх платформ ([[POSIX|POSIX]], [[Microsoft Windows]], [[Mac OS X]]), а також [[Вбудована_система|вбудованих систем]].
+
Завдяки простоті віртуальній машині Форта, відсутності еталонної реалізації існує безліч втілень цієї мови майже для всіх платформ ([[POSIX]], [[Microsoft Windows]], [[Mac OS X]]), а також [[Вбудована_система|вбудованих систем]].
   
 
* [[Bashforth]]
 
* [[Bashforth]]
Рядок 57: Рядок 57:
 
* [[Open Firmware]] — [[Завантаження_операційної_системи|завантажувальник]] та [[BIOS]] стандарт, заснований на ANS Forth.
 
* [[Open Firmware]] — [[Завантаження_операційної_системи|завантажувальник]] та [[BIOS]] стандарт, заснований на ANS Forth.
 
* [[SP-Forth]]&nbsp;— транслятор та компілятор для середовищ Windows та Linux. Має повну підтримку вимог стандарту ANS'94, оптимізуючий компілятор та численні бібліотеки<ref>http://spf.sourceforge.net/</ref>.
 
* [[SP-Forth]]&nbsp;— транслятор та компілятор для середовищ Windows та Linux. Має повну підтримку вимог стандарту ANS'94, оптимізуючий компілятор та численні бібліотеки<ref>http://spf.sourceforge.net/</ref>.
* [[51-FORTH]]&nbsp;— реалізація для мікроконтролера Intel 8051.
+
* [[51-FORTH]]&nbsp;— реалізація для мікроконтролера Intel 8051.
   
== Дивись також ==
+
== Див. також ==
   
 
=== Діалекти ===
 
=== Діалекти ===
Рядок 76: Рядок 76:
 
== Джерела ==
 
== Джерела ==
 
* ''Баранов С. Н., Ноздрунов Н. Р.'' Язык Форт и его реализации.&nbsp;— Л.: Машиностроение. Ленинградское отделение, 1988.&nbsp;— 157&nbsp;с., ил. ISBN 5-217-00324-3
 
* ''Баранов С. Н., Ноздрунов Н. Р.'' Язык Форт и его реализации.&nbsp;— Л.: Машиностроение. Ленинградское отделение, 1988.&nbsp;— 157&nbsp;с., ил. ISBN 5-217-00324-3
* ''Лео Броуди'' Начальный курс программирования на языке Форт - Перевод с английского В.А. Кондратенко Под редакцией Б.А. Кацева, В.А. Кириллина Предисловие И.В. Романовского - М. "ФИНАНСЫ И СТАТИСТИКА", 1990
+
* ''Лео Броуди'' Начальный курс программирования на языке Форт&nbsp;— Перевод с английского В.&nbsp;А.&nbsp;Кондратенко Под редакцией Б.&nbsp;А.&nbsp;Кацева, В.&nbsp;А.&nbsp;Кириллина Предисловие И.&nbsp;В.&nbsp;Романовского&nbsp;— М. «ФИНАНСЫ И СТАТИСТИКА», 1990
   
 
== Посилання ==
 
== Посилання ==
Рядок 84: Рядок 84:
 
* [http://www.dataman.ro/dforth/ Delta Forth .NET], Forth компілятор для платформи [[.NET]], [[Mono]]
 
* [http://www.dataman.ro/dforth/ Delta Forth .NET], Forth компілятор для платформи [[.NET]], [[Mono]]
   
 
{{Compu-lang-stub}}
 
{{Мови програмування}}
 
{{Мови програмування}}
   
 
[[Категорія:Сімейство_мов_програмування_Forth]]
 
[[Категорія:Сімейство_мов_програмування_Forth]]
 
[[Категорія:Системні мови програмування]]
 
[[Категорія:Системні мови програмування]]
 
{{Compu-lang-stub}}
 

Версія за 09:42, 17 вересня 2018

Forth
Парадигма процедурна, рефлексивна, стек-орієнтована
Дата появи 1970-ті
Творці Чарльз Мур
Розробник Charles H. Moored
Система типізації Безтипова
Під впливом від Lisp, APL
Вплинула на PostScript, REBOL
CMNS: 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), а також вбудованих систем.

Реалізації сумісні із стандартом 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.

Див. також

Діалекти

Апаратне обладнання

Примітки

  1. https://www.taygeta.com/forth/dpans.html Специфікація стандарту DPANS94
  2. http://www.forth.com/
  3. About Forth » mpe - MicroProcessor Engineering. MPE new website. Процитовано 25.10.2016. 
  4. http://spf.sourceforge.net/

Джерела

  • Баранов С. Н., Ноздрунов Н. Р. Язык Форт и его реализации. — Л.: Машиностроение. Ленинградское отделение, 1988. — 157 с., ил. ISBN 5-217-00324-3
  • Лео Броуди Начальный курс программирования на языке Форт — Перевод с английского В. А. Кондратенко Под редакцией Б. А. Кацева, В. А. Кириллина Предисловие И. В. Романовского — М. «ФИНАНСЫ И СТАТИСТИКА», 1990

Посилання