Перейти к содержанию
    

А вот бы на FORTH написать...

И что, кто то уже написал чего нибудь на Forth (Форте)? :)

 

ForthHub/discussion ( и  народ интересуется инструментами перевода программ из С -> Forth)

 

поиск по слову Forth на Github

 

P.S. Странно, что местный поисковик сайта не знает слова Forth

 

Поиск через сервис google по слову Forth на местном форуме

 

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И, снова здравствуйте. :)

 

Локализация приложений на Форте? Это просто! (iva 23 октября 2020 г.)

 

P.S. Немного сопутствующей тематики применения Форт с электронными интерфейсами USB-UART для ПК

 

Автор: Андрей Шабронов
Статья: Магнитометр на модуле USB-UART
Дата публикации: журнал Современная Электроника 04 2020
Ссылка: https://www.soel.ru/magazines/PRINT/SoEl_2020-2pr/52/index.html#zoom=z

 

Автор: Андрей Шабронов
Статья: Тахометр для квадрокоптера
Дата публикации: журнал Современная Электроника 08 2019
Ссылка: https://www.soel.ru/magazines/PRINT/SoEl_2019-8pr/56/index.html#zoom=z

 

Автор: Андрей Шабронов
Статья: Адаптер 1-Wire c использованием двух портов RS-485 и гальванической развязки
Дата публикации: журнал Современная Электроника 07 2019
Ссылка: https://www.soel.ru/magazines/PRINT/SoEl_2019-7pr/68/index.html#zoom=z

 

http://shabronov_s2.dyn-dns.ru/temp/uart_ik_tahometr_v1/test
http://shabronov_s2.dyn-dns.ru/temp/uart_holl_analog_v1/test/
http://shabronov_s2.dyn-dns.ru/temp/uart_max6675_v1/test


P.S.
Андрей Шабронов: Применение интерфейса 1-Wire в радиоканале 433 МГц на модуле HC11
Дата публикации: журнал Современная Электроника 08 2020

 

Автор: Мищук Андрей.
Статья: Заметки в блоге по применению Форт для программирования PIC контроллеров
Дата публикации: 2016 - 2017 г.
Ссылка: https://energy4all.ru/forth.html#211216

Содержание:

    Форт подобен Дао. Это Путь, и осознается он, когда ему следуешь.
    Построение систем.
    UART - MAX232 - COM/USB - Персональный компьютер.
    Форт. Анализ входного потока.
    Форт-Стек.
    Переменные.
    Алгоритм реализации variable.
    Вызовы форт-слов, стек возвратов.
    Определение новых слов.
    Условный оператор.
    Циклы.
    Как реализованы циклы.
    Сравнение скорости СИ/ФОРТ.
    Примеры. Выход из цикла.
    1-Wire.
    Копилка.

 

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вариант1   вариант_2  сделали 11 штук штанг зимой проверяли. Все фигня т.к. аккумуляторы при -30 больше 5 дней "кирдык" Железо и программы без замечаний. Вариант_3  склад с зерном. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К тематике программирование на forht. Вот еще мои некоторые публикации, где используетcя forth.  Forth-ассемблер. 

Причина.Резко усилилась нагрузка на спец-микросхемы от "продажников" и "перепродажников":  спец-микросхемы меняем на универсальные микроконтроллеры. Т.е. "снижение цены вопроса конечного изделия".

1.

Замена DS2409 на 12F629 

 

Тема опубликована в журнале «Соэл» 2021г  N8-c22..26 (рисунки кликабельны,pdf)

http://90.189.213.191:4422/doc_sh/toguchin_2020n/soel_2021_8_24_zamena/

2.

Четырёхканальный ретранслятор 1-Wire

Тема опубликована в журнале «Соэл» 2021г  N8-c28..31 (рисунки кликабельны,pdf)

http://90.189.213.191:4422/doc_sh/toguchin_2020n/soel_2021_8_30_retrans/

Размышление по сложности понимания forth-assemlera.

