реклама на сайте
подробности

 
 
> А вот бы на FORTH написать..., ;-)
RodionGork
сообщение Apr 16 2009, 04:55
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 30-10-07
Из: Санкт-Петербург
Пользователь №: 31 866



Уважаемые товарищи!

А какие нынче контроллеры есть со встроенным FORTH или же компилятором FORTH удачным?

Вопрос отчасти абстрактный и растущий из желания поразвлечься... Просто грядет проектик который... Да пригрёл уже... Ну малотребовательный ко всему и программулина небольшая... В общем, скучноватый... ;-)

А если нарисовать на FORTH - и душе забавно - и у заказчика глазки могут округлиться... Но вообще он добрый, стерпит... ;-)))

Желательно услышать кого-нибудь, кому приходилось в достаточно недавнее время сталкиваться, работать... ;-)

Возможность внутрисхемной отладки или симуляции по большому счету не требуется...

Знаю, что если в гугле ввести AVR FORTH или 8051 FORTH - кое-что навыпадает... Но не хочется по неведению связаться с чем-нибудь совсем непрактичным. ;-)

Кстати какие архитектуры более "удачно" для FORTH подходят? Проектик я собирался (учитывая отсутствие особых требований) на AVR делать, хотя конечно можно и более другое что-нибудь (главное, чтоб с прошивкой особых сложностей не возникло... и проц был не дороже 5 баксов желательно)

извините если глупость...
Родион
Go to the top of the page
 
+Quote Post
16 страниц V   1 2 3 > »   
Start new topic
Ответов (1 - 99)
IgorKossak
сообщение Apr 16 2009, 07:32
Сообщение #2


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Работал в своё время с Forth и это к сожалению (или к счастью) совсем не баловство и уж точно не глупость. Это не только новый экзотический язык, это своего рода совсем иная философия программирования.
Для начала надо почитать что-нибудь, хоть от Лео Броуди.
amforth и PFAVR из бесплатных вроде не плохи на первый взгляд, но я с ними не работал.
Для реализации форт-системы наиболее подходящими являются традиционно 16-битные архитектуры с развитым стеком, но и AVR тоже потянет.
Результат может быть одно из двух: либо Вы разочаруетесь и навсегда забросите Форт, либо проникнетесь и забьёте на все остальные языки.

Посмотрите ещё в сторону avrforth, достаточто минималистичный.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 4 2009, 05:52
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(RodionGork @ Apr 16 2009, 07:55) *
Кстати какие архитектуры более "удачно" для FORTH подходят? Проектик я собирался (учитывая отсутствие особых требований) на AVR делать, хотя конечно можно и более другое что-нибудь (главное, чтоб с прошивкой особых сложностей не возникло... и проц был не дороже 5 баксов желательно)

извините если глупость...
Родион


Если в архитектуре есть команды с автоинкрементными ( декрементными) указателями данных
( хотя бы одного операнда команды ), то это уже большое подспорье в использовании Forth ( Форт )
языка.smile.gif
Железную поддержку поддержкустека данных можно реализовать в Плис, как наиболее гибкий
и доступный вариант для исследований.

P.S. Больше информации по плюсам и минусам Форт подхода можно порекомендовать посетить
форум рускоязычных пользователей Форт языка http://fforum.winglion.ru
( там можно более продуктивно пообщаться На electronix, похоже, Форт не приживётся )
Поддерживаю высказанное в сообщении выше. и т.к. Форт, малоизвестен, то это часто
инструментарий для Fun. Интересно будет, а вот лёгкого пути никто не укажетsmile.gif
У меня тоже хорошие впечатления при его использовании.

Сообщение отредактировал Kopa - May 4 2009, 06:04
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 4 2009, 07:01
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



а в чем преимущество конструкции 1 1 + перед 1+1 ?
для разветвленного алгоритма Forth превращается в write-only language типа Перла.
Разобраться в такой мешанине намного сложнее чем в C.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 4 2009, 07:26
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 4 2009, 11:01) *
а в чем преимущество конструкции 1 1 + перед 1+1 ?
для разветвленного алгоритма Forth превращается в write-only language типа Перла.
Разобраться в такой мешанине намного сложнее чем в C.


Если это всё, что Вы можете высказать по данной тематике, тогда это не для Васsmile.gif
( без оскорблений ).

Польза 1 1 + не в непривычной форме записи, а возможности единообразно ( + комбинаторно)
создавать алгоритм ( в Tcl похожий принцип ) опираясь на синтаксис и семантику близкую к естественным языкам.
Например: чем плохо Включить 1-й мотор или Вам привычнее 1-й.мотор.включить
( могут быть вариации на любой вкус, включая всевозможные реализации ООП )
При этом, есть возможность впоследствии, при поддержке
интерфейса входа/выхода, легко заменить семантику требуемого слова на изменённую.
( основное понятие в Форт языке СЛОВО )
т.к. фактически нет связи формальных параметров по имени в связке с минимальной системой типов в языке.

P.S. Если привычнее традиционная форма записи, то подключите одну из Форт библиотек
на Форте, но не делайте обсуждение поверхностным. Ваш пример выбран неудачноsmile.gif
Некоторое представление об Форт языке можно почерпнуть из Википедии.
Во Write only можно превратить любой проект.smile.gif Форт в этом не оригинален.
Умелое использование Форта этому тоже стоит уделять внимание, например расширяя
его в сторону DSL языков.

Сообщение отредактировал Kopa - May 4 2009, 07:47
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 4 2009, 08:05
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
основное понятие в Форт языке СЛОВО
угу, а в С - функция.
Цитата
Например: чем плохо Включить 1-й мотор или Вам привычнее 1-й.мотор.включить
мне привычнее "включить_мотор(1)". или это хуже чем "1 включить_мотор" ? для меня - нет.
да, парсер и компилятор в Форте простейшие, но компилятор С например может раскидать локальные переменные по регистрам, соптимизировать циклы и ариф.выражения. В Форте это возможно ?

Сообщение отредактировал ukpyr - May 4 2009, 08:08
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 4 2009, 08:53
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 4 2009, 12:05) *
угу, а в С - функция.
мне привычнее "включить_мотор(1)". или это хуже чем "1 включить_мотор" ? для меня - нет.
да, парсер и компилятор в Форте простейшие, но компилятор С например может раскидать локальные переменные по регистрам, соптимизировать циклы и ариф.выражения. В Форте это возможно ?


Если скажу Да, то поверите?smile.gif

1. Есть некоторое число коммерческих Форт систем, как в них распределяются регистры
не знаю, но например в оптимизаторе русской Форт системе SPF4 используется
принцип выявления макроцепочек и их оптимизация. Со слов автора оптимизатора
используя этот принцип можно с необходимой степенью оптимизировать конкретный
код. На тестах в сравнении с Cи этот оптимизатор показывает неплохие результаты,
при малых затратах на разработку оптимизатора.smile.gif

2. В браузерах Мozila разрабатывается проект tamarin-tracing для ускорения
flash анимации ( java script ) где код сначала переводится в стековые примитивы,
а потом уже собирается для регистровой архитектуры. ( наверное есть резон в этом )

... Но оптимизаторы, в любом случае, не могут делать многих вещей ( т.к.
самый лучший оптимизатор, в голове у программиста smile.gif

P.S. Функция в Cи - это намного более "негибкое" понятие, чем Слово в Форт языке.
( полезно почитать про это в книге у Ноздрунова, Баранова )

Цитата(ukpyr @ May 4 2009, 12:05) *
угу, а в С - функция.
мне привычнее "включить_мотор(1)". или это хуже чем "1 включить_мотор" ? для меня - нет.


Если это Вам удобнее, то противоречий этому нет в рамках Форт языкаsmile.gif Пока не потребуются
изменения и функция потребует провести над собой декомпозицию. Вместо "моторов" потребуется
управлять "клапанами" и.т.д.

Цитата(ukpyr @ May 4 2009, 12:05) *
да, парсер и компилятор в Форте простейшие, но компилятор С например может раскидать локальные переменные по регистрам, соптимизировать циклы и ариф.выражения. В Форте это возможно ?


А когда это оптимизатор был составляющей любого языка программирования?

Сообщение отредактировал Kopa - May 4 2009, 08:59
Go to the top of the page
 
+Quote Post
Microwatt
сообщение May 4 2009, 12:46
Сообщение #8


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Ребята, давно я отошел от программирования, но если кто-то возродит ФОРТ - стоящее дело. Особенно для микроконтроллеров с объектно-ориентированным алгоритмом.
Это действительно другая, принципиально новая философия программирования. Хорошо структурированная, понятная с какого-то уровня конечному пользователю. Нигде больше вся программа не сводится к одной, финишной строке. Или не начинается с нее.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 4 2009, 13:23
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
Нигде больше вся программа не сводится к одной, финишной строке. Или не начинается с нее.

?
Код
int main(void) { run(); }
Go to the top of the page
 
+Quote Post
Microwatt
сообщение May 4 2009, 20:11
Сообщение #10


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(ukpyr @ May 4 2009, 16:23) *
?
Код
int main(void) { run(); }

Это совсем не то, что в ФОРТе. ФОРТ имеет порождающую грамматику, без всяких долгих нудных скобок шести сортов. Что-то вроде (грубо, реальный синтаксис давно не смотрел)
ИДТИ=ШАГ ЛЕВОЙ, ШАГ ПРАВОЙ
ШАГ ЛЕВОЙ=ВЕС НАПРАВО, СОГНУТЬ ЛЕВОЕ КОЛЕНО и т.д
В самом низу детализации появляются чисто процессорные команды, до которых пользователь, создатель программы прикладной, не опускается. Он может писать верхний уровень в понятных ему технологических терминах, не заморачиваясь состоянием стека, памяти, передачей данных в подпрограммы и проч.
Вот в этом и есть основная привлекательность ФОРТА. Кроме того, этот язык очень экономно расходует аппаратные ресурсы, о чем современное поколение программеров вообще думать не привыкло.
В этот язык нужно влюбиться с первого взгляда, либо вообще о нем зря не думать.
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 5 2009, 01:49
Сообщение #11


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Kopa @ May 4 2009, 15:22) *
Если в архитектуре есть команды с автоинкрементными ( декрементными) указателями данных ( хотя бы одного операнда команды ), то это уже большое подспорье в использовании Forth ( Форт ) языка.

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

Цитата(Kopa @ May 4 2009, 15:22) *
Железную поддержку поддержкустека данных можно реализовать в Плис, как наиболее гибкий и доступный вариант для исследований.

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

Цитата(RodionGork @ Apr 16 2009, 14:25) *
А какие нынче контроллеры есть со встроенным FORTH

Совсем не обязательно иметь встроенный Форт. Виртуальная форт-машина встает практически на любой микроконтроллер.

Посмотрите http://c-fvm.sourceforge.net/index.php Внутренний интерпретатор Форта занимает всего пару килобайт, и это не предел, можно и поменьше ужать. Зато отлаженный Форт-код занимает в несколько раз меньше места, чем эквивалентный С код, поэтому "потраченные" килобайты вернутся с лихвой. Программы пишутся/отлаживаются в кросс-системе, на PC. Вся система написана на С, поэтому скрестить ее с С-шным кодом проблем не вызовет.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 5 2009, 03:19
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(=AK= @ May 5 2009, 04:49) *
Посмотрите http://c-fvm.sourceforge.net/index.php Внутренний интерпретатор Форта занимает всего пару килобайт, и это не предел, можно и поменьше ужать. Зато отлаженный Форт-код занимает в несколько раз меньше места, чем эквивалентный С код, поэтому "потраченные" килобайты вернутся с лихвой. Программы пишутся/отлаживаются в кросс-системе, на PC. Вся система написана на С, поэтому скрестить ее с С-шным кодом проблем не вызовет.


Компактность выполнения байт кода - это ещё бывает не главное, если потребуется
уменьшать частоту работы контроллера, то производительности может не хватить.
Хорошо иметь возможность гибче управлять процессом кодогенерации. ( производительность, размер)

С точки зрения портируемости, то Си не плохое решение. Но в текущем развитии Форта это уже
не сильно актуально. ( особенно для контроллеров )

P.S. Кросс компиляцию можно производить и в непосредственно asm команды ( примеры есть ).
Сам использовал интегрированную свободную мультипроцессорную среду разработки.
( из недочётов - слабая оптимизация кода и не встроена возможность убирания
неиспользуемого кода, что впрочем решаемо и не так критично )



Цитата(Microwatt @ May 4 2009, 15:46) *
Ребята, давно я отошел от программирования, но если кто-то возродит ФОРТ - стоящее дело. Особенно для микроконтроллеров с объектно-ориентированным алгоритмом.


Кто хотит, тот и так использует.( примеров достаточно)
А силком тягать никого не нужно.
Возрождать Форт не надо он и не умирал и имеет своих пользователейsmile.gif


P.S. Понятие СЛОВА, механизм чатичной параметризации, словарики в системе и др. элементы
Форт системы - это мощные возможности для создания программ. СЛОВО - может выступать
в роли чего угодно ( меняя контекст окружения) , хоть и объекта.smile.gif

Сообщение отредактировал Kopa - May 5 2009, 03:26
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 5 2009, 04:27
Сообщение #13


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Microwatt @ May 4 2009, 15:46) *
Ребята, давно я отошел от программирования, но если кто-то возродит ФОРТ - стоящее дело.


Интересно узнать, что для этого надо?
Go to the top of the page
 
+Quote Post
Microwatt
сообщение May 5 2009, 10:46
Сообщение #14


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(Kopa @ May 5 2009, 07:27) *
Интересно узнать, что для этого надо?

Хм. Пусть действующие программисты меня поправят, но это вроде сводится к написанию ядра в 20-30 аппаратно оптимизированных команд (подпрограмм). Далее ФОРТ сам разворачивается через несложный компиллятор.
Аппаратно ФОРТ хорошо работает в процессорах, где есть глубокий стек. Вокруг процедур со стеком он почти весь и крутится. Если порыть, то ядро для многих процессоров реализовано и его можно скачать.
Существенный недостаток ФОРТА - работа с целочисленной арифметикой. Во всяком случае, там плавающей запятой нет. Но логика - великолепная. Для объектно- ориентированного программирования почти идеально.
Странно, но при использовании бесконечно вложенных подпрограмм, ФОРТ обеспечивает скорость работы, соизмеримую с программами, написанными в ассемблере.
Где-то давным-давно была статейка с заголовком "Язык высокого уровня из 25 команд ассемблера" Это просто характеризует проблему качественно.
Успехов всем, кто за это дело возьмется!
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 5 2009, 11:27
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Microwatt @ May 5 2009, 13:46) *
Хм. Пусть действующие программисты меня поправят, но это вроде сводится к написанию ядра в 20-30 аппаратно оптимизированных команд (подпрограмм). Далее ФОРТ сам разворачивается через несложный компиллятор.


Схемы развёртывания Форт системы могут быть разные, но в общем рассуждении верноsmile.gif

Цитата(Microwatt @ May 5 2009, 13:46) *
Существенный недостаток ФОРТА - работа с целочисленной арифметикой. Во всяком случае, там плавающей запятой нет.


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

Цитата(Microwatt @ May 5 2009, 13:46) *
Странно, но при использовании бесконечно вложенных подпрограмм, ФОРТ обеспечивает скорость работы, соизмеримую с программами, написанными в ассемблере.


Реальные цифры в сравнении с asm могут быть разные,
но не стоит думать что в Форте, за счёт более интенсивного использования стека,
( и не используя оптимизацию кода для целевой платформы ) алгоритмы работают быстрееsmile.gif
Компактность же он может обеспечить, но тоже в ущерб производительности если она не нужна.


Цитата(Microwatt @ May 5 2009, 13:46) *
Где-то давным-давно была статейка с заголовком "Язык высокого уровня из 25 команд ассемблера" Это просто характеризует проблему качественно.


Можно и меньше, примерно 16 команд-примитивов.
В SeaForth ~32 ( про него можно почитать публикацию в 4-ом номере журнала "Компоненты и технологии"
за этот год.

Цитата(Microwatt @ May 5 2009, 13:46) *
Успехов всем, кто за это дело возьмется!


Уже много чего существует в Форт области.

P.S. Мой же вопрос звучал, в продвижении Форт подхода среди российских разработчиков
и что этому может способствовать?
И мне видется пока Форт не будет использоваться не хуже чем Си и изучаться в базовых
учебных программах
и работодатели не будут благосклонны к его использованию в разработках
никуда ни прийдём unsure.gif

Сообщение отредактировал Kopa - May 5 2009, 11:45
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 5 2009, 11:38
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
Во всяком случае, там плавающей запятой нет. Но логика - великолепная. Для объектно- ориентированного программирования почти идеально.
а кто мешает добавить плавающую точку ? сделали же ASCII строки ?

пока что вижу перспективу применения интерпретатора Форта для создания пользователями своих программ.
плюс очень простая организация многозадачности путем перезагрузки указателя стека.
хотя вряд ли сейчас кто-нибудь согласится писать на Форте вместо IEC 61131 sad.gif
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 5 2009, 12:00
Сообщение #17


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 5 2009, 15:38) *
пока что вижу перспективу применения интерпретатора Форта для создания пользователями своих программ.
плюс очень простая организация многозадачности путем перезагрузки указателя стека.
хотя вряд ли сейчас кто-нибудь согласится писать на Форте вместо IEC 61131 sad.gif


И в этом напралении есть подвижкиsmile.gif

http://electronix.ru/forum/index.php?showt...st&p=505624
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 5 2009, 14:35
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



в книге Семенова http://umup.narod.ru/1054.zip в приложении есть полный текст интерпретатора для 8086.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 6 2009, 03:15
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 5 2009, 17:35) *
в книге Семенова http://umup.narod.ru/1054.zip в приложении есть полный текст интерпретатора для 8086.


? Может, лучше использовать готовые отработанные решения?
Коих предостаточное множество на любой вкус.smile.gif
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 7 2009, 03:37
Сообщение #20


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Kopa @ May 6 2009, 06:15) *
? Может, лучше использовать готовые отработанные решения?
Коих предостаточное множество на любой вкус.smile.gif


Некоторый обзор ссылок на существующие решения для МК можно посмотреть здесь:

http://fforum.winglion.ru/viewtopic.php?t=...sc&start=15
http://fforum.winglion.ru/viewtopic.php?t=9
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 7 2009, 08:03
Сообщение #21


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Пользовался в своё время TinyBoot, впечатления сложились самые благоприятные. Был очень раздосадован закрытием сайта tinyboot.com, но нашлись добрые люди, поддержавшие проект. Вот полезная ссылка, взятая по наводке Kopa.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 7 2009, 10:29
Сообщение #22


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(IgorKossak @ May 7 2009, 11:03) *
Пользовался в своё время TinyBoot, впечатления сложились самые благоприятные. Был очень раздосадован закрытием сайта tinyboot.com, но нашлись добрые люди, поддержавшие проект. Вот полезная ссылка, взятая по наводке Kopa.


Мне тоже было жаль, но если будет интерес к данной IDE и Форт тематике, то можно
продолжить развитие данного проекта для расширения функциональности и включении
других контроллеров ( ARM, MSP430, PIC, AVR32 и др. ) smile.gif

P.S. При заинтересованности в применении и развитии Форт направления может
быть создан отдельный подфорум. ( возможно через голосование )
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 7 2009, 10:54
Сообщение #23


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 7 2009, 14:29) *
P.S. При заинтересованности в применении и развитии Форт направления может
быть создан отдельный подфорум. ( возможно через голосование )

Ну а в принципе, в двух словах, в чём сильные (принципиально) стороны форта?
Типа рекламного слогана.
Например:
Фортран - быстрая математика
Паскаль - надёжность
Си - гибкость и вседозволенность
Форт - ?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 7 2009, 11:46
Сообщение #24


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 7 2009, 13:54) *
Ну а в принципе, в двух словах, в чём сильные (принципиально) стороны форта?
Типа рекламного слогана.
Например:
Фортран - быстрая математика
Паскаль - надёжность
Си - гибкость и вседозволенность
Форт - ?


Ну и шуточки у Васsmile.gif

Например:

Форт - "Калашников" среди языков.

P.S. Стек - это его магазин патронов.

Сообщение отредактировал Kopa - May 7 2009, 11:48
Go to the top of the page
 
+Quote Post
Microwatt
сообщение May 7 2009, 12:15
Сообщение #25


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(Kopa @ May 7 2009, 14:46) *
Ну и шуточки у Васsmile.gif

Например:

Форт - "Калашников" среди языков.

P.S. Стек - это его магазин патронов.

Хорошее сравнение.
Когда авторитетная комиссия в Пентагоне пристально изучала сравнительные характеристики АК-47 и М16, эксперты зашли в тупик. По всем объективным показателям М16 - лучше. А в бою сами американские солдаты отдавали предпочтение АК47.
Вывод комиссии: "М16 намного лучше поражает цели. АК47 поражает ВСЕ.
Вот так и ФОРТ
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 7 2009, 12:27
Сообщение #26


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



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

Сообщение отредактировал ukpyr - May 7 2009, 12:30
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 7 2009, 14:22
Сообщение #27


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(MrYuran @ May 7 2009, 20:24) *
Паскаль - надёжность
Си - гибкость и вседозволенность

Форт - компактность и вседозволенность.

Форт компактен в нескольких смыслах. Во-первых, скомпилированный байт-код типично в 3-10 раз компактнее, чем скомпилированная С программа, за счет того, что в коде почти отсутствуют адреса (команды стековой машины 0-адресные), а также за счет великолепной факторизации кода, сопровождающейся нулевыми издержками при передаче параметров в функции и из них. Во-вторых, исходник Форта раза в 2-3 компактнее исходника на любом другом языке за счет отсутствия любых синтаксических "рюшечек" (скобок, двоеточий и т.п.), а также за счет возможности использования любых символов для определения слова (например, в Форте команда "переслать вершину стека данных в стек возвратов" пишется двумя символами >R ). Исходники Форта лаконичны, в этом их достоинство и недостаток одновременно.

Вседозволенность у него выше, чем в С, потому что Форт-система в принципе обозрима и модифицируема. Программист может знать ее полностью, поскольку она компактна, а потому он может перекраивать ее под задачу по своему усмотрению. У С-шного программиста этой свободы нет, границы заданы тем, что умеет конкретный компилятор.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 8 2009, 04:35
Сообщение #28


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 7 2009, 15:27) *
а как организуется стек данных любого типа ? может вместе с данными в стек помещать сигнатуру типа ?
в принципе это все можно организовать на чистом С через структуры и динамическое выделение/освобождение памяти.
так можно решить проблему кроссплатформенности.


В Форте классические стеки данных ( отличный от используемого в программируемых калькуляторах )
первым вошел последним вышел.

На чистом С реализовано n-oе число Форт систем ( gforth, ficl, pfe, kforth и др. )
Один из недостатков этих систем не всегда удовлетворительная производительность
выполняемого кода. ( Например: в силу того, что оптимизатор Си компилятора не может
адекватно воспринять изменённую внутреннюю семантику кода )

P.S. Введение типов в Форт существуют ( например Strong Forth, в PostScripte стеки типизированы,
), но не приживаетсяsmile.gif.
Форт ещё можно характеризовать, как гиперрасширяемый язык.
А вседозволенность, граничит с анархией приведшая к большому количеству несовместимых Форт систем
( хотя узнаваемый базис Форта остаётся )
Также Форт можно отнести к общей группе цепочечных языков. http://concatenative.org

Статья в википедии http://ru.wikipedia.org/wiki/Конкатенативный язык программирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования://http://ru.wikipedia.org/wiki/Конкат...рограммирования

Цитата(=AK= @ May 7 2009, 17:22) *
Cкомпилированный байт-код типично в 3-10 раз компактнее, чем скомпилированная С программа,


Ремарка: Часто современные Форт системы транслируют код в нативные команды целевого железа!

Использование СЛОВА, как основного элемента программирования наиболее адекватно одному
из основных принципов экстремального программирования - оперировать, как можно меньшими порциями
информации и иметь возможность немедленно ( интерактивно и локально ) проверить работоспособность кода.smile.gif

Сообщение отредактировал Kopa - May 8 2009, 04:42
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 8 2009, 04:56
Сообщение #29


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Прям заинтриговали...
Сразу вспомнился монитор ZX Spectrum, где в 8кБ было уложено всё что только можно - от плавающей арифметики до рисования фигур на экране
Там тоже всё через стек взаимодействовало


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 8 2009, 05:38
Сообщение #30


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 8 2009, 07:56) *
Прям заинтриговали...
Сразу вспомнился монитор ZX Spectrum, где в 8кБ было уложено всё что только можно - от плавающей арифметики до рисования фигур на экране
Там тоже всё через стек взаимодействовало


Цитата из статьи "Бородатый мальчик и его самолетики" про Джефа Раскина
http://www.itc.ua/node/20219

Код
...
В общем, дальше об этой истории с Macintosh написано столько, что здесь мне повторяться нет смысла.
Джеф Раскин вскоре после создания "самого персонального компьютера" покидает Apple.
И... разрабатывает компьютер не менее, если не более яркий. Правда, далеко ненастолько обласканный любопытными журналистами,
и потому почти совсем неизвестный нелюбопытным читателям.

Речь идет о выпускавшейся Canon машине Cat. Всего за шесть месяцев жизни на рынке Canon Cat было произведено
и продано более двадцати тысяч этих машин. По выбранной элементной базе и основным конструктивным решениями они были похожи на Macintosh
-- тот же процессор Motorola 68000, тот же "интегрированный" монитор. Но на этом сходство, пожалуй, и заканчивается.
Макроархитектурно Canon Cat во многом похож на Lisp-машины -- это тоже "машина одного языка",
правда, в ней используется близкий к функциональным языкам программирования,
но крайне простой в реализации виртуальной машины "стековый" язык Forth.

Именно компактный Forth позволил "утрамбовать" в 256 KB ПЗУ Cat весьма любопытный интегрированный комплект программ,
поддерживающий обработку текстов, проверку правописания (со словарем из 90 тыс. слов), вычисления в режиме калькулятора,
решение ряда коммуникационных задач, и, наконец, -- программирование на Forth и языке ассемблера M68000.
...


P.S. А сейчас при использовании контроллеров и 512Кб может не хватитьsmile.gif
Код
Первый закон пользовательского интерфейса Раскина:
"Компьютер не должен своим действием наносить ущерб работе Человека
и не должен своим бездействием способствовать ущербности работы Человека".


Сообщение отредактировал Kopa - May 8 2009, 05:54
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 8 2009, 05:54
Сообщение #31


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Kopa @ May 8 2009, 14:05) *
Часто современные Форт системы транслируют код в нативные команды целевого железа!

Это когда гонятся за скоростью. Помнится, такой Форт для РС по имени SPF4 (со встроенным оптимизатором) "уделывал" по бенчмаркам С-шные программы.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 8 2009, 06:05
Сообщение #32


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



А как там с объектноориентированностью и прочими абстракциями?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 8 2009, 07:50
Сообщение #33


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 8 2009, 09:05) *
А как там с объектноориентированностью и прочими абстракциями?


