Здорово!Есть любитель всяческой экзотики - я. Попробую.
const PROGMEM char spaces_str[] = "spaces";
// ( n -- )
// if n is greater than zero, display n space
static void _spaces(void) {
char n = (char) pop();
while (n > 0) {
print_P(sp_str);
n--;
}
}
Так в чем сложность. Если попытаться выполнить слово которого нет в словаре, то будет сообщение "определите слово".@tretyakov_sa вроде это явно запрещено стандартом. Во всяком случае ошибки будет отловить точно сложнее. А иногда и невозможно.
в свое время Попов сделал детекторный приемник.Какая классная идея - использовать forth. Именно для таких модулей он будет нужен. В свое время в ЛГУ сделали forth для 580-го процессора. В 64Кб можно было сотворить даже тетрис. Причем их реализация была с сохранением ядра на дисках ЕС ЭВМ, поскольку работало все на ЕС 7970. Надо поискать - где то был код исходный. Если найду - выложу. Там даже обработка прерываний была.
Я думаю, что forth чрезвычайно хорошо подходит для реализации IoT устройств. Только подходить к его построению и тем более интерфейсу взаимодействия со старыми представлениями абсолютно не правильно.Какая классная идея - использовать forth. Именно для таких модулей он будет нужен. В свое время в ЛГУ сделали forth для 580-го процессора. В 64Кб можно было сотворить даже тетрис. Причем их реализация была с сохранением ядра на дисках ЕС ЭВМ, поскольку работало все на ЕС 7970. Надо поискать - где то был код исходный. Если найду - выложу. Там даже обработка прерываний была.
Прежде чем изобретать известное, можно для начала изучить реализацию виртуальной машины LUA и применение хэш-функций.Я думаю, что forth чрезвычайно хорошо подходит для реализации IoT устройств. Только подходить к его построению и тем более интерфейсу взаимодействия со старыми представлениями абсолютно не правильно.
Я попытался сделать первые шаги в этом направлении, но появились другие задачи и я пока отложил свои попытки.
Моя идея заключается в следующем. Хранить словарь прямо в файле файловой системы.
Попробовать, обойтись без байт кода. Так как словарное слово уже само по себе длинный байт код. Такой подход будет жрать больше памяти, но позволит обойтись без компиляции. На модуле сразу можно иметь Web терминал, без старинных попыток работать с помощью Serial и UDP терминалов. Куча места на файловой системе позволит сразу хранить все необходимые файлы программ. Включил модуль, открыл Web интерфейс и сразу пиши, что хочешь и сохраняй все на модуле. Esp гораздо мощнее, того компьютера на котором Чарльз Мур его придумал.
Дайте пример нормальной реализации Forth для ESP.Прежде чем изобретать известное, можно для начала изучить реализацию виртуальной машины LUA и применение хэш-функций.
возможно узнаете что-то новое.
Реализация того, что реализовали для ESP32 на 580-ом занимала 8кб. В ней был интерейс взаимодествия с mainframe. Загружать свой код можно было через load. Не надо выносить словарь в файл, поскольку места достаточно. И еще. Forth перестали использовать по двум причинам. 1 - появление dos. 2 - появилось достаточно памяти. Теперь можно чайник кипятить на компьютере.Я думаю, что forth чрезвычайно хорошо подходит для реализации IoT устройств. Только подходить к его построению и тем более интерфейсу взаимодействия со старыми представлениями абсолютно не правильно.
Я попытался сделать первые шаги в этом направлении, но появились другие задачи и я пока отложил свои попытки.
Моя идея заключается в следующем. Хранить словарь прямо в файле файловой системы.
Попробовать, обойтись без байт кода. Так как словарное слово уже само по себе длинный байт код. Такой подход будет жрать больше памяти, но позволит обойтись без компиляции. На модуле сразу можно иметь Web терминал, без старинных попыток работать с помощью Serial и UDP терминалов. Куча места на файловой системе позволит сразу хранить все необходимые файлы программ. Включил модуль, открыл Web интерфейс и сразу пиши, что хочешь и сохраняй все на модуле. Esp гораздо мощнее, того компьютера на котором Чарльз Мур его придумал.
Вы это напишите в Adobe с их PostScript - там вас оценят.Прежде чем изобретать известное, можно для начала изучить реализацию виртуальной машины LUA и применение хэш-функций.
возможно узнаете что-то новое.
Вы ничего не поняли из того что я Вам написал.Дайте пример нормальной реализации Forth для ESP.
Вот когда изучают известное, а потом делают новое - получают тоже самое в другом виде. Вспоминаю одного деятеля у нас в КБ. Он говорил: Здесь нет ничего нового, и вообще за границей так не делают...
Когда Вы уже научитесь отвечать по делу? Не знаю как для других, но для меня ваши реплики обычно бесполезны. Убедительная просьба, отвечайте по делу, если есть что сказать.