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

 

Программирование 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



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


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

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

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