Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср янв 17, 2018 03:08

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 12:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6142
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
chess писал(а):
Хищник писал(а):
По крайней мере, компактные приложения, управляющие периферией и что-нибудь снимающие/собирающие/упаковывающие/передающие, с кросс-трансляторами получаются достаточно хорошо.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 12:40 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2098
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 34 раз.
Хищник писал(а):
Приложения-то, конечно, могут быть любые. Но вот именно перечисленные получаются вполне эффективными, если создавать их с помощью кросс-компилятора, который не тащит за собой в целевую систему лишний код.

Еще раз - в другой формулировке. Не вижу разницы перечисленных и всех остальных приложений с точки зрения эффективности.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 12:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6142
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
chess писал(а):
Еще раз - в другой формулировке. Не вижу разницы перечисленных и всех остальных приложений с точки зрения эффективности.

Очень просто. Допустим, Форт в МК занимает 500 байт. Тогда для прикладной программы размером 500 байт придется выделить 1000, и 50% памяти занято не задачей, а чем-то еще (что вполне можно было выполнять на хост-машине). Если задача занимает 4500 байт, то посторонний код занимает уже только 10%. Для дешевых МК это может оказаться важным, тем более что "памяти никогда много не бывает", и вынужденный переход к более дорогому МК только из-за того, что в его памяти болтается лишний код, положенный туда "по религиозным соображениям", воспримется очень негативно. А вот для более емких лишняя функциональность вполне может оказать положительный эффект, поскольку большая и сложная задача влечет за собой не только сложную отладку, но и, возможно, более сложный порядок эксплуатации - загрузка настроек, управление режимами, диагностику с помощью загружаемых скриптов (которые в изначально реализованном коде отсутствовали).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 13:03 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2098
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 34 раз.
Хищник писал(а):
Очень просто. Допустим, Форт в МК занимает 500 байт.

А, понятно. Я же со своей колокольни гляжу. У меня нет Форта в памяти МК(так работает кросс-компилятор).
То есть, если в программе для МК нет DUP, то и в ПЗУ МК не будет DUP.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 13:41 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Хищник писал(а):
... перечисленные получаются вполне эффективными, если создавать их с помощью кросс-компилятора, который не тащит за собой в целевую систему лишний код.


Кросс-компилятор может тащить за собой любой код т.к. это зависит
от реализации кросс-компилятора.

P.S. Хищник, chess и др. просьба для споров "методологического" плана создать отдельный топик
, правильно его назвать и перенести туда последние сообщения, чтобы
не "разбух" топик


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 13:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6142
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
Kopa писал(а):
Кросс-компилятор может тащить за собой любой код т.к. это зависит от реализации кросс-компилятора.

Но мы-то и говорим о том, какой конкретно код и в каком составе надо компилировать в память МК.

Kopa писал(а):
P.S. Хищник, chess и др. просьба для споров "методологического" плана создать отдельный топик
, правильно его назвать и перенести туда последние сообщения, чтобы не "разбух" топик


А почему наши сообщения не на месте? Речь идет о кросс-компиляторе для 8051 и других некрупных МК. Мы обсуждаем, что будет для него полезнее, в контексте более ранних сообщений.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 14:25 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Хищник писал(а):
А почему наши сообщения не на месте? Речь идет о кросс-компиляторе для 8051 и других некрупных МК. Мы обсуждаем, что будет для него полезнее, в контексте более ранних сообщений.


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

P.S. Не думаю, что автор топика хочет получить "абстрактное" видение
идеального Форт кросс-компилятора.
Требуется выбор конкретной "удочки":)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 22:15 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Ср дек 06, 2006 09:23
Сообщения: 512
Благодарил (а): 5 раз.
Поблагодарили: 25 раз.
RodionGork, попробуйте SwiftX или ByteForth для 51-го. подойдёт под любой чип из семейства, ну...практически. объема допустимого кода в демо версии может для небольшой задачи хватить. Со SwiftX-ом проблема объема кода в демо версии решаема


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 22:26 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 4839
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 18 раз.
Поблагодарили: 52 раз.
RodionGork писал(а):
mOleg: статью почитаю, поскольку предоставленный любезно вами перевод первой ее части имел среди меня популярность и успех Что касаемо ваших доводов против кросс-компилятора, мой взгляд на это выразил товарищ Хищник в начале своего сообщения.

это не доводы против, а доводы за, кстати, http://www.wl.unn.ru/lab/Portals/0/Ragozin.pdf кажется в этой презинтации был Форт с транслятором в ~ 500 байт кода. С другой стороны можно глянуть с сторону Color Forth (только не на интерфейс, а на внутреннее устройство), и еще где-то (сейчас не смогу найти быстро) было описание того как можно транслировать предварительно обработанный код. То есть транслируются не строки, а последовательности чисел(токенов). Короче, транслятор текста вообще может быть очень маленьким.

RodionGork писал(а):
- встраивание интерфейса в контроллер похитит, я думаю, 4-8 килобайт памяти программ, не вполне ясное количество ОЗУ, ну и сам канал займет (хотя если он для работы с терминалом используется, это не так печально - а если, скажем, с модемом - уже нехорошо) - при этом если сама задача требует от контроллера такое же количество ресурсов (или даже меньшее - согласитесь, мелких задачек куча) - то это будет уже не очень приятно (ну, скажем, если себестоимость изделий изменится с $2 до $3 на партии в 1000 штук, уже задумчивость придет);

вот эти ваши прикидки сомнительны. Для 16-битного Форта в такой объем памяти можно вместить значительно больше функциональности. Собственно сам транслятор - это приблизительно такой код:

: INTERPRET ( --> )
BEGIN NextWord *WHILE
EVAL-TOKEN ?STACK
REPEAT DDROP ;
вот NextWord может брать из канала всего одно число (а не работать со стоками)
а EvalToken искать это число (ХЭШ к примеру) в односвязном списке или в таблице.
Вопрос в том, сколько у вас на МК будет слов без транслятора (может оказаться что транслятор вам вообще ничего не стоит - 20 байт памяти ;)
вобщем тут можно подходить очень творчески. А выигрыш идет в простоте реализации системы и расширении ее потенциальных возможностей.
С другой стороны, turnkey не так просто сделать, и более сложный код - это потенциальное место для ошибок.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 22:37 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
RodionGork писал(а):
Посмотрел несколько вариантов ФОРТ для 51-х процессоров.


Можете перечислить какие? ( возможно какие то пропустили )
тогда можно подсказать какие ещё сущетвуют и выложить архивы проектов, для рассмотрения, с переставших существовать сайтов .

P.S. Одна из реализаций на С для 51 ядра Форта
CalForth v1.3 Jan 02 2006


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср сен 02, 2009 23:55 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
RodionGork писал(а):
Что касаемо запускания/незапускания


Подозреваю, что ты меня неправильно понял. В общем, про версию с модулем не запускающимся
под winXP, можно забыть. Однако, его можно использовать в качестве прототипа, что я и сделал.
С Фортом вообще, никаких проблем. Проблема только с целевым процессором. Деле в том,
что мне лень искать для него документацию тем более, что я вряд-ли его буду использовать.
Я бы хотел иметь результат компиляции простенькой программы для 8051 (эхо по УАРТу)
хоть на Си хоть на ассемблере. Я произведу компиляцию этого-же модуля но средствами Форта.


RodionGork писал(а):
вот я б точно предпочел кросс-компилятор ФОРТа видеть написанным на Си,


Не вижу смысла в чистом кросс-компиляторе ФОРТа.
Дело в том, что в качестве кросс-компилятора можно использовать любую
форт-систему (не важно на чем написанную). ff303 использует WIN32FOR я СПФ.
Вообще форт-системы на си есть GFORTH PFE FICL, но они общего назначения.
Могу свой кросс-компилятор адаптировать под один из них.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 03, 2009 00:16 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6142
Благодарил (а): 14 раз.
Поблагодарили: 96 раз.
Mihail писал(а):
RodionGork писал(а):
вот я б точно предпочел кросс-компилятор ФОРТа видеть написанным на Си,

Не вижу смысла в чистом кросс-компиляторе ФОРТа.

А RodionGork - видит, и имеет на это полное право. Кому потом работать-то? Кросс-компилятор Форта вполне может быть написан на Си, тем более что для решения задачи преимущественно кросс-компиляции он даже не должен быть полнофункциональным.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 03, 2009 11:17 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Хищник писал(а):
Кросс-компилятор Форта вполне может быть написан на Си, тем более что для решения задачи преимущественно кросс-компиляции он даже не должен быть полнофункциональным.


Что значит не полнофункциональным? Форт не может быть не полнофункциональным.
Иначе, это не Форт вообще. Смысл Форта в неограниченной саморасширяемости.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт сен 03, 2009 20:15 
Не в сети

Зарегистрирован: Вс июн 21, 2009 19:11
Сообщения: 81
Откуда: Н.Новгород
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
RodionGork писал(а):
Уважаемые товарищи!
Если так дальше пойдет, я скоро отчаюсь. weep

Спокойствие!
Скоро я завяжу с датчиком Mettler Toledo и опять вернусь к форту.
Попробую расколупать вариант Михаила. (Хотя бы запустить! )


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс сен 13, 2009 11:51 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Ещё можно рассмотреть, как вариант, ( сделан для 68С12 )
WHYP

Состоит из двух частей:
Host части на С++
и поддержки Target рантайм (125 слов ~ 2Кб )


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4  След.

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


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

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