Gforth
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[1] |
| Последняя версия | 0.7.3 (14 июня 2014) |
| Тестовая версия | 0.7.9_20220310 (10 марта 2022) |
| Репозиторий | git.savannah.gnu.org/cgi… |
| Лицензия | 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]
Примечания
Литература
- D.E. Stevenson. Leaning a New Language, Gforth // Programming Language Fundamentals by Example. — CRC Press, 2006. — С. 37-46. — 256 с. — ISBN 9781420013351.
- David Gregg and M. Anton Ertl. A Language and Tool for Generating Efcient Virtual Machine Interpreters // Domain-Specific Program Generation: International Seminar, Dagstuhl Castle, Germany, March 23-28, 2003, Revised Papers / Lengauer, C. and Batory, D. and Consel, C. and Odersky, M.. — Springer Berlin Heidelberg, 2004. — P. 196-214. — 332 p. — ISBN 9783540259350.
Ссылки
- gnu.org/software/gforth/ — официальный сайт Gforth
- GForth in Google Play
- Gforth — GNU Forth for Android в Forth-ev Wiki
- Проект Gforth на сайте GitHub