LINUX.ORG.RU

libSFC - библиотека для реализации FORTH системы на микроконтроллерах семейства cortex

 , , ,


1

3

Очень часто при разработке устройств на микроконтроллерах, возникает необходимость в реализации простого скриптового языка для конечной кастомизации устройства. Для этого очень хорошо подходит ФОРТ. Данный проект и реализует FORTH систему которую очень просто можно использовать в вашем проекте.

>>> сайт проекта



Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 2)

Ответ на: комментарий от RazrFalcon

Это шутка?

Форт — идеальное решение, когда управлять/программировать надо потоком. telnet, get-запросы, mqtt и т.п. Python сразу отпадает, в JS или Lisp задолбаешься скобочки считать. Lua, конечно, ещё есть, но по сравнению с Фортом это тихий ужас :) Что там ещё из популярного встраиваемого скриптового остаётся?

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Lua, конечно, ещё есть, но по сравнению с Фортом это тихий ужас :)

Ну нет, по сравнению с фортом даже Lua - венец творения. Хуже будет только лишп.

slovazap ★★★★★
()

Форт - очень интересный язык, когда-то для него декомпилятор писал. Только давно что-то про него новостей не читал...

hobbit ★★★★★
()

Когда-то про Форт говорили, что знать этот язык необходимо, чтобы считать себя компьютерно-грамотным. Да, там еще Бейсик был в списке первым.

Во времена БК-0010 Форт был очень интересным языком.

dave ★★★★★
()

любопытная штука! В комментарии уже набежали «профессиональные эмбедщики» с лопатами?

nerfur ★★★
()

Если ты автор проекта то почему на главной странице меня сразу встречает описание на *русском* языке?! Видишь свою целевую аудиторию только ввиде бСССР? Вот я бы кинул ссылку на профильные каналы но не могу именно по этой причине.

bga_ ★★★★
()

Слова управления словарями DICT/DCLOSE/DEFAULT

WTF? Это вместо CREATE..DOES>?
У тебя даже запятой нет. Как переменную то определить?
Есть же Mecrisp-Stellaris и FICL. Зачем это?

arson ★★★★★
()
Ответ на: комментарий от hobbit

Форт - очень интересный язык, когда-то для него декомпилятор писал. Только давно что-то про него новостей не читал...

31 мая 2018 г.: gforth - GNU Forth for Android: можно потыкать на смартфончике :)

P.S. Помню стародавние времена, когда Forth занимал < 8К, а теперь 9M — девять, Карл! :)

quickquest ★★★★★
()
Ответ на: комментарий от dave

Когда-то про Форт говорили, что знать этот язык необходимо

Как его вообще можно знать, если там словарь расширяемый в ту или иную область реализации программной системы?! Выучи всю библиотеку Java SE/JRE, которая сейчас есть. Что, слабо?

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от Oberstserj

Потому что Форт, как и Ассемблер, максимально конкретный язык, транслирующий DSL предметной области в железо, причём с самым минимальным оверхедом, так как здесь высокие абстракции (понятия) выражаются словами, которые, в свою очередь, тоже являются понятиями, но более примитивных сущностей. Искусство программирования на Форте состоит в том, чтобы не быть многословным, решая определённую задачу. Ведь это напрямую влияет на размер словаря слов, описывающих предметную область задачи, с которым придётся работать и другим людям, разбираться, модифицировать.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Мммдддааа...

Потому что Форт, как и Ассемблер, максимально конкретный язык, транслирующий DSL предметной области в железо, причём с самым минимальным оверхедом, так как здесь высокие абстракции (понятия) выражаются словами, которые, в свою очередь, тоже являются понятиями, но более примитивных сущностей. Искусство программирования на Форте состоит в том, чтобы не быть многословным, решая определённую задачу. Ведь это напрямую влияет на размер словаря слов, описывающих предметную область задачи, с которым придётся работать и другим людям, разбираться, модифицировать.

И чего только люди не придумают, чтобы на С не писать...

anonymous
()
Ответ на: комментарий от KRoN73

Хммм...

Lua, конечно, ещё есть, но по сравнению с Фортом это тихий ужас :)

OpenWRT тут как-то непонимающе смотрит на автора данного высказывания. =)

anonymous
()
Ответ на: комментарий от devl547

Угу...

НЕ молодёжно, НЕ стильно и НЕ бородато. Мало скобочек и не на эрланге. Питоном и не пахнет. Но вот как-то вот работает, да...

anonymous
()
Ответ на: комментарий от bga_

Если это открытый проект, то к чему твои претензии? От каждого по способностям - можно отправить мерж реквест с переводом

Deleted
()

Известный пример успешного применения Форта — его использование в программном обеспечении глубоководного спускаемого аппарата, при поисках «Титаника» в 1985 году. Также Форт был применён в программном обеспечении спектрографа на Шаттле, в микромодулях управления искусственными спутниками Земли, для системы управления в аэропорту Эр-Рияда, системах компьютерного зрения, автоматизации анализа крови и кардиологического контроля, карманных переводчиках.

Форт — это не совсем язык программирования; вернее, он перекрывает понятие языка программирования. Форт в большей степени является виртуальной машиной и операционной системой ForthOS.

kto_tama ★★★★★
()
Последнее исправление: kto_tama (всего исправлений: 2)
Ответ на: комментарий от kto_tama

Можно без зазрения совести говорить что форт близок к самому днищу.

anonymous
()
Ответ на: комментарий от ogion

Интерпретаторы Фокала, кстати, тоже в наличии.

saahriktu ★★★★★
()

Смотрю, местные ньюфани или забыли или не застали как тут Луговский то фортом весь ваш хваленый лор зачморил и пердаки повзрывал.

anonymous
()
Ответ на: комментарий от kto_tama

Офигенно!

Форт в большей степени является виртуальной машиной и операционной системой ForthOS.

И вот тут роутеры с маршрутизаторами просто офигели... Заодно офигели самсунговцы со своим KNOX, являющимся так же ВМ.

Форт — это не совсем язык программирования; вернее, он перекрывает понятие языка программирования.

Форт — это нишевое решение, для решения отдельных задач, которые <i>возможно</i> на нём решать удобнее. В возможно что и нет. Системы компьютерного зрения с применением библиотеки OpenCV? А кто сказал что код для них надо писать на Форте? Да и вообще тут FPGA, возможно, более к лицу будет. Всё остальное из выше перечисленного так же. Имеет не одно аналогичное решение на иных языках программирования.

В общем, создаётся впечатление, что кому-то захотелось «передёрнуть» на это поделие, так почему нет-то?

anonymous
()
Ответ на: комментарий от ogion

И Фокал был, и не один Бейсик, включая Вильнюсский с шитым кодом. Форт тоже был. Википедия говорит, что даже не одна реализация Форта была. В те времена еще было деление на Фиг-Форт, Форт-83 и еще стандарт какого-то года из 70-х.

dave ★★★★★
()

библиотека для реализации FORTH системы на микроконтроллерах семейства cortex

Какой заголовок для чего-то столь простого.

SourceForge

Спасибо, но нет.

quantum-troll ★★★★★
()
Ответ на: комментарий от bga_

Вот я бы кинул ссылку на профильные каналы но не могу

А ты не стесняйся, зачем комплексовать. Приложи рядом ссылку на Яндекстранслейт. Каналы-то твои люди грамотные, наверное, читают, наверняка умеют компьютерами пользоваться.

bender ★★★★★
()
Ответ на: комментарий от dave

В те времена еще было деление на Фиг-Форт, Форт-83 и еще стандарт какого-то года из 70-х.

А что, в итоге их таки унифицировали?

hobbit ★★★★★
()
Ответ на: Хммм... от anonymous

OpenWRT тут как-то непонимающе смотрит

А они разве не вырезали всю lua-парашу в одной из недавних версий? Вроде бы на си всё переписали

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 1)

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

Rupricht ★★
()
Ответ на: комментарий от hobbit

Да, унифицировали, изобрели-таки свою койне, но я уже к тому времени за Фортом не следил. KRoN73 может больше рассказать.

dave ★★★★★
()

для stm32 прекрасный вариант. Простой и универсальный, как и микропитон, только прямой.

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

Скорость разработки, гибкость и производительность решения.

Хорошему процессору - хороший ЯП.

AVL2 ★★★★★
()
Ответ на: комментарий от makoven

К моему величайшему сожалению...

Ю А они разве не вырезали всю lua-парашу в одной из недавних версий? Вроде бы на си всё переписали

... не совсем. Там можно поставить. Но это же адок, чесслово, конфигуратор на lua.

Кстати, именно из-за этой параши я и отказался от OpenWRT для своих поделий. Только LFS теперь, либо генточка (смотря что надо, правда).

anonymous
()

FORTH

Про Йоду магистра шутил уже кто-то в треде этом?

Deleted
()

SourceForge @ Ни одного коммита @ hg

Какой сейчас год?

mersinvald ★★★★★
()
Ответ на: комментарий от AVL2

для stm32 прекрасный вариант. Простой и универсальный, как и микропитон, только прямой

для stm32 прекрасный вариант. Простой и универсальный, как микроскоп для забивания гвоздей.

Не благодари...

AUX ★★★
()
Ответ на: комментарий от red75prim

Нет предсказателя (а на эмках убогий вариант присутствует только в м7) нет проблем

anonymous
()
Ответ на: комментарий от tailgunner

Для быстрого прототипирования на тех же контроллерах. Мне зачастую не хватало REPL в контроллерах типа f073, куда ни micropython ни lua не лезут.

Ну и нормального опенсорсного форта для кортексов до сих пор нет.

Dark_SavanT ★★★★★
()

микроконтроллерах, возникает

Запятая лишняя.

SuoiCat
()
Ответ на: комментарий от red75prim

Шитый код в момент забъёт предсказатель переходов процессора.

Пожалуй, главная причина угасания интереса к Форту. А вот когда-то приводили оценку, что Форт давал скорость примерно в 1,5 - 2 раза меньшую, чем ассемблер. Просто великолепная оценка! Естественно, на старых процессорах без таких огромных кешей и слишком вумных предсказателей. По идее, современный процессор можно было и научить Форту, чтобы предсказатель учитывал его особенности, но зачем?

dave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.