цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Язык программирования Forth в браузере

Язык программирования Forth в браузере

Автор: Mike(admin) от 5-01-2017, 08:05

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


Язык программирования Forth в браузере

По своей сути, Forth очень прост: спарсить слово, посмотреть слово в словаре. Словарь либо указывает на некоторый код на машинном языке, либо на другие слова языка Forth. Аргументы и другие элементы, как правило, присутствуют в стеке. Большинство Forth-конструкций более высокого уровня основаны на базовых конструкциях Forth. Так что если ваша система Forth достигает определенного уровня зрелости, она может внезапно стать очень мощным инструментом программирования, конечно, если у вас есть достаточно памяти, чтобы вместить все эти определения.


Если вы хотите поэкспериментировать с Forth, вам, вероятно, захочется начать изучать его на ПК. Для этого существуют несколько сред, например, gForth (с GNU). Но иногда вовсе не хочется устанавливать какое-то сложное и непонятное программное обеспечение просто ради того, чтобы попробовать. Но сегодня появляется все больше и больше приложений, которые запускаются прямо в браузере, и Forth теперь не исключение. В конце концов, данная система достаточно проста, поэтому написание интерпретатора Forth на javascript должно быть довольно простым занятием. И действительно, проект jsForth (код на github.com/brendanator/jsForth, попробовать в действии на brendanator.github.io/jsForth) дает полноценную возможность открыть веб-браузер и использовать Forth.


Проект jsForth реализует полный базовый стандарт ANS. Здесь реализованы следующие наборы слов: ключевые слова, дополнительные слова ядра, и слова расширения ядра. Тесты ANS Forth могут быть запущены с помощью npm run test или в интерпретаторе с использованием следующего кода:



include test/verbose-tester.fth
include https://raw.githubusercontent.com/gerryjackson/forth2012-test-suite/master/src/core.fr

Все стандартные потоковые модели требуют call или jump для выполнения следующей инструкции. В javascript обе переводятся в функции, вызываемые в хвостовой позиции. Без оптимизации хвостовой рекурсии это приведет к переполнению стека. Поэтому jsForth использует «трамплин» для выполнения инструкций.




© digitrode.ru


Теги: Forth, JavaScript, jsForth



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий