http://akps.ssau.ru/forth/uFORTH/
файл lib.4th необязателен, но макросы, которые там описаны, в любом случае придется
использовать
при реальном программировании
ОПЕРАЦИОННАЯ СИСТЕМА/СИСТЕМА РАЗРАБОТКИ НА ОСНОВЕ ИНТЕРПРЕТАТОРА ЯЗЫКА ФОРТ
(c) Dmitry Ponyatov <forth@km.ru>, public domain
Более подробно по использованию Форта и созданию собственного
инструментария см. книгу [http://akps.ssau.ru/forth/] и пишите письма.
Первая часть системы --- целевой (кросс-) компилятор Форта.
Программа, написанная на фортоподобном языке, загружается на обработку
системой SP-FORTH [http://spf.sf.net] вместе с простым кросс-компилятором.
В результате программа компилируется в байт-код -- машинный код для
виртуального компьютера (виртуальной машины).
Вторая часть -- интерпретатор.
Полученный байт-код компилируется специальной (маленькой) программой --
интерпретатором байт-кода (виртуальной машиной). Он может быть легко и
очень быстро написан на любом языке или ассемблере для любой платформы. Он
может быть в виде отдельной программы или встроен в любую другую программу.
Форт -- язык со специфическим синтаксисом. По практическому применению это
примерно как Лисп -- просто на нем нужно уметь писать (и читать чужие
программы, что сложнее). Базовый Форт очень низкоуровневый, но он легко
расширяется до нужного вида, в результате получается специализированный
язык для решаемых вами задач.
Да, программировать на Форте сложно -- ассемблер он и есть ассемблер, даже
с возможностями Форта по расширению и внутренней простоте. Базовый язык не
включает поддержки каких-либо структур данных, и необходима их
самостоятельная реализация, используя литературу типа Кнута. То же самое
можно сказать и о библиотеках -- они указываются зависимыми от реализации
структур данных и поэтому плохо переносимы.
Но уникальное свойство Форта -- простота языка -- делает его вполне
конкурентным традиционным средствам разработки типа ассемблеров и
компиляторов Си для компактных компьютерных систем на 8/16-битных
(микро)процессорах и с очень маленькими объемами ОЗУ (порядка всего
нескольких десятков Кб). Традиционная область применения Форта -- различные
системы управления оборудованием, бортовые системы космических аппаратов и
исследовательская аппаратура (см. историю языка).
Этой системой и языком Форт могут заинтересоваться те, кому интересно
создание самодельных средств разработки и разработчиков различной цифровой
аппаратуры.