1.  На уровне 3-5 листов просто ассемблера как то терпимо.  Но 6-10 листов уже появляются =тупые= ошибки повторения названий меток. или просто =смотришь в книгу - видишь фигу=    Тут мотивация влияете, если это очень-очень денежный проект, то по простому .. каждую строчку проверяешь и проверяешь. Вообщем очень ..тупая работа...

2. Что дает forth-аssemler ?  Он дает СВОБОДУ!. Метки - повторяй сколько хочешь. Конструкция программы создается "сверху-вниз" .  Т.е. в принципе нельзя сделать синтаксических или орфографических ошибок. Все ошибки - в "целесоздании".   Например, в цикл передачи 8 байт,  циклом с косвенной адресацией. А потом смотрю, как совместить и режим с +5 вольт и режим с паразитным питанием?  Начинаешь добавлять пред проверки, что бы уточнить выходные параметры.   Т.е. убирается =тупизм=.   Может конечно "слишком розово", но это так в программах, так и было. Основной цикл сделал за 1-2 часа и все работало. А потом где то неделю добавлял всякие "улучшательства" и "а может так еще проверить". и еще конечно алгоритм пакета. Пришлось перебрать несколько вариантов доступа  к 2409, что бы было более менее "совпадимо"  с исходным заменяемым элементом. Брал pdf 2409 и по нему делал аналог. Хотя можно было хоть какой свой вариант создать с нуля.

3. В "теле" программы есть исходники-архивы на Протеусе-7. Т.е. проверял модели и самое важное - Протеус-7 дает возможность создать hex-файл и прошить реальный PIC. Очень помогло при формировании hex-кода.  В моей версии отказался  от циклов =begin=until  и =begin=while=repeat.   Все циклы в командах аssemlera.  А так же от условных переходов if=then  Но конструкции создал.  

4. Оформление подпрограмм выполнено обычным 2х проходным методом. Обычным словом : name  <> < >  ; Что это значит?  Пп. при компиляции  в код указываются с входным параметром 0    а при исполнении с параметром 1. 

    0 test_out_8n#  ( 0 --   указывается что идет компиляция текста пп )

    1 test_out_8n#  ( 1 --  указывается что используется подпрограмм и соответственно по ее назначению можно что то АКМ задать или в другие регистры )

   Классический подход -  это  структура  create does>    Есть и минус.  Надо соблюдать "вкладываемость"  Если пп обращается к другой пп.  а та  еще к другой, то обязательно последовательность с низу в верх.  Однако, Сделал контрольку проверки. Если не "соблюл",  то выдается ошибка не правильное офоромление пп с указателем где. Так где 10-15 пп получается, и по "вкладываемости"  2-3 пп в пп.

Всем успехов и здоровья! 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я когда хочу чего-то странного, то пишу на лиспе в emacs-е - лисп, по-моему, прочищает мозги получше форта

а для практической применимости - всялся бы кто-нибудь и написал фортовый бэкенд для llvm  (без оптимизации это вроде как не кажется супер сложным)

фронтэнд вроде есть уже https://github.com/riywo/llforth

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый yes-Гуру (Если что по нику-неправильно - прошу извинить)
Кратко по Вашему сообщению.

1. Информация и ссылки даны в этот форум, т.к. он поддерживает микроконтроллеры и может быть мое решение на форт-ассемблере кому-либо пригодиться. Может найду аналогичные решения.
2. Есть такое правило (наука синергетика)  раз ты предложил, тебе это делать.  По типу философии ЗССД вот адрес
Вот объект где используется форт-ассеблер, адрес. Нет задачи "прочистить..." а в основном идет борьба за "цену вопроса ТЗ". Надеюсь донес глубину мысли. С уважением, Шабронов А.А. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как-то очень непонятно вами было сформулировано - "чего хочется", если экономии - то форт выкинуть как можно быстрее и поставить какое-то стандартное железо - китайский ARM, например. а в ТЗ форта по-моему вообще не должно быть, даже если он в изделии будет.

