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

 

Программирование ESP8266 на языке Forth

Автор: Mike(admin) от 24-12-2016, 20:05

Forth является одним из тех интересных языков, который сформировал за время своего существования целый культ программирования. Его основная особенность заключается в том, что он очень прост для легкой реализации на большинстве процессоров, при этом он сохраняет все свои мощные возможности и обеспечивает хорошую производительность. Есть два основных принципа, которые способствуют этому.


Программирование ESP8266 на языке Forth

Во-первых, парсинг здесь осуществляется довольно легко, потому что любая последовательность символов без пробелов составляет законное Forth-слово. Другая вещь, которая делает Forth простым и мощным языком программирования, заключается в стековости. Он не имеет локальных переменных, вместо этого значения хранятся в стеке. Этот стек используется только для хранения данных. Существует также отдельный стек возврата, который хранит информацию о вложенных вызовах подпрограмм. Возможно, обычному человеку не очень естественно думать о выражении «5+2*3» как о записи «5 2 3 * +», но натренированный Forth-программист без труда знает эти особенности, поскольку они облегчают интерпретацию для компьютера или другого вычислительного устройства, например, ESP8266, поскольку этот Wi-Fi модуль теперь также можно легко программировать на Forth.


Проект PunyForth (github.com/zeroflag/punyforth) предоставляет большинство возможностей оригинального языка Forth и рассчитан в первую очередь для использования в ESP8266. PunyForth также можно запускать на Linux-машинах, например, Raspberry Pi. Он отличается от Forth моментами, к которым можно отнести, например, такие: PunyForth чувствителен к регистру, строки завершающим нулем, строки создаются и печатаются по-разному, определение слова в контексте его самого приводит к рекурсии по умолчанию. Но в целом PunyForth схож с оригинальным прародителем.


Плюсом также является то, что проект обеспечивает TCP-оболочку. Он также поддерживает обработку исключений, кооперативную многозадачность, сокеты и работу с линиями GPIO. При программировании пользователь использует REPL (текстовый интерпретатор), чтобы написать и протестировать небольшой кусок кода или расширить язык новыми словами. REPL работает в двух режимах. В режиме интерпретации он сразу же выполняет те слова, которые пользователь вводит в систему. В режиме компиляции (когда пользователь начинает новое определение слова), его действие зависит от компиляторной семантики текущего слова.


Для ESP8266 уже доступно немало языков программирования, включая Processing для программирования как Arduino, но и PunyForth может найти своих последователей, особенно среди тех, кому нравится сам язык Forth.




© digitrode.ru


Теги: ESP8266, Forth



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

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

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