Реализаций ООП для Форта существуют разные - от несколько десятков строк до ...
в SPF4 ( http://spf.sourceforge.net/ ) , в основном от одного разработчика, но SPF4 это для программирования
на PC. В других Форт системах могут иметь свои различия.

P.S. Есть ещё "абстракции" у разработчиков разных Форт систем.Что интересует?
( модули, парсеры, BNF, back tracing, регулярные выражения, автоматы и др. )

Цитата(=AK= @ May 8 2009, 08:54) *
Помнится, такой Форт для РС по имени SPF4 (со встроенным оптимизатором)
"уделывал" по бенчмаркам С-шные программы.


Не уделывал, а давал сопоставимые результаты, ( см. http://www.forth.org.ru/~af/shootout.htm результаты
тестирования отчасти устарели ) но при желании добавляя правила в оптимизатор можно и обойтиsmile.gif

P.S. Опережал, возможно, на рекурсивном тесте Фибоначи.

Сообщение отредактировал Kopa - May 8 2009, 07:54
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 8 2009, 08:09
Сообщение #34


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(MrYuran @ May 8 2009, 09:05) *
А как там с объектноориентированностью и прочими абстракциями?

Вот интересная полемика на эту тему.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 8 2009, 08:12
Сообщение #35


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(=AK= @ May 8 2009, 08:54) *
Это когда гонятся за скоростью.


Оценочная таблица производительности некоторых Форт систем.
( С SPF4 были некоторые проблемы для двух тестов \ т.к. у SPF4 одно пространство для кода и данных
, но сейчас возможно уже всё исправлено )

Код
*************************************************
Pentium 4 2.8GHz, 512Mb DDR266 RAM, Windows XPpro
*************************************************

VFX        VFX Forth for Windows v3.70 [build 1706]
SF2        SwiftForth 2.2.2.9  07 May 2001
iForth       version 1.12.8722, generated 23:39:13, June 8, 2002.
SP-Forth   Version 4.00 Build 015 at 29.Apr.2004
W32F       Win32Forth 6.09.12 Build 6 (indirect threaded code)
gff        gforth-fast 0.6.2

All with no specifics and no hackery

Test time including overhead (ms)         VFX  iForth     SF2    SPF4    W32F     gff
DO LOOP                                    16       0      16       0      15       3
+                                           0       0       0       0       0       4
M+                                          0      16       0      16      16       9
*                                           0       0      15       0      31       5
/                                          16      16      16      16      16      15
M*                                         15       0      16      15      16       8
M/                                          0      15       0      16      31      86
/MOD                                       16      16      31      16      15      15
*/                                         15      15      15      31      47      95
ARRAY fill                                 16      32      16       0      32      11
================================================================================
=====
Total:                                     94     110     125     110     219     251

Win32 API: SendMessage                      0       0      16       0      15       0
Win32 API: GetTickCount                    63      47      15      79      16     570
System I/O: KEY?                            0       0     282     265       0     717
================================================================================
=====
Total:                                     63      47     313     344      31    1287

Eratosthenes sieve 1899 Primes             94     203     281     172    1375     262
Fibonacci recursion ( 35 -> 9227465 )     188     343     156     172    1562     480
Hoare's quick sort (reverse order)         78     485     281     141    1407     467
Generate random numbers (1024 kb array)   140    1031     141    1015    1468     235
LZ77 Comp. (400 kb Random Data Mem>Mem)   157    1500    1047     703    2219     470
Dhrystone (integer)                       156     219     297     157    1734     363
================================================================================
=====
Total:                                    813    3781    2203    2360    9765    2277
Time (ratio to VFX):                     1.00    4.65    2.71    2.90   12.01    2.80


P.S. SPF4 не самая быстрая Форт система для PC ( коммерческая VFX \ кроме SF2 и i-Forth
показывает лучшие результаты )

Сообщение отредактировал Kopa - May 8 2009, 08:15
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 12 2009, 11:10
Сообщение #36


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Kopa @ May 5 2009, 15:27) *
В SeaForth ~32 ( про него можно почитать публикацию в 4-ом номере журнала "Компоненты и технологии"
за этот год.


И по ссылке автора статьи " Процессоры семейства SeaForth"

Сообщение отредактировал Kopa - May 12 2009, 11:12
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 13 2009, 05:40
Сообщение #37


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Почитал немного, ознакомился, скачал тинибут.
Всё вроде бы хорошо, однако непонятно, как быть с прерываниями.
Что-то в явном виде не нашёл нигде

А без них ведь никак...

Или может не с того начал?
АВР вообще-то не моя тема, мне ближе МСП

Вот кой-чего по МСП нашёл, но товарищи хотят 180 стерлингов фунтов за комплект


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 13 2009, 06:48
Сообщение #38


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 13 2009, 09:40) *
Почитал немного, ознакомился, скачал тинибут.
Всё вроде бы хорошо, однако непонятно, как быть с прерываниями.
Что-то в явном виде не нашёл нигде


Прерывания описываются через директиву ORG ( сами ветора для разных
контроллеров описаны в конфигурационном файле начинающееся с INT
) Например в demoavr:
Код
  here \ оставим на стеке текущий указатель в строящемся целевом образе Flash  
\ resolve interrupt vectors -----------------------------------------
000       org assemble rjmp b_cold c; \ пропишем по 0 адресу вектор холодного старта
INT_T0OV  org assemble rjmp T0isr  c; \ ...
org \ востановим указатель по запомненному HERE со стека


Цитата(MrYuran @ May 13 2009, 09:40) *
Или может не с того начал?
АВР вообще-то не моя тема, мне ближе МСП


MSP430 в tinyboot не поддержан, но это не так сложно т.к. он близок к PDP-11.
а под него уже есть адаптацияsmile.gif

P.S. А что скачали - оригинальный дистрибутив или с сайта радиолюбителей
версию только для Mega128? Есть некоторый "вольный" перевод документации
из неё.


Цитата(MrYuran @ May 13 2009, 09:40) *
Вот кой-чего по МСП нашёл, но товарищи хотят 180 стерлингов фунтов за комплект


Для MSP430 есть и свободные Форт разработки.

P.S. Требуемую функциональнось Форта для MSP можно сделать своими силами.smile.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 13 2009, 07:16
Сообщение #39


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 13 2009, 10:48) *
P.S. А что скачали - оригинальный дистрибутив или с сайта радиолюбителей
версию только для Mega128? Есть некоторый "вольный" перевод документации
из неё.

Всё скачал, что только было. И оригинал, и мод мегу, и дополнения одного товарища, который форт ниасилил, зато приспособил под структурный ассемблер
Цитата
P.S. Требуемую функциональнось Форта для MSP можно сделать своими силами.smile.gif

Это я уже понял, как глянул на исходник инлайн -ассемблера
Однако, как всегда, хочется готовое что-то найти, чтобы не изобретать велосипед.
Да и времени не так уж много. По работе образовался прогал, вот и развлекаюсь для общего развития.

А в прерываниях как я понимаю, надо вручную сохранять весь контекст, ведь если прервали на полуслове, в регистрах может содержаться какая-то промежуточная информация.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 13 2009, 07:45
Сообщение #40


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 13 2009, 10:16) *
Однако, как всегда, хочется готовое что-то найти, чтобы не изобретать велосипед.
Да и времени не так уж много. По работе образовался прогал, вот и развлекаюсь для общего развития.


В Форте, часто, разработчики создают "свои велосипеды" из своего понимания необходимостиsmile.gif
Есть ещё коммерческие VFX и SwiftForth, но для них не под все контроллеры имеются ключики,
да и держать свою Форт систему под полным контролем надёжнее.
Для MSP можно взять разные варианты кросс-компиляции ( есть с использованием SPF4 создания
hex кодов для проекта в IAR ссылка на Форт для разных контроллеров была выше)

Цитата(MrYuran @ May 13 2009, 10:16) *
А в прерываниях как я понимаю, надо вручную сохранять весь контекст, ведь если прервали на полуслове, в регистрах может содержаться какая-то промежуточная информация.


Скорее всего, только общие регистры временного использования ( см распределение регистров ),
а с другими обращаться "внимательней".
Примитивы Форта, в основном, используют 2-3,4 регистра для своей операции.
Под верхушку стека резервируют один регистр - остальная часть стека в памяти.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 13 2009, 09:06
Сообщение #41


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Kopa @ May 13 2009, 10:45) *
Примитивы Форта, в основном, используют 2-3,4 регистра для своей операции.
Под верхушку стека резервируют один регистр - остальная часть стека в памяти.

Это если не подключать тяжёлых словарей типа плавающей точки и вычислений с длинными числами. Но это опять же зависит от функции, выполняемой в прерывании.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 13 2009, 09:32
Сообщение #42


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(IgorKossak @ May 13 2009, 13:06) *
Это если не подключать тяжёлых словарей типа плавающей точки и вычислений с длинными числами. Но это опять же зависит от функции, выполняемой в прерывании.


Плавающая точка может быть реализована и через примитивы Фортаsmile.gif
( эффективно это или нет не знаю, но в FF оно есть )
+ глобальные переменные если не использовать локальных.

а использование прерываний можно организовать по разному.

P.S. Какое продвижение в использовании Форта было у Вас и
можно ли увидеть эти наработки?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 13 2009, 09:50
Сообщение #43


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 13 2009, 13:32) *
Плавающая точка может быть реализована и через примитивы Фортаsmile.gif
( эффективно это или нет не знаю, но в FF оно есть )
+ глобальные переменные если не использовать локальных.

Вчера полдня читал книжку, в которой плавающая точка гневно осуждается, а вместо неё рекомендуется применять операцию масштабирования */ и фиксированную двоичную точку. А мы как-то не задумываясь лепим плавающую математику где ни попадя... Притом что недавно попались результаты тетсбенчей - плавающее деление на МСП выполняется что-то около 900 мкс (!)
Целочисленное - на порядок быстрее


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Rst7
сообщение May 13 2009, 10:09
Сообщение #44


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Целочисленное - на порядок быстрее


К сожалению - нет. Деление, что целочисленное, что с ПЗ - почти одинаково. Там же, грубо говоря, одно на другое разделить, а порядки - вычесть. Ну и плюс нормализация.

Умножение - тоже (умножаем и складываем порядки). Сложение и вычитание - вот там заметно медленнее.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 13 2009, 10:22
Сообщение #45


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Kopa @ May 13 2009, 12:32) *
P.S. Какое продвижение в использовании Форта было у Вас и
можно ли увидеть эти наработки?

Увы, продвижением самого Форта я не занимался, сроки были больно сжатые. Я всего лишь писал приложение (для AT90S8515) на базе того, что было на тот момент в TinyBoot. Потом, где-то через год пытался переписать всё на С под IAR, но не влез в доступную flash. Исходники мне не принадлежат, поэтому выложить не могу.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 13 2009, 11:11
Сообщение #46


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(IgorKossak @ May 13 2009, 14:22) *
Я всего лишь писал приложение (для AT90S8515) на базе того, что было на тот момент в TinyBoot. Потом, пытался переписать всё на С под IAR, но не влез в доступную flash.


В TinyBoot, если не принимать дополнительных действий ( по сокращению ядра ),
неиспользуемая часть ядра не убирается из созданного flash образа
( это не сильно давило или использовался в большей степени внутренний ассемблер системы? )

P.S. Частично думаю, управлять этим можно, если использовать возможности байт-кода в системе
или иметь реализацию генерации с шитым кодом вместо нативного.
Оптимизатор Форт кода в tb в целом слабый.

Сообщение отредактировал Kopa - May 13 2009, 11:21
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 13 2009, 11:29
Сообщение #47


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



А файлы описания камней тоже все перепахивать придётся
#define x y придётся заменять на : x y; а может и похитрее как-нето


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 13 2009, 11:39
Сообщение #48


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 13 2009, 15:29) *
А файлы описания камней тоже все перепахивать придётся
#define x y придётся заменять на : x y; а может и похитрее как-нето


Лучше с использованием слова asmlabel, для того чтобы константы,
по ненадобности не попали в целевой образ, а остались в builder зоне.
( ещё см файл alabavrm.ff )

P.S. Простую поддержку #define можно добавить т.к. это не сложноsmile.gif
но возможно потребуется перекомпиляция исходного ядра системы.
( опыт был при расширении системы описания констант битами и
добавлении поддержки более полноценных макросов )
есть подводные камни
( т.к. не любой версией win32forth проект соберётся, но как же без трудностейsmile.gif

Сообщение отредактировал Kopa - May 13 2009, 11:41
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 14 2009, 09:57
Сообщение #49


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Блин, вот же зараза...
Я теперь по ночам спать спокойно не могу!
И на си глядеть тоже...
Всё мерещится типа "а вот этот кусок можно было парой слов написать"!


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 14 2009, 10:07
Сообщение #50


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 14 2009, 12:57) *
Блин, вот же зараза...
Я теперь по ночам спать спокойно не могу!
И на си глядеть тоже...
Всё мерещится типа "а вот этот кусок можно было парой слов написать"!


Поздравляю. "Форт-вирус" проник в Ваше сознаниеsmile.gif

P.S. На си я гляжу спокойнее, но мыслить при программировании, в рамках Форт базиса,
почему то комфортнее ( и даже необходимость использования стека не особо замечаешьsmile.gif
Приятного чтения второй книги Броуди " Способ мышления Форт" ( Thinking Forth )

Сообщение отредактировал Kopa - May 14 2009, 10:10
Go to the top of the page
 
+Quote Post
chu
сообщение May 14 2009, 10:16
Сообщение #51


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 13-12-07
Пользователь №: 33 246



Цитата
Вот кой-чего по МСП нашёл, но товарищи хотят ...


CamelForth for the Texas Instruments MSP430 © 2009 Bradford J. Rodriguez.

http://www.camelforth.com/page.php?8 This is an ALPHA TEST version of CamelForth/430, an ANSI Standard* Forth for the Texas Instruments MSP430 family of microprocessors. Version 0.2 - 9 January 2009
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 14 2009, 13:12
Сообщение #52


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 14 2009, 14:07) *
Приятного чтения второй книги Броуди " Способ мышления Форт" ( Thinking Forth )

Вот это вещь!
Вот с чего надо начинать изучать программирование, а не с "С++ для начинающих"!
я уж молчу про васик...
Чему только студентов учат...

Да... и не стоит писать по-русски, даже если есть такая возможность.
ЗЕЛЁНЫЙ ЯБЛОКИ - не звучит...


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 14 2009, 14:27
Сообщение #53


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(Kopa @ May 13 2009, 14:11) *
В TinyBoot, если не принимать дополнительных действий ( по сокращению ядра ),
неиспользуемая часть ядра не убирается из созданного flash образа
( это не сильно давило или использовался в большей степени внутренний ассемблер системы? )

Естественно, давило, ибо флеши не так много. И, естественно, пришлось повыкидывать много лишнего и на внутреннем ассемблере кое-что написать. Но не думаю, что это можно назвать развитием.

PS Понравилась ещё одна фича. Программу на форте можно держать во внешней флеши и оттуда же исполнять, что в случае с AVR, который может исполнять нативный код только из внутренней флеши, довольно большое преимущество.

Цитата(MrYuran @ May 14 2009, 16:12) *
Да... и не стоит писать по-русски, даже если есть такая возможность.
ЗЕЛЁНЫЙ ЯБЛОКИ - не звучит...

А как бы Вы отнеслись к слову ПОЧТИ, проверяющему значение на попадание в диапазон? rolleyes.gif
Go to the top of the page
 
+Quote Post
mOleg
сообщение May 14 2009, 16:06
Сообщение #54





Группа: Новичок
Сообщений: 2
Регистрация: 23-03-08
Пользователь №: 36 169



на всякий случай кину ссылочку на статьи, посвященные Форту
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 14 2009, 16:34
Сообщение #55


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(IgorKossak @ May 14 2009, 18:27) *
PS Понравилась ещё одна фича. Программу на форте можно держать во внешней флеши и оттуда же исполнять

И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат.

Я так делал с плисами xilinx. Подправил проект, залил на флешку, пошел на комплекс, воткнул на ходу, посмотрел, не понравилось - пошёл опять править.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Арташес
сообщение May 14 2009, 17:11
Сообщение #56


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 16-06-07
Из: Армения
Пользователь №: 28 476



Цитата(MrYuran @ May 13 2009, 14:50) *
Вчера полдня читал книжку, в которой плавающая точка гневно осуждается, а вместо неё рекомендуется применять операцию масштабирования */ и фиксированную двоичную точку.

А что это за книжка?
Go to the top of the page
 
+Quote Post
mak4444
сообщение May 14 2009, 19:12
Сообщение #57





Группа: Новичок
Сообщений: 2
Регистрация: 14-05-09
Пользователь №: 49 087



Цитата(MrYuran @ May 13 2009, 11:16) *
Цитата
P.S. Требуемую функциональнось Форта для MSP можно сделать своими силами.

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



Распределенная форт-система. Представление удаленного контроллере в виде виртуального
адресного пространства. http://fpauk.narod.ru/spmfor.1.rar
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 14 2009, 19:21
Сообщение #58


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(MrYuran @ May 14 2009, 19:34) *
И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат.

Я имел в виду внешнюю параллельную память на шине МК, а не USB flash.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 15 2009, 03:27
Сообщение #59


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Арташес @ May 14 2009, 20:11) *
А что это за книжка?


Про использование фиксированной точки? Скорее всего Броуди " Введение в Форт"
( там ещё приведена небольшая таблица некоторых математических
констант для использования с операцией масштабирования */ )


Цитата(MrYuran @ May 14 2009, 19:34) *
И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат.


Похожая методика "Последовательное проектирование и отладка микропроцессорных систем управления "

Один из вариантов использовать сервис байт-кодов с исполнением из ОЗУ
( возможно придётся немного подправить систему)

В tinyboot есть возможности по исполнению кода через терминальный канал,
и загрузка предкомпилированного байт-кода к основному коду во flash.
( возможность стирания кода во flash тоже должна существовать )

т.к. при создании ядра есть возможность указать создания кода с возможностью
векторизации ( хранение в таблице ОЗУ адресов примитивов и инициализация её при старте)
директивы static и dynamic то можно по мере необходимиости в Runtime подменять адреса
переходов или наполнять заданное слово необходимым содержаниемsmile.gif

Интересная статья по похожему применеию Д.В.Рагозин "ЭКОНОМИЧНЫЙ ИНТЕРПРЕТАТОР ДЛЯ УЗЛОВ СЕНСОРНОЙ СЕТИ"

Цитата(IgorKossak @ May 14 2009, 22:21) *
Я имел в виду внешнюю параллельную память на шине МК, а не USB flash.


Если в контроллере есть USB, то по его каналу тоже можно организовать
сервис "удалённого" исполнения и загрузки командsmile.gif

Сообщение отредактировал Kopa - May 15 2009, 03:51
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 15 2009, 04:41
Сообщение #60


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(IgorKossak @ May 14 2009, 23:21) *
Я имел в виду внешнюю параллельную память на шине МК, а не USB flash.

Да не USB, а типа атмеловской AT17
Ещё лучше SD/MMC
В общем, есть над чем подумать


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 15 2009, 06:40
Сообщение #61


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 15 2009, 07:27) *

ёшкин кот! РФ ННГУ - это ж моя альма-матер


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Арташес
сообщение May 15 2009, 20:00
Сообщение #62


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 16-06-07
Из: Армения
Пользователь №: 28 476



Цитата(Kopa @ May 15 2009, 08:27) *
Про использование фиксированной точки? Скорее всего Броуди " Введение в Форт"
( там ещё приведена небольшая таблица некоторых математических
констант для использования с операцией масштабирования */ )

Спасибо!
Go to the top of the page
 
+Quote Post
Microwatt
сообщение May 16 2009, 00:08
Сообщение #63


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(MrYuran @ May 14 2009, 16:12) *
Вот это вещь!
Вот с чего надо начинать изучать программирование, а не с "С++ для начинающих"!
я уж молчу про васик...
Чему только студентов учат...

Да, действительно "вирус ФОРТ проник в сознание". У меня было такое же озарение. И меня тоже поразила конструкция ПОЧТИ РАВНЫ.
Это же совсем иная философия программирования, как такового. При некотором навыке, конструкции ФОРТа кажутся такими естественными, что удивляешься как это можно было придумать еще какие-то ходульные языки? Поразительно компактно, ясно, выразительно, близко к человеческому. Ну, как и у человека- с объемными точными вычислениями плоховато, но логика, интеллект...
Жаль, дела давно забытых дней, только несколько книг где-то на полке. Кроме выражения эмоций я пользы не принесу. Просто читаю и радуюсь, что о нем опять говорят.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 18 2009, 04:34
Сообщение #64


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 14 2009, 17:12) *
Чему только студентов учат...


