Другие языки программирования и технологии

Forth, что за зверь такой ?

AK
Alexandr Kanunnikov
73 316
Язык программирования, представляющий собой одновременно среду редактирования и виртуальную стековую (точнее, двухстековую) машину с бесконечно расширяемой системой команд. Каждая подпрограмма - это новая команда, берущая данные из стека и помещающая данные в стек.

Особенность Forth-машины - шитый код, позволяющий получать в несколько раз более компактный код, чем прямой код на ассемблере.

Фактически, используя Forth, можно реализовать любой синтаксис и любую парадигму входного языка - который тоже будет языком Forth.

P.S. Кстати, Forth - это, фактически реализация один-в-один идей Дейкстры, высказаных в 1962 году.
Кун Кыдыралиев
Кун Кыдыралиев
82 737
Лучший ответ
Прочитал викистатью, вроде всё на месте. Ясно-понятно
язык программирования Forth основан на виртуальной стековой машине, которая легко реализуется на большинстве микропроцессоров. Позволяет компилировать и исполнять программы как внутри среды разработки, так и создавать автономные скомпилированные программы.
Особенности:
1. Совсем не похож на большинство алгоритмических языков
2. Программист может переопределить всё, что угодно, и создать на основе Forth свой язык.
3. Очень тяжело искать ошибки, т. к. отсутствует напрочь типизация, проверка баланса стека и т. п. возможности, присущие современным языкам.
4. Позволяет писать очень компактные и относительно быстрые программы.
Виктор Пашаев
Виктор Пашаев
88 861
Статьи:
Forth хаб на habr.com

Форум по Форт языку

P.S. базовый цикл транслятора Форт-системына данной схеме нет никакой информации по граматике Форт языка. Есть только поиск СЛОВ в текущем контексте словарей, анализ признаков найденных СЛОВ (IMMEDIATE - активное слово для немедленного выполнения, остальные компиляция, если режим компиляции или интерперетации при выполнении) не нашли СЛОВО, пробуем его понять как число и если успех кладём его на стэк, иначе ошибка.

И это всё!

Вся остальная специфика СЛОВ языка оговаривается в стандарте или Сам разработчик определяет из своих предпочтений и.др., но обычно с определёнными следованиями уже существующими решениями дизайна Форт-систем. Даже в выборе названий СЛОВ, не достаточно употребимых, могут быть отхождения по их семантике.