Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн сен 21, 2020 22:33

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Статья от Jeff Fox 1999 года
Автор Сообщение
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Total Vacuum писал(а):
Что ж, будем считать, что на данный момент в лидерах рейтинга Nova 15-23KB для ПК и несколько разных Фортов 8K для МК :)

:) SPF4 ужатый в штатный формат исполняемых файлов KolibriOS ~24Кб (с оптимизатором в наличии)
шабронов A.A. вообще не ограничивает в размерах свои SPF4 программы сжимая и упаковывая в исполняемый файл и исходники программы с версией SPF4 и развлекательный контекст, чтобы, при необходимости правки, всё было уже доступно в самом исполняемом файле. (сайт, кстати, у него расположен на личном компьютере и может быть временно недоступен) Распаковка примерно по test_monsys.exe s 3 3 3 и возможна повторная сборка.
Сообщение Добавлено: Пт авг 14, 2020 13:23
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Victor__v писал(а):
На правах саморекламы :)
Nova-forth весит 23 кб (именно код, в расчет не берется память изначально выделенная для пространства данных и словарных статей) для ОС Windows/
При этом на борту много всяких фич.
Если убрать примерно половину, то и в 15 кб может уместиться :)
Что ж, будем считать, что на данный момент в лидерах рейтинга Nova 15-23KB для ПК и несколько разных Фортов 8K для МК :)
Сообщение Добавлено: Пт авг 14, 2020 12:50
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
KPG писал(а):
Обсуждение разрабатываемого языка MPL использующего постфикс и стэк.

Ужас какой-то. Даже не в плане языка, а в плане созданной атмосферы. Это что? Это для кого? Чем и кому это поможет? Это все называется "демонстрация квалификации".
Сообщение Добавлено: Чт авг 13, 2020 17:13
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Обсуждение разрабатываемого языка MPL использующего постфикс и стэк.
MPL (Programmiersprache) #self-hosting, #C++killer
Сообщение Добавлено: Чт авг 13, 2020 16:27
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Total Vacuum писал(а):
Или же после этой команды включается режим "компиляция любых действий во Flash"? Если второй вариант, то не очень удобно, т.к. права на ошибку не имеем.

На самом деле много удобнее работать, чем с amForth + есть слово cornerstone (что-то на вроде
forget) стираем из флэш до нужного слова.
Сообщение Добавлено: Вт авг 11, 2020 22:31
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Hishnik писал(а):
Да, вот только у МК нет Windows, и вообще нет кода, кроме того, который будет явно скомпилирован.

Ну так просили и в номинации для ПК :)
Сообщение Добавлено: Вт авг 11, 2020 16:46
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Да, вот только у МК нет Windows, и вообще нет кода, кроме того, который будет явно скомпилирован.
Сообщение Добавлено: Вт авг 11, 2020 16:38
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Total Vacuum писал(а):
Кстати, все-таки очень интересно, какая реализация Форт (не обязательно "стандартная", но и не слишком экзотическая) является самой компактной? Можно отдельно по категориям: для ПК/МК... :D


На правах саморекламы :)
Nova-forth весит 23 кб (именно код, в расчет не берется память изначально выделенная для пространства данных и словарных статей) для ОС Windows/
При этом на борту много всяких фич.
Если убрать примерно половину, то и в 15 кб может уместиться :)
Сообщение Добавлено: Вт авг 11, 2020 15:45
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Hishnik писал(а):
[А если тут пользоваться кросс-компиляцией? Форта в МК нет, есть только адресный интерпретатор, или же скомпилированный на PC код (но это потребует компилятора для ARM на Форте).

Да, оно во многих системах такое и делается. (OCO для AVR, ARM так и делал, как, впрочем и в ff303 есть, но не проверял,
VFX Forth тоже разные варианты реализует, да и для, например 8051 ... также).
Всё в руках Фортёра и его пристрастиях :)
Сообщение Добавлено: Вт авг 11, 2020 14:27
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Total Vacuum писал(а):
Форт сжирает всю Flash, а на саму задачу места практически не остается. А хочется так: заливаем в МК компактное ядро и при необходимости дополняем нужными под каждую конкретную задачи библиотеками, например (возьмем примеры с потолка), АЦП и floating-point в одном случае и, допустим, графика и работа со строками в другом. Т.е. хочется предельно компактное и масштабируемое в нужную сторону решение.

А если тут пользоваться кросс-компиляцией? Форта в МК нет, есть только адресный интерпретатор, или же скомпилированный на PC код (но это потребует компилятора для ARM на Форте). Соответственно, в памяти МК лежит набор нужных функций, от Форта - функция "движка" на 10 строк, которая берет из массива очередной адрес и вызывает соответствующее слово, и массив, образованный программой на Форте, скомпилированной на PC.

Total Vacuum писал(а):
Кстати, все-таки очень интересно, какая реализация Форт (не обязательно "стандартная", но и не слишком экзотическая) является самой компактной? Можно отдельно по категориям: для ПК/МК...

Явно варианты свернутого ШК.
Сообщение Добавлено: Вт авг 11, 2020 14:15
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Total Vacuum писал(а):
Кстати, все-таки очень интересно, какая реализация Форт (не обязательно "стандартная", но и не слишком экзотическая) является самой компактной? Можно отдельно по категориям: для ПК/МК... :D

Кто ж знает? :)
Пробовал вариант amForth 5.0 сначала уместить в AtMega8515, но места почти не оставалось для дальнейшей работы с железом, а вот в AtMega162 уже где то половина Флеш занимало ядро (по словам можно посмотреть и запускалось в Proteus,
но правда вывод в терминал WORDS был одной строкой ввиду какого то глюка в Proteus и сам эмулятор не поддерживает самопрограммирование).
На местном форуме OCO пользователь делал свои Форт под AVR и LPC - вроде достаточно компактные.

P.S. Вероятно и eForth наиболее компактные системы http://forth.org/OffeteStore/OffeteStore.html
Camel возможно, навскидку.

для PDP-11 под ff303 вроде достаточно много занимало "полнофункциональное" ядро, но там код был не шитый и как то ещё оптимизировался, но думаю, при равных условиях в их построении, многие Форт для МК будут примерно в одних цифрах,
для тех же PIC, MSP430, STM8 ...

могу на форум загрузить свой вариант для PDP-11 для ff303 с инструментом Win32Forth 6 его сборки и эмулятором и amForth 5.0 но в топиках не работает прикрепление файлов (наверное опять что то "поломалось" в движке форума)
У Михаила есть интересные Форт разработки, но он "игнорирует" местный форум.
Сообщение Добавлено: Вт авг 11, 2020 13:36
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Ilya писал(а):
Никоим образом образом не хочу вам дать по рукам и отговорить от создания "вашегофорта", но посмею заметить, что Mecrisp:
Отговорить меня не получится... :D

Ilya писал(а):
1) изначально подгружает входящий поток в ОЗУ и от туда тот "код" и запускается!
Это очень удобно! Отработал в ОЗУ, а уж потом ввёл compiletoflash и сохраняй уже в ПЗУ
Примерно такую же штуку задумал. Интересно, а как это реализовано в Mecrisp? По команде compiletoflash весь словарик из RAM сливается во Flash? Или же после этой команды включается режим "компиляция любых действий во Flash"? Если второй вариант, то не очень удобно, т.к. права на ошибку не имеем.

Ilya писал(а):
2) "жирность" в 16 Кб - так самый "чахлый" и очень распространенный МК который я использовал, stm32f103rb - это 128 Кб ПЗУ и 20 Кб ОЗУ!
Мягко говоря - хватает и с избытком!
Тоже приходилось иметь дело с F103, а позже и с F205/F407/F446. В перспективе планируем что-нибудь из 7-й серии пощупать. Эти МК используем там, где нужна производительность и/или богатый набор периферии. Для таких вещей Mecrisp подходит прекрасно, хотя здесь уже впору о каких-то зачатках ОС думать.

Но есть и другая ветка: F301/F031/F042/L011. Эти камешки используем там, где нужно компактное решение (у них бывают корпуса 5x5, 4x4 и даже 3x3 мм). И вот тут-то объем Flash уже может быть 16K или даже 8K. И если в 16K Mecrisp с горем пополам влезет, то в 8K, увы, никак. Да и в тех МК, где 16K на борту, от Mecrisp будет толку 0, т.к. Форт сжирает всю Flash, а на саму задачу места практически не остается. А хочется так: заливаем в МК компактное ядро и при необходимости дополняем нужными под каждую конкретную задачи библиотеками, например (возьмем примеры с потолка), АЦП и floating-point в одном случае и, допустим, графика и работа со строками в другом. Т.е. хочется предельно компактное и масштабируемое в нужную сторону решение.

Повторюсь, я ни в коем случае не критикую Mecrisp, просто она мне не подходит по ряду причин, кроме того, нет готового решения для всех перечисленных выше МК, например, нет для L011 и F446.

Ilya писал(а):
ЗЫ а разве на ZX Spectrum, Форт весил меньше?
Насчет ZX Spectrum точно не знаю. А вот в первом и единственном Форт-компьютере Jupiter Ace, где тоже процессор Z80, образ ROM весит 8K, но там не только Форт, но вроде еще и картинки для знакогенератора, какое-то подобие ОС и т.д... Предполагаю, что и для ZX Spectrum примерно того же порядка будет цифра.


Кстати, все-таки очень интересно, какая реализация Форт (не обязательно "стандартная", но и не слишком экзотическая) является самой компактной? Можно отдельно по категориям: для ПК/МК... :D
Сообщение Добавлено: Вт авг 11, 2020 12:08
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Ilya писал(а):
могут дёрнуть нативно моё Форт слово и без посредников?

Они-то могут, а как слову Форта что-то сделать с виджетом? Например, динамически создается объект "кнопка", а у него есть координаты. Понятно, что можно вызвать нечто вроде SetCoord (в зависимости от фреймворка), но Форту нужно теперь как-то сообщить вот этот адрес, который он должен вызвать. Qt на такие попытки сильно ругается.
Сообщение Добавлено: Вс авг 09, 2020 01:14
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Hishnik писал(а):
Ilya писал(а):
callback - может я не до конца всё понял, но как я смогу полноценно взаимодействовать с GTK, mosquitto

Имитируется очередь, в нее помещаются сообщения, они разбираются в C++ и передаются движку Qt.

http://fforum.winglion.ru/viewtopic.php?f=23&t=3165&start=57

Не очень понял, для чего усложнять себе жизнь с очередью!?
Например, есть такая штука "mosquitto_message_callback_set" и для чего мне нужен посредник в виде прослойки на C++, если mosquitto, GTK? ... могут дёрнуть нативно моё Форт слово и без посредников? :wink:
Сообщение Добавлено: Сб авг 08, 2020 22:03
  Заголовок сообщения:  Re: Статья от Jeff Fox 1999 года  Ответить с цитатой
Ilya писал(а):
callback - может я не до конца всё понял, но как я смогу полноценно взаимодействовать с GTK, mosquitto

Имитируется очередь, в нее помещаются сообщения, они разбираются в C++ и передаются движку Qt.

http://fforum.winglion.ru/viewtopic.php?f=23&t=3165&start=57
Сообщение Добавлено: Сб авг 08, 2020 14:25

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB