Les réflexions de l'ingénieur

Forth

Forth — структурированный, императивный, рефлективный стеково-ориентированный язык программирования.

Отличается компактностью реализации, использует постфиксную нотацию (это когда сначала идут операнды а потом действие, например сложение 1 + 1: 1 1 +)

Gforth

Forth имеет различные реализации и вариации. Gforth — является одной из широко используемой, к тому же это GNU проект, а значит свободный и открытый.

Исходные коды gforth и руководство по gfoth

Gforth & Mac

Собирается или из исходных кодов, или ставится из портов (например, macports)

Если сборка падает, попробуйте указать флаг сборки под 32-бит.

./configure CC="gcc -m32"

Примеры

Простой тест производительности

Создадим bench.fs который будет выполнять в цикле сложение 1 + 1

: bench for 1 1 + drop next ;1000000000 bench

Запустим

time gforth-fast ./bench.fs -e bye

В пакете есть две системы gforth и gforth-fast, который отличается тем что для скорости снижает уровень глубины просмотра стека ошибок

Ключик -e используется для выполнения кода из командной строки, в данном случае это команда bye — завершить сеанс.

Скорость выполнения этого простого теста уступает аналогичному на языке Си в 2 раза.

Leave a message