software.wikisort.org - Язык_программирования

Search / Calendar

gforth — кроссплатформенная реализация стандартного ANSI Forth в рамках Проекта GNU[2]. Начиная с вышедшей в начале 2000 годов версии GForth 0.6 в состав пакета входит подпакет Vmgen — генератор виртуальных машин[3].

Gforth
Тип Интерпретатор, Компилятор
Автор Bernd Paysan, Anton Ertl
Разработчик GNU Project
Написана на C, Forth
Операционная система Unix-like, Microsoft Windows, DOS, OS/2, Android
Первый выпуск середина 1992; 30 лет назад (1992)[1]
Последняя версия 0.7.3 (14 июня 2014; 8 лет назад (2014-06-14))
Тестовая версия 0.7.9_20220310 (10 марта 2022; 6 месяцев назад (2022-03-10))
Лицензия GNU GPLv3
Сайт gnu.org/s/gforth/
 Медиафайлы на Викискладе

История


Проект начали в середине 1992 года Bernd Paysan и Anton Ertl. Gforth — наследник проектов bigFORTH и fig-Forth[1][4][5]. Использует GCC для реализации быстрого прямого и косвенного шитого кода; Gforth полностью соответствует стандарту ANSI FORTH[2]. Gforth распространяется в рамках проекта GNU с 1996 года[6].

Gforth v. 0.5 (2000 год), реализовывал традиционный косвенный и, для некоторых из поддерживаемых платформ, прямой шитый код[7]. Начиная с версии 0.6, вышедшей в 2003 году, реализация основана на так называемом примитивоцентричном шитом коде (англ. primitive-centric threaded code) — гибридной модели между прямым и косвенным шитым кодом[8] с поддержкой оптимизации за счёт динамического объединения форт-слов в суперинструкции[9][10]. Версия 0.7 отличается более гибким, динамически кешируемым отображением форт-стеков на регистры процессора[7][11][12].[13]

В настоящее время ведётся разработка версии Gforth 0.7.9[14]


Примечания


  1. Origin - Gforth Manual. Дата обращения: 16 декабря 2015. Архивировано 4 марта 2016 года.
  2. directory.fsf.org: GNU Forth. Free Software Foundation (14 June 2014). Дата обращения: 16 декабря 2015. Архивировано 19 февраля 2016 года.
  3. M. Anton Ertl, David Gregg, Andreas Krall and Bernd Paysan. vmgen - A Generator of Efficient Virtual Machine Interpreters // Software—Practice and Experience. — 2001. Т. 32. С. 265-293. Архивировано 30 марта 2017 года.
  4. http://bigforth.sourceforge.net/ Архивная копия от 2 апреля 2015 на Wayback Machine by Bernd Paysan
  5. Архивированная копия. Дата обращения: 16 декабря 2015. Архивировано 10 февраля 2016 года.
  6. Gregg and Ertl, 2004, с. 206.
  7. Ertl M. A. A look at Gforth performance // 25th EuroForth Conference. — 2009. С. 23-31.
  8. Direct or Indirect Threaded? - Gforth Manual. www.complang.tuwien.ac.at. Дата обращения: 17 января 2020. Архивировано 18 декабря 2019 года.
  9. Dynamic Superinstructions - Gforth Manual. www.complang.tuwien.ac.at. Дата обращения: 17 января 2020. Архивировано 18 декабря 2019 года.
  10. Ertl M. A. Threaded Code Variations and Optimizations // EuroForth 2001 Conference Proceedings. — 2001. С. 49-55. Архивировано 11 апреля 2021 года.
  11. Ertl M. A., Gregg D. Combining stack caching with dynamic superinstruction // Interpreters, Virtual Machines and Emulators (IVME ’04). — 2004. С. 7-14. Архивировано 11 апреля 2021 года.
  12. Ertl M. A., Gregg D. Stack caching in Forth // 21st EuroForth Conference. — 2005. С. 6-15. Архивировано 11 апреля 2021 года.
  13. Gforth - GNU Project - Free Software Foundation.. www.gnu.org. Дата обращения: 17 января 2020. Архивировано 31 января 2020 года.
  14. Bernd Paysan. Gforth mirror on GitHub (original is on Savannah). Contribute to forthy42/gforth development by creating an account on GitHub. — 2020-01-16. Архивировано 5 ноября 2020 года.

Литература



Ссылки





Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.org внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2025
WikiSort.org - проект по пересортировке и дополнению контента Википедии