какое отношение имеет "объект" к электронике не понятно - там может и на реле с сельсинами быть управление и на обученном таджике - если там что-то не самодельное на ПЛИС или даже на рассыпухе - то что там за форт-процессор?

тем более с таким "объектом" стоимость процессора за $1, на котором может исполняться С++ код, вообще не должна играть роль.

за $10 (то есть без экономии) можно поставить какую-то железку на которой можно запустить интерпретатор форта (но по-моему это порочный путь)

-------------------

если же есть какое-то готовое оборудование доставшиеся от прошлых цивилизаций - то что тут можно посоветовать ???? - используйте форт дальше, если работает, то зачем трогать

------------------

наука синергетика, наверно, штука хорошая, но пока я напишу тот бэкенд, объект на металлолом уже отправится - это 100%

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кому то будет интересен к прочтению такой топик. 🙂

Язык Forth - зачем нужен, что можно делать на нём?

Есть и телеграм канал для интересующихся вопросами применения Форт: https://t.me/ruforth

Quote

[TF] Форт и общение фортеров
63 members, 23 online
Обсуждение конкатенативных языков программирования и тематическое общение программистов.

Форум: fforum.winglion.ru

 

P.S. Для MSP430, STM32 есть и такой открытый Forth инструментарий

VFX Forth Community editions

Изменено пользователем KPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 11/22/2021 at 7:46 PM, yes said:

я когда хочу чего-то странного, то пишу на лиспе в emacs-е - лисп, по-моему, прочищает мозги получше форта

а для практической применимости - всялся бы кто-нибудь и написал фортовый бэкенд для llvm  (без оптимизации это вроде как не кажется супер сложным)

фронтэнд вроде есть уже https://github.com/riywo/llforth

 

Armpit - проеект языка Sheme написанный на ARM ассемблере.

Вот только Форт для Embedded народом вполне нормально воспринимается и используется в отличии от Лиспа с его "засилием" скобок.

а кому интересны конкатенативные языки, то выбирает помимо Форта и другие варианты, как Factor ...

или создаёт свой вариант Quackery (написан на Python) и решает задачи на нём с rosettacode.org

 

P.S. А, по поводу связки Cи с Форт тоже экспериментировал с некоторыми вариантами  (на базе LCC си компилятора),

а помимо этого LLVM думаю, не очень заточен под оптимизацию Cи кода на 'абстрактный' Форт "процессор" и могут быть ньюансы

как в созданной недавно теме Трансляторы Си в Форт

Сам отдельно полученный вариант Форт кода можно оптимизировать с помощью разных методик и инструментов

(к примеру есть проект по такому действу с использованием LibFirm

FirmForth чем, конечно же, не исчерпывается круг возможных решений)

Для Российского контроллера K1894 (приспособлен и для варианта поддержки Форт в системе команд)

делали такое исследование-работу.

Разработка компилятора для стековой процессорной архитектуры TF16 на основе LLVM

(Труды ИСП РАН, том 33, вып. 5, 2021 г. // Trudy ISP RAN/Proc. ISP RAS, vol. 33, issue 5, 2021)

Quote

В первой версии компилятора архитектура TF16 рассматривалась как классическая регистровая архитектура, и сгенерированный код не использовал стековые возможности.
Эта версия была относительно проста в разработке и служила точкой сравнения для второй версии компилятора.
Во второй версии компилятора был разработан и реализован платформонезависимый алгоритм планирования команд c учётом особенностей стековых архитектур.

При сравнении двух версий версия компилятора с поддержкой стековых возможностей генерирует код, который в среднем на 35.7% быстрее по времени выполнения и на 50.8% меньше по размеру, чем код, генерируемый версией компилятора без поддержки стековых возможностей. Разработанный алгоритм позволяет реализовать в компиляторе LLVM поддержку других стековых процессорных архитектур.

 

Изменено пользователем KPG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...