Всё таки Форт бывает, что присутсвует в учебном процессе.smile.gif
не только в институтских лабораториях.

Учебные материалы студентов УГАТУ
Аппаратные средства вычислительной техники
Кардаш Денис Иванович его домашняя страничка
)

P.S. Думаю, ещё 2-3 упоминания, можно найти
где есть Форт в учебных институтских программахsmile.gif
Хотя это всё, скорее, заслуга отдельных преподавателей.

Сообщение отредактировал Kopa - May 18 2009, 04:39
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 18 2009, 05:25
Сообщение #65


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Microwatt @ May 16 2009, 04:08) *
Кроме выражения эмоций я пользы не принесу. Просто читаю и радуюсь, что о нем опять говорят.

Цитата(Kopa @ May 18 2009, 08:34) *
Всё таки Форт бывает, что присутсвует в учебном процессе.smile.gif
не только в институтских лабораториях.
Хотя это всё, скорее, заслуга отдельных преподавателей.

Да, судя по количеству ссылок и материалов в рунете, а также учитывая количество повторов авторов публикаций и топиков - энтузиастов форта в нашей стране можно сосчитать по пальцам... причём одной руки.
Это и понятно. Есть мэйнстрим, где товарищи озабочены, как бы побыстрее "к фреймворку либу прикрутить", а есть свободное творчество и его продукты, не отвечающие, к сожалению, требованиям бизнеса (быстрее, ещё быстрее!)
Да и потребляцтво - оно всепроникающее. Товарищи желают вытащить мышкой из палитры пару квадратиков, соединить стрелочками (или как нибудь по-другому, главное чтобы не напрягаться) и получить, к примеру, МП3-плейер. А разнообразные мелкософты всячески этому способствуют.

Но вот применительно к контроллерам, особенно мелким и дохлым - тут у форта шанс есть, и даже неплохой. Ибо низкоуровневые программисты (имхо) больше дружат с головой и вообще более квалифицированы именно в программировании, а не в умении составлять кубики лего.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 18 2009, 05:37
Сообщение #66


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 18 2009, 09:25) *
... - энтузиастов форта в нашей стране можно сосчитать по пальцам... причём одной руки.


Не одной, а как минимум 3-4 пары рукsmile.gif

Цитата(MrYuran @ May 18 2009, 09:25) *
Это и понятно. Есть мэйнстрим, где товарищи озабочены, как бы побыстрее "к фреймворку либу прикрутить", а есть свободное творчество и его продукты, не отвечающие, к сожалению, требованиям бизнеса (быстрее, ещё быстрее!)


Не совсем так. Мэйнстрим не так эффективен как о нём принято думать.
( нужны ли Microsoft, как монополисту, конкурирующие фирмы/продукты )

Цитата(MrYuran @ May 18 2009, 09:25) *
Но вот применительно к контроллерам, особенно мелким и дохлым - тут шанс есть, и даже неплохой.


Это его основная ниша в существующих реалиях.

Сообщение отредактировал Kopa - May 18 2009, 05:41
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 18 2009, 05:55
Сообщение #67


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Ну ладно, это всё лирические отступления...

У меня вот вопрос родился.
Насколько я понял, откомпилированные слова исполняются быстро, так как поиск по словарю осуществляется в момент компиляции, а потом слово просто ссылается на некоторый кусок кода, который в свою очередь ссылается на другие участки кода.
А если я вдруг переопределил какое-то слово "снизу", которое уже используется в других словах - что произойдет?
Ведь компилятор должен тогда изменить все существующие ссылки на данное слово.
Или просто происходит перенаправление со старого слова на новое?

Цитата(Kopa @ May 18 2009, 09:37) *
Не одной, а как минимум 3-4 пары рукsmile.gif

Значит, не так всё плохо, учитывая, что на одной руке можно сосчитать до 32-х, а на двух - до 1024 Ж)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 18 2009, 06:08
Сообщение #68


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 18 2009, 09:55) *
А если я вдруг переопределил какое-то слово "снизу", которое уже используется в других словах - что произойдет?
Ведь компилятор должен тогда изменить все существующие ссылки на данное слово.
Или просто происходит перенаправление со старого слова на новое?


Ничего не произойдёт со старыми словами т.к. они используют версии слова на
момент их определения.

P.S. Некоторые слова являются векторными и тогда при смене их поведения
могут возникнуть заморочки. Процессом использования необходимого
контекста, при создании слов, часто управляют с помощью "механики" словарей.
( например управляя контекстом поиска и контекстом компилирования )
У Форта простой цикл интерпритации входного потока.

Сообщение отредактировал Kopa - May 18 2009, 06:11
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 18 2009, 06:33
Сообщение #69


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 18 2009, 10:08) *
Ничего не произойдёт со старыми словами т.к. они используют версии слова на
момент их определения.

Странно.. Как-то нелогично.
Допустим, я залил в ЦУ (целевое устройство) форт-машину и первоначальную версию программы.
Затем что-то поменялось и понадобилось перенести включение мотора (к примеру) с ноги X на ногу Y.
Я беру и вместо того, чтобы перекомпилировать и перезаливать весь проект, сверху вношу патч, чтобы ВКЛЮЧИТЬ МОТОР1 дёргало ногу Y вместо X.
Чрезвычайное удобство. Особенно, если устройство уже у потребителя.

Я правда, до конкретной реализации пока не дошел, мельком глянул на описание шитого и прямого кода и решил пока не углубляться.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 18 2009, 07:29
Сообщение #70


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 18 2009, 09:33) *
Я беру и вместо того, чтобы перекомпилировать и перезаливать весь проект, сверху вношу патч, чтобы ВКЛЮЧИТЬ МОТОР1 дёргало ногу Y вместо X.


Это обычно можно осуществить, если векторизовать необходимые слова ( IS и DEFER или VECT в SPF4 )
( другие варианты могут быть, в зависимости от конкретной реализации Форт-системы)
есть же слова доступа к полям форт слова. BODY> и др., но если программа
уже прошла трансляцию, то появляются трудности со стиранием слов ( тем более во Flash )

( например в Forth83 было слово FORGET, а в Forth94 близкое по функциональности слово MARKER
т.e. после стирания части Форт-системы её можно перетранслировать снова на целевом устройстве
через терминальный канал.

Если описать Y, как переменную, то в этом случае её легко использовать как X.
Могут быть и другие вариантыsmile.gif

Цитата(MrYuran @ May 18 2009, 09:33) *
Я правда, до конкретной реализации пока не дошел, мельком глянул на описание шитого и прямого кода и решил пока не углубляться.


Необходимость использования той или иной Форт реализации можно, пока не рассматривать.
( особенно если при генерации используется генерация в машинный код )

P.S. Прояснилось немного?

Сообщение отредактировал Kopa - May 18 2009, 07:36
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 18 2009, 08:06
Сообщение #71


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 18 2009, 11:29) *
( например в Forth83 было слово FORGET, а в Forth94 близкое по функциональности слово MARKER
т.e. после стирания части Форт-системы её можно перетранслировать снова на целевом устройстве
через терминальный канал.

FORGET это немного не то. То есть совсем не то. Он сносит слово и всё что над ним. А мне надо только заменить слово, не трогая остальные.
Цитата
P.S. Прояснилось немного?

Ну, проясняться что-то начнёт только при приложении рук к делу, тут необходимы, тсз, тактильные ощущения.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 18 2009, 08:27
Сообщение #72


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 18 2009, 11:06) *
FORGET это немного не то. То есть совсем не то. Он сносит слово и всё что над ним. А мне надо только заменить слово, не трогая остальные.


Если заранее в конретном случае не приняты те или иные меры по управлению
гибкостью Форт кода, то остаётся возможность использовать непортабельный "xak" код

P.S. есть слово :NONAME ... ; безымянное определение,
оставляющее после завершения своего определения исполнимый токен xt
( можно его например занести в VALUE переменную,
а саму переменную использовать в месте вызова X,Y c исполнением по EXECUTE )
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 18 2009, 09:59
Сообщение #73


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 18 2009, 12:06) *
Ну, проясняться что-то начнёт только при приложении рук к делу, тут необходимы, тсз, тактильные ощущения.


Руки - это само собой, но неплохо составить план дальнейшего продвижения,
при заинтересованности "электронного" сообщества.

P.S. Сопереживающие, похоже, уже естьsmile.gif


Цитата(Microwatt @ May 16 2009, 04:08) *
Жаль, дела давно забытых дней, только несколько книг где-то на полке. Кроме выражения эмоций я пользы не принесу. Просто читаю и радуюсь, что о нем опять говорят.


И это уже не малоsmile.gif
Go to the top of the page
 
+Quote Post
Русланчик
сообщение May 18 2009, 17:28
Сообщение #74


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 4-06-07
Из: г. Уфа
Пользователь №: 28 181



Цитата(Kopa @ May 18 2009, 10:34) *

А вот это уже моя альма-матер! biggrin.gif
Не знал что в УГАТУ Форт изучают, жаль кафедра не наша.

Сообщение отредактировал Русланчик - May 18 2009, 17:29


--------------------
Надо говорить благое,
либо вообще ничего не говорить...
Go to the top of the page
 
+Quote Post
Microwatt
сообщение May 18 2009, 20:22
Сообщение #75


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



Цитата(MrYuran @ May 18 2009, 11:06) *
FORGET это немного не то. То есть совсем не то. Он сносит слово и всё что над ним. А мне надо только заменить слово, не трогая остальные.

Ну, проясняться что-то начнёт только при приложении рук к делу, тут необходимы, тсз, тактильные ощущения.

Черт, не могу вспомнить, как это конкретно делается, но в ФОРТе есть контекстные определения. Т.е в рамках одной программы можно употреблять ШАЙБА в смысле хоккейной или слесарной и путаницы не будет.
Короче, "Могуч великим русский языка"!
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 19 2009, 04:31
Сообщение #76


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Microwatt @ May 19 2009, 00:22) *
Черт, не могу вспомнить, как это конкретно делается, но в ФОРТе есть контекстные определения. Т.е в рамках одной программы можно употреблять ШАЙБА в смысле хоккейной или слесарной и путаницы не будет.


Это управляется последовательностью поиска слов по словарям
и в какой словарик данное слово поместить.
( можно и во время исполнения осуществлять динамический поиск необходимого слова )

P.S. Форт в КГТА
и теже корни компания Измерительные системы
Ещё можно найти упоминание Форта на страничках Бийского технологического университетаsmile.gif

Следы в СПб ГУ ИТМОsmile.gif
Специфика реализации технологий IP-телефонии в ОС Linux .Оптимизация кросс-компилятора языка Форт для микропроцессоров Кобяков Алексей ( только упоминание )
На базе учебного стенда Порт инструментальной системы m3p под платформу GNU/Linux с Форт загрузочным языком.

Цитата(Русланчик @ May 18 2009, 21:28) *
А вот это уже моя альма-матер! biggrin.gif
Не знал что в УГАТУ Форт изучают, жаль кафедра не наша.


Дополняйте список ещё где Форт изучаютsmile.gif

Сообщение отредактировал Kopa - May 19 2009, 05:09
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 21 2009, 04:23
Сообщение #77


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 5 2009, 14:38) *
пока что вижу перспективу применения интерпретатора Форта для создания пользователями
своих программ.


Одно из применений Форта в решении задач автоматизации работ на компьютереsmile.gif
Программа nncron
и рускоязычный форум данной программы

P.S. Основа nncron российский Форт spf.

Сообщение отредактировал Kopa - May 21 2009, 04:24
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 21 2009, 04:36
Сообщение #78


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 21 2009, 08:23) *
Программа nncron <- вот так правильно

Спасибо, может пригодится.
Хотя кроны - они как бы обычно на серверах нужны, на рабочей машине сразу так и не придумаешь, к чему приспособить


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Арташес
сообщение May 21 2009, 19:50
Сообщение #79


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 16-06-07
Из: Армения
Пользователь №: 28 476



Цитата(MrYuran @ May 21 2009, 09:36) *
Спасибо, может пригодится.
Хотя кроны - они как бы обычно на серверах нужны, на рабочей машине сразу так и не придумаешь, к чему приспособить

Вот сайт специально посвященный использованию этого планировщика. Есть полезные идейки...

Сообщение отредактировал Арташес - May 21 2009, 19:53
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 22 2009, 05:02
Сообщение #80


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Арташес @ May 21 2009, 22:50) *
Вот сайт специально посвященный использованию этого планировщика. Есть полезные идейки...


Это согласовано с автором программы? ( и не опасен ли данный софт )

P.S. nncron и не только
можно использовать как вебсервер автоматизации удалённого оборудования
( есть коммерческий eserv и свободный acweb сделанные на spf4 )
Ещё можно посмотреть на
вебсервер c Форт скриптами ( сделан на SwiftForth )


Форт - гибкое средство кодогенерации. Разные Форт системы и отдельные
разработанные Форт библиотеки так или иначе активно используют свои возможности для этого.

Существуют и другие наработки в этой тематикеsmile.gif

Сообщение отредактировал Kopa - May 22 2009, 05:46
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 22 2009, 07:01
Сообщение #81


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Thinking Forth есть в нормальном виде? (что-нибудь более читабельное/принтабельное чем txt)
А то я начал попутно в ворд перекидывать, заодно вставляю оригинальные рисунки из англоязычного исходника
а потом подумал, а вдруг кто-то это уже сделал?
Хотя я заметил, когда перечитываешь второй или третий раз, находишь много нового и интересного, на что не обратил внимания в предыдущий.
Короче, три главы я уже переколбасил, и вот застопорилось... на работе работать заставили... по работе...


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 22 2009, 07:32
Сообщение #82


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 22 2009, 11:01) *
Thinking Forth есть в нормальном виде? (что-нибудь более читабельное/принтабельное чем txt)
А то я начал попутно в ворд перекидывать, заодно вставляю оригинальные рисунки из англоязычного исходника
а потом подумал, а вдруг кто-то это уже сделал?


Мне не попадалось.
( а оригинальный материал взят с sourceforge?)


Цитата(MrYuran @ May 22 2009, 11:01) *
Хотя я заметил, когда перечитываешь второй или третий раз, находишь много нового и интересного, на что не обратил внимания в предыдущий.


Агаsmile.gif

Цитата(MrYuran @ May 22 2009, 11:01) *
Короче, три главы я уже переколбасил, и вот застопорилось... на работе работать заставили... по работе...


А как без этого.

P.S. Отдельное спасибо за создание полноценной книги.
Можно отдельно ещё её дополнить разными материалами по Форт.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 22 2009, 07:48
Сообщение #83


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 22 2009, 11:32) *
P.S. Отдельное спасибо за создание полноценной книги.
Можно отдельно ещё её дополнить разными материалами по Форт.

Ну, насчёт полноценной - это громко сказано...
Вот если её в латексе, как на sf.net, оформить со всеми рюшечками, тогда пожалуй да, хоть в издательство тащи
Но и так конечно работы хватает, одни только ентеры в конце каждой строки чего стоят...


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 22 2009, 08:00
Сообщение #84


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 22 2009, 11:48) *
Но и так конечно работы хватает, одни только ентеры в конце каждой строки чего стоят...


А замена/поиск спец символов не помогает.
Можно написать простой разборщик файла для автоматизации этого процесса.

Сообщение отредактировал Kopa - May 22 2009, 08:02
Go to the top of the page
 
+Quote Post
Арташес
сообщение May 22 2009, 21:39
Сообщение #85


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 16-06-07
Из: Армения
Пользователь №: 28 476



Цитата(Kopa @ May 22 2009, 10:02) *
Это согласовано с автором программы? ( и не опасен ли данный софт )

Не понял. Поясните, пожалуйста.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 25 2009, 03:06
Сообщение #86


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Арташес @ May 23 2009, 01:39) *
Не понял. Поясните, пожалуйста.


Источник распространения не с официального сайта и не оригинального
дистрибутива программы и возможно без согласования с автором программы.

P.S. Только это. Хотя ссылка на сайт программы имеется.

Сообщение отредактировал Kopa - May 25 2009, 03:15
Go to the top of the page
 
+Quote Post
chu
сообщение May 25 2009, 05:17
Сообщение #87


Частый гость
**

Группа: Участник
Сообщений: 95
Регистрация: 13-12-07
Пользователь №: 33 246



ВИРТУАЛЬНАЯ ФОРТ МАШИНА ДЛЯ AVR32
http://fforum.winglion.ru/viewtopic.php?p=21824#21824
biggrin.gif
Go to the top of the page
 
+Quote Post
Арташес
сообщение May 25 2009, 14:06
Сообщение #88


Частый гость
**

Группа: Участник
Сообщений: 153
Регистрация: 16-06-07
Из: Армения
Пользователь №: 28 476



Цитата(Kopa @ May 25 2009, 08:06) *
Источник распространения не с официального сайта и не оригинального
дистрибутива программы и возможно без согласования с автором программы.

P.S. Только это. Хотя ссылка на сайт программы имеется.

По этому поводу мне сказать нечего. Я просто отреагировал на интерес проявленный к данной теме MrYuran.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 27 2009, 09:40
Сообщение #89


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(Арташес @ May 25 2009, 17:06) *
По этому поводу мне сказать нечего. Я просто отреагировал на интерес проявленный к данной теме MrYuran.


To All: Есть ли интерес к продолжению обсуждения Форт тематики и какие предложения?
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 27 2009, 10:42
Сообщение #90


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Интерес и предложения возникают из необходимости или желания сделать что-то конкретное, пусть даже это конкретное заключается в просвещении, а не просто в поднятии темы.
До сих пор подобного не наблюдалось, но в случае возникновения интереса у пользователей и создания большого количества полезных тем о Forth будет создан даже отдельный подфорум как это происходило и раньше.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 27 2009, 11:06
Сообщение #91


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



по моему, возможности и крутость Форта сильно преувеличены.
передача и обработка данных через стек неэффективна, в С автоматическое распределение регистров, напр. WinAVR передает до 4х параметров функции в регистрах.
синтаксис - в сложном алгоритме "туши свет", необходимость постоянных ручных манипуляций со стеком только все усложняет.
ограниченность системы типов - опять же ограничение накладываемое стеком.
бедность программного окружения - С есть везде, с кучей библиотек. Если не хватает - с минимальными изменениями можно перейти на C++/ObjC. А как с Фортом ?
модификация словаря, замена слов и т.д. - какой в этом смысл ? когда-то давно это может и было актуально - когда на машине с ограниченными ресурсами писалась, олаживалась, и выполнялась программа. все равно сейчас все пишется, отлаживается и компилируется на хост-компьютере с практически неограниченными ресурсами, и нет смысла возится со списком слов и т.д., проще все перекомпилировать и отладить нужный кусок в отладчике.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 27 2009, 11:35
Сообщение #92


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(IgorKossak @ May 27 2009, 13:42) *
Интерес и предложения возникают из необходимости или желания сделать что-то конкретное, пусть даже это конкретное заключается в просвещении, а не просто в поднятии темы.


Просвящение и есть в обсуждении данной тематики
Для серьёзного, не в частном порядке практического применения, необходима
критическая масса разработчиков в предложенной к обсуждению области.


Цитата(IgorKossak @ May 27 2009, 13:42) *
До сих пор подобного не наблюдалось, но в случае возникновения интереса у пользователей и создания большого количества полезных тем о Forth будет создан даже отдельный подфорум как это происходило и раньше.


И как это Вы представляете?
"Нет тем -> нет практического интереса -> Нет тем"
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение May 27 2009, 11:57
Сообщение #93


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Я имел виду следующее.
Нет тем (или их очень мало) поскольку массовый пользователь довольно слабо осведомлён в данной области. Темы просветительского плана могли бы (сугубо добровольно) взять на себя гуру типа Вас. Начало положено, теперь можно отвечать на критические сообщения, например. Появится осведомлённость -> появится интерес -> появятся темы. Главное, чтобы информационно-просветительские темы были полезны и интересны, чтобы пользователи сами захотели развиваться в этом направлении. Критическую массу разработчиков можно наработать на мой взгляд только так.
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 27 2009, 12:29
Сообщение #94


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 27 2009, 14:06) *
по моему, возможности и крутость Форта сильно преувеличены.


Кем преувеличена?
Пользователями которые применяют Форт в программировании и решении практических задач?
Наверное это так и естьsmile.gif

Цитата(ukpyr @ May 27 2009, 14:06) *
передача и обработка данных через стек неэффективна, в С автоматическое распределение регистров, напр. WinAVR передает до 4х параметров функции в регистрах.


Статья о стеке

Цитата(ukpyr @ May 27 2009, 14:06) *
синтаксис - в сложном алгоритме "туши свет", необходимость постоянных ручных манипуляций со стеком только все усложняет.


В этом есть правдаsmile.gif

Необходимость в постоянных несложных ручных манипуляциях со стеком присутствует.
но есть также возможность использования именованных локальных переменных, при необходимости.
Для борьбы со сложностью бывают разные способы и в Форте можно использовать разные методы.



Цитата(ukpyr @ May 27 2009, 14:06) *
ограниченность системы типов - опять же ограничение накладываемое стеком.


Скорее нет ограничения по контролю программистом способа использования данных.
Стек типы данных никак не ограничиваетsmile.gif

Цитата(ukpyr @ May 27 2009, 14:06) *
бедность программного окружения - С есть везде, с кучей библиотек. Если не хватает - с минимальными изменениями можно перейти на C++/ObjC. А как с Фортом ?


В Форте, как и в любом другом языке используют не только свои наработанные библиотекиsmile.gif
Перейти к использованию той или иной Форт системы сложностей почти не существует.
Сложнее перенести программы из одной системы в другую.

Цитата(ukpyr @ May 27 2009, 14:06) *
модификация словаря, замена слов и т.д. - какой в этом смысл ?


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

Цитата(ukpyr @ May 27 2009, 14:06) *
когда-то давно это может и было актуально - когда на машине с ограниченными ресурсами писалась
, олаживалась, и выполнялась программа. все равно сейчас все пишется, отлаживается и компилируется на хост-компьютере с практически неограниченными ресурсами, и нет смысла возится со списком слов и т.д., проще все перекомпилировать и отладить нужный кусок в отладчике.


Мой способ программирования:
Быстрый интерактивный цикл ( Far - командная строка - оценка неработоспособности кода - Far )
Интерактивность Форта - дополнительный уровень возможности комфортного тестирования кода.

P.S. Возможно это всё субъективно и не достаточно доходчиво написано.smile.gif



Цитата(IgorKossak @ May 27 2009, 14:57) *
Я имел виду следующее.
Нет тем (или их очень мало) поскольку массовый пользователь довольно слабо осведомлён в данной области.


На данном форуме тем, полезных для прочтения по Форту, не присутствует.
Эта, наверное, первое хорошее обсуждение.smile.gif
Хотя реплики, давнишние и в основном мои могут быть в разных топиках


Цитата(IgorKossak @ May 27 2009, 14:57) *
Темы просветительского плана могли бы (сугубо добровольно) взять на себя гуру типа Вас. Появится осведомлённость -> появится интерес -> появятся темы.


Уже оживил обсуждение данного топика, хотя гуру или нет не знаю.
Ждёмс появления интереса?
smile3046.gif

Цитата(IgorKossak @ May 27 2009, 14:57) *
Главное, чтобы информационно-просветительские темы были полезны и интересны, чтобы пользователи сами захотели развиваться в этом направлении. Критическую массу разработчиков можно наработать на мой взгляд только так.


Полностью согласен с этим.
Лишь бы темы ( тема) не затерялись и были.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 27 2009, 12:37
Сообщение #95


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 27 2009, 16:29) *
Интерактивность Форта - дополнительный уровень возможности комфортного тестирования кода.

Да, вот это мне тоже больше всего нравится.
Особенно после того, как всю неделю раздербанивал чужую программу на модули - и до последней секунды (пока не устранил последнюю ошибку компилятора) не мог даже одним глазком глянуть, что же в итоге получилось.
Скоро буду пробовать форт на МСП.
Вот только схему срочную доделаю, отдам на разводку - и там опять намечается прогал в работе.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ukpyr
сообщение May 27 2009, 12:38
Сообщение #96


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
Скорее нет ограничения по контролю программистом способа использования данных.
Стек типы данных никак не ограничивает
ну например, как писать и читать через стек 8,16,32 битные данные, float, double, строки ? эмулировать вручную байтами ? опять же получается что нужны разные наборы команд для манипуляции со стеком, арифметики, преобразований типов для разных типов данных. вопрос - зачем весь этот огород если в C все уже сделано ?

касательно отладки - кто мешает в С отлаживать каждую функцию отдельно ? на современных процессорах перекомпиляция программы для котроллера - секундное дело, у меня как-то получается отлаживать функции для SDCC, AVR-GCC, ARM-GCC в обычном GCC/Mingw. а функции, завязанные на периферию процессора и обработку данных в реальном времени не получится отдельно отладить и в Форте - для этого больше подходит вывод на индикацию/терминал.

Сообщение отредактировал ukpyr - May 27 2009, 12:43
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 27 2009, 13:09
Сообщение #97


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(ukpyr @ May 27 2009, 15:38) *
ну например, как писать и читать через стек 8,16,32 битные данные, float, double, строки ?


Обычно размерность ячейки памяти у Форт систем разная - типично 16 или 32 бита
( это как основа для данной реализации Форта )
Для сложения, например, чисел двойной размерности - то один элемент
стека будет занимать уже две ячейки и слово 2+ ( удачнее D+ ) сложит уже 2-е ( двойной размерности
каждая ) ячейки.

Для float в стандарте 94года определён отдельный стек и соответственно слова использования float.

Строки могут размещаться как в буферах так и коде программы ( "кодофайле" ) так и в хипе
Есть разные библиотеки для работы со строками.
Можно завести и отдельный стекsmile.gif

Для байт, наример также введены отдельные слова C@ C! ( работа с байтом ячейки )

Цитата(ukpyr @ May 27 2009, 15:38) *
вопрос - зачем весь этот огород если в C все уже сделано ?


Форт тоже это имеет.

Явная типизация на этапе компиляции, как показывает практика,
в Форте почти никому не нужны. ( типы можно ввести или при желании для дополнительного контроля
выводить динамически по семантике слова )


Цитата(MrYuran @ May 27 2009, 15:37) *
Скоро буду пробовать форт на МСП.


Какой вариант выбран для опробации?


Цитата(ukpyr @ May 27 2009, 15:38) *
касательно отладки - кто мешает в С отлаживать каждую функцию отдельно ?


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

P.S. Внесу немного ясности - в работе используется лицензионный IAR.
( требование текущих рабочих реалий )

Сообщение отредактировал Kopa - May 27 2009, 13:12
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 27 2009, 13:14
Сообщение #98


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Kopa @ May 27 2009, 16:59) *
Какой вариант выбран для опробации?

Да вот скачал уже давно camelforth с camelforth.com

Немного напрягает, что нет исходников ядра, дают готовую прошивку под свои параметры, а у меня например, все железки с 2МГц кварцами, а не с 8.
Но это мелочи. Попробовать хватит.

*********
Хотя нет, погорячился. Сейчас глянул, исходники все есть, на ассемблере (.s43 для ИАРа)
Ну и хорошо, будет чем поиграться.

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Kopa
сообщение May 27 2009, 13:30
Сообщение #99


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



Цитата(MrYuran @ May 27 2009, 16:14) *
Да вот скачал уже давно camelforth с camelforth.com
А там уж, если понравится, можно будет выбирать пути дальнейшего развития.


Для msp можно "накидать" симулятор ядра,
хотя msp это не контроллер моего использованияsmile.gif

и рассмотреть другие варианты использования Форта для него.

Пока.

Сообщение отредактировал Kopa - May 27 2009, 13:31
Go to the top of the page
 
+Quote Post
forever failure
сообщение May 28 2009, 07:36
Сообщение #100


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Уважаемые участники, а приведите плз., кто владеет этим языком, так, хотя бы ради интереса, код вычисления контрольной суммы CRC16 на форте ?
Просто интересно сравнить с привычными решениями на Ц.
Go to the top of the page
 
+Quote Post

16 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 21:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.02778 секунд с 7
ELECTRONIX ©2004-2016