Kopa 0 26 сентября, 2012 Опубликовано 26 сентября, 2012 (изменено) · Жалоба Да ведь развлекаться будут... И пусть, лишь бы к контроллеру были подключены реальные механизмы, датчики для эспериментов. - Почему? Это вроде можно на любом языке. Стековая архитектура может позволит сделать просто более оптимальную трассировку? Не совсем, хотя в контроллеры встраивают, чаще всего Бейсик, но затраты ресурсов на его обработку "гораздо" больше, при сравнении с "мизирной" поддержкой Форт системы. Phyton, Lua, Tcl тоже достаточно громоздкие. Форт, к моему сожалению, не знаю. Нужно время, пойду разбираться Начните с имеющихся, хотя и отчасти и устаревших учебников. Буду признательна. Соблазнилась и купила Launchpad в прошлом году именно из-за архитектуры PDP-11. Похожая, кстати, архитектура у первых мотороловских микропроцессоров 68000 и т.д. Дешевизна Launchpad-а, разумеется, важный фактор. Попробую подобрать или скомпоновать возможный вариант введения в Форт и в применениии его к контроллерам. P.S. стартовая ссылка для "погружения" в Форт методологию, вроде была уже озвучена fforum.winglion.ru Некторые ссылки на материалы могут уже не существовать, но из web или в личных архивах фортёров можно, наверное, найти этот материал. Изменено 26 сентября, 2012 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tanya 4 26 сентября, 2012 Опубликовано 26 сентября, 2012 · Жалоба - Почему? Это вроде можно на любом языке. Стековая архитектура может позволит сделать просто более оптимальную трассировку? Компиляция идет внутри. Можно быстро пробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 26 сентября, 2012 Опубликовано 26 сентября, 2012 (изменено) · Жалоба Немного ссылок на презентации Форта. Включены слайд курс лекций по тематике Forth The Structure of Programming Languages Fall 2012 The Forth Language (простая) Forth Pesentation Изменено 26 сентября, 2012 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
polyname 0 26 сентября, 2012 Опубликовано 26 сентября, 2012 (изменено) · Жалоба Студент ввел строку программы и тут же запустил и увидел результат.и к этому элементарно добавляются удаленный доступ, например запускается простейший локальный сервер (фактически ретранслятор в COM порт) и прямо из броузера можно производить любые настройки параметров, дописывать свои алгоритмы и т.д. Программы на IEC 61131 элементарно транслируются в Форт. Изменено 26 сентября, 2012 пользователем polyname Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 26 сентября, 2012 Опубликовано 26 сентября, 2012 (изменено) · Жалоба и к этому элементарно добавляются удаленный доступ, например запускается простейший локальный сервер (фактически ретранслятор в COM порт) и прямо из броузера можно производить любые настройки параметров, дописывать свои алгоритмы и т.д. Программы из IEC 61131 элементарно транслируются на Форт. Часто поддержа Форт реализуется на разных языках программирования и скриптования, при этом существует возможность в программу на данном языке встроить (внедрить) Форт консоль для наращивания необходимого "скриптового" функционала Форт расширениями (если предположить, что Форт "наиболее" прост в использовании для создания скриптов ) ... (разные примеры этого подхода тоже имеют место быть) можно даже "более" глубоко задействовать внутренние ресурсы системы используемого языка (инструмента) и сформировать лексикон слов исходя из необходимых и имеющихся возможностей, например даже на этапе сборки языка (инструментария) не имеющих достаточных возможностей к саморасширению. P.S. На средствах Web браузера, Форт "консоли", тоже запускают. "Некоторым" студентам Форт не чужд и интересен. Форт направление - всё ещё поле "невспаханных" возможностей:) В применении к контроллерам, мой вариант был запуск эмулятора процессора с интерфейсом на СOM порту (внешними модельками дополнялся код симулятора), а второй СОМ порт был IDE среды и оба COM порта виртуально соединялись для "черновой" отладки без неоходимости использования железа. При выявленных расхождениях с железом, тут же правилась и исправлялась модель процессора или периферии:) и IDE и эмулятор процессора спроектированы на Форт языке, но разных "диалектах" Программы на IEC 61131 элементарно транслируются в Форт Встречал некоторый варианты расширения, когда релейная схема в текстовой псевдографики, воспринималась расширением Форт системой, как входная программа для трансляции. Такого плана экспериментальные небольшие разработки часто встречаются. Изменено 26 сентября, 2012 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 16 27 сентября, 2012 Опубликовано 27 сентября, 2012 · Жалоба Встречал некоторый варианты расширения, когда релейная схема в текстовой псевдографики, воспринималась расширением Форт системой, как входная программа для трансляции. Такого плана экспериментальные небольшие разработки часто встречаются. А ссылку не можете привести? Тоже была такая мысль, но самому колхозить некогда Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 27 сентября, 2012 Опубликовано 27 сентября, 2012 (изменено) · Жалоба А ссылку не можете привести? Тоже была такая мысль, но самому колхозить некогда Попробую найти или подумать в этом направлении, (возможно встречал, в сообщениях форума comp.lang.forth на слово Ladder), а пока приведу обсуждавшуюся тему: СЛОВАРИ ФОРТА В РЕАЛИЗАЦИИ КОНЕЧНОГО АВТОМАТА от прочтения которой, возможно, стоит "оттолкнуться" и посмотреть следующий блог Конечные автоматы и таблицы решений на SPF P.S. Возможно, что то было близко к этому, Plc ladder logic compiler idea со страницы обсуждения { DEMO LADDER LOGIC ORIGINAL LADDER LOGIC DIAGRAM | X000 X001 |----| |------| |---| | | | X004 X005 | X002 |----| |------| |---|--|/|---| | | | X006 X007 | |----| |------| |------------| | | | Y000 | X003 Y000 |----| |---------------------|---|/|-----------------------( | } \ FORTH CODE BELOW variable inputs variable outputs : -; IMMEDIATE \ dummy spacing, compiles nothing : |< ( bitnum -- bitmask ) 1 SWAP SHL; : -||- ( flag adr -- flag ) |< inputs AND 0<> AND; : -|/|- ( flag adr -- flag ) |< inputs AND 0= AND; : -( ( flag adr -- ) SWAP IF outputs SET ELSE outputs RES THEN; : -()- ( flag adr -- flag ) 32 + -||-; : READ INA@ inputs !; : WRITE outputs @ OUTA!; ALIAS FALSE | ALIAS TRUE |- ALIAS : LADDER ALIAS; END ALIAS OR -| \ DEMO LADDER PROGRAM LADDER DEMO READ | |- 00 -||- 01 -||- -| |- 04 -||- 05 -||- -| 02 -[/]- -| |- 06 -||- 07 -||- - - - - - - -| |- 00 -()- - - - - - - - - - - -| 03 -|/|- 00 -( WRITE END Отдельная реализация на С Ladder Logic для PIC и AVR Изменено 27 сентября, 2012 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Виктория 0 27 сентября, 2012 Опубликовано 27 сентября, 2012 · Жалоба Немного ссылок на презентации Форта. Спасибо. Ещё найти бы хорошую старую книжку С релейной логикой красивый пример :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 16 27 сентября, 2012 Опубликовано 27 сентября, 2012 · Жалоба Спасибо. Ещё найти бы хорошую старую книжку Ищите Лео Броуди (Leo Browdie) Его "Thinking Forth" - отличная книга не только по теме, но и по вопросам алгоритмизации вообще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 27 сентября, 2012 Опубликовано 27 сентября, 2012 (изменено) · Жалоба Спасибо. Ещё найти бы хорошую старую книжку С релейной логикой красивый пример :-) А зачем сложно искать? Книги из раздела Литература Прочтение можно начать с Начального курса программирования (Броуди) рус, Starting Forth (еngl) Язык Форт и его реализации (Баранов,Ноздрунов) Способ мышления - Форт (Броуди) рус, Thinking Forth (engl) дальше по интересу. ... и стандартов на язык ANSI 94 Forth 83 (в изданных книгах 90-х годов) и брать "любую" подходящую Форт систему и "изучать" устройство, примеры, возможности созданные в ней :) ( например SPF4, Win32Forth и другие по мере "погружения" в Форт Мир) Завести себе блокнотик (словарик) для запоминания стандартных слов по группам. Изменено 27 сентября, 2012 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Виктория 0 27 сентября, 2012 Опубликовано 27 сентября, 2012 · Жалоба А зачем сложно искать? Книги ... Завести себе блокнотик (словарик) для запоминания стандартных слов по группам. Ups, на bookFI.org нашлась брошюра общества "Знания" - в помощь лектору древняя книжка и дома в книжном шкафу "Программирование на языке Форт" Семенова Ю.А. Спасибо всем! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 16 30 октября, 2012 Опубликовано 30 октября, 2012 · Жалоба Специально заказал TI Launchpad, чтобы попробовать этот 4e4th :) > 4E4th-se v0.34 Apr 5 2012|110001110 Warm > 1 2 3 ok > + + . 6 ok > : Hello ." Hello World! "; ok > Hello Hello World! ok > Один косяк только омрачил этот светлый миг. Почему-то через ихнюю TUSB3410 ни в какую не хочет работать. Пришлось снаружи на проводках подвешивать нормальный шнурок СОМ-UART Все-таки, красивше было бы через USB напрямую работать. PS: Эх я тум-тум! Джамперы неправильно воткнул (в смысле, они уже были воткнуты) Но они (техасцы) тоже хороши: три джампера вдоль, а два крайних поперек. Хорошо полез дорожки посмотреть и наткнулся на соответствующую шелкографию. То есть у меня был режим SW UART, а нужен HW. Ну все, теперь полный хэппи энд, в смысле хэппи старт. Будем с сыном робота делать, попутно изучая азы. Кора, спасибо огромное за ссыль. CamelForth мне и раньше нравился, а новые фичи SAVE и WIPE - это именно то, чего не хватало. Ну и что работает искаропки (которая, кстати, из Техаса до Нижнего ровно за неделю дошла) - тоже большой плюс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SyncLair 0 30 октября, 2012 Опубликовано 30 октября, 2012 · Жалоба 1.Но пока, я в упор не вижу -- где можно использовать "скриптовый" язык в МК-устройствах. Скрипты хороши тогда, когда нужно время от времени подправлять их (скриптов) работу. 2. Очень плотная упаковка кода? Хм... Это как? Разве есть какие-то проблемы с МК, у которых не хватает памяти? Люди уже давно не пишут на асме большие проги (большие, скажем, 2-4 килоайт) ради того, чтобы сэкономить еще "один байт". Смысл ужиматься? Не хватает памяти -- возьмите другой МК. 3. Как у Форта обстоят дела с многозадачностью? Можно-ли на нем написать event-driven ПО? (Уточняю -- событийно-управляемое ПО.) 1. Менее грамотные специалисты-программисты просто пишут скриптовый файл -- система их выполняет. Актуально на мой взгляд, сложно ли будет написать форт интерпретатор который кушает что-то типа DOSовских *.BAT файлов? 2. Вот действительно как оценить упаковку кода? Наверное имелось в виду то, что программа на Форте меньше занимает строк, слов, выражений Я правильно понимаю? 3.Вот этот вопрос меня действительно интересует! Есть в Форте механизмы параллельного исполнения? Или единственный вариант -- упаковывать все события в системе в одну большую очередь и обрабатывать их единственным интерпретатором. И напоследок ещё один вопрос! Есть ли где примеры того что на форте написан рельно работающий интерпретатор для embedded устройств. Интересует хотя бы такие вещи: 1.Чтение конфигурационных файлов для загрузчика -- на подобие синтаксиса GRUB или UBOOT 2.Интерпретация FTP команд embedded FTP сервером ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 16 31 октября, 2012 Опубликовано 31 октября, 2012 · Жалоба 2. Вот действительно как оценить упаковку кода? Наверное имелось в виду то, что программа на Форте меньше занимает строк, слов, выражений Я правильно понимаю? Не только. Основная идея в том, что программа состоит из слов. Каждое новое слово - это небольшое "предложение" (причем, можно сделать удивительно похоже на нормальную речь), состоящее из слов более низкого уровня. За счет их разной комбинации достигается высокая степень повторного использования кода. Плюс, сама программа состоит из ссылок на слова либо (ценой уменьшения скорости) может представлять собой байт-код. Плюс, работа через стек освобождает от необходимости передачи аргументов какими-либо другими способами. 1.Чтение конфигурационных файлов для загрузчика -- на подобие синтаксиса GRUB или UBOOT сановские загрузчики целиком на форте написаны. Open Boot, Open Firmware, OLPC boot script Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ashr 0 31 октября, 2012 Опубликовано 31 октября, 2012 · Жалоба 2MrYuran А чем закончились ваши отношения с Forpost? (если я не ошибаюсь, и это были вы) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться