MrYuran 0 Posted June 5, 2009 · Report post Ещё вот в глубине души борются две мысли: Первая - (уже укоренившаяся за время писания на си) что ассемблер в тексте программы - это совсем не гут и вообще дурной стиль, и вторая (ещё не окрепшая) - что форт - это хороший стиль программирования. Как тут быть? Пока вижу выход в том, чтобы писать 2 определения: одно на ассемблере, а рядом - на HiLevel. И все ассемблерные определения - в отдельный файл типа LowLevel.F Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Kopa 0 Posted June 5, 2009 (edited) · Report post Дык хотя бы самые глубокие циклы JIT'ить на ходу. Можно не весь код. Можно, но зачем если проще сразу указать компилятору какие циклы заинлайнить ( ускорить), а какие оставить, для компактности как есть. JIT, всё же, требует набор статистики по оптимизации исполнения циклов. Ещё вот в глубине души борются две мысли: Первая - (уже укоренившаяся за время писания на си) что ассемблер в тексте программы - это совсем не гут и вообще дурной стиль, Смотря какой ассемблер ( например kolibri ос пишут на ассемблере ) и степень его использования. Форт, отчасти, можно считать ассемблером стековой виртуальной машины Форт. И ассемблер в Форте не обременителен т.к. у него минимальная необходимая функциональность и т.к. он интегрируется с Форт. Лёгкость тестирования ассемблерного определения в рамках Форт системы тоже стоит учесть. и вторая (ещё не окрепшая) - что форт - это хороший стиль программирования. Как тут быть? Размышлять, пробовать использовать :) P.S. Симулируя ядро AVR контроллера, после начального тестирования, дальнейшими тестами уже выступают примитивы Форт системы. ( пробовал сопряжение с tinyboot ) При этом т.к. используется необходимое подмножество команд то и дальнейшие оптимизационные стратегии кода могут более полно использоваться на ограниченном входном материале. Edited June 5, 2009 by Kopa Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Rst7 0 Posted June 5, 2009 · Report post Можно, но зачем если проще сразу указать компилятору какие циклы заинлайнить ( ускорить), а какие оставить, для компактности как есть. JIT, всё же, требует набор статистики по оптимизации исполнения циклов. Ну а что, тоже правильный план. Два слова - STARTJIT и STOPJIT :) Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Kopa 0 Posted June 5, 2009 (edited) · Report post Ещё вот в глубине души борются две мысли: ... У меня так: ( непроходящая за время писания на си) - что форт - это лучший стиль программирования Ну а что, тоже правильный план. Два слова - STARTJIT и STOPJIT :) И желательно в режиме простоя процессора:) с анализом предыдущих действий пользователя. Пока. Edited June 5, 2009 by Kopa Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MrYuran 0 Posted June 9, 2009 · Report post Ну вот, предварительный черновик книги готов. Формат - doc (совершенно не предназначенный для таких документов) Некоторые рисунки переделал, некоторые лень было или ниасилил тонкий английский юмор Короче, вот: ________________________________001.txt ________________________________002.txt ________________________________003.txt ________________________________004.txt ________________________________.bat.txt Блин, просто так хрен зальёшь, только с костылями... получилось залить сплит-архив zip, ---bat.txt нужно переименовать в .bat, он склеивает обратно. Извиняйте, если что, больше пока никак. Сисадмин прикрыл всё что можно. ftp - в том числе. Эх, новый большой многолетний проект начинается... Не успел форт изучить... Придётся опять по старинке, на си... Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Kopa 0 Posted June 9, 2009 · Report post Ну вот, предварительный черновик книги готов. Формат - doc (совершенно не предназначенный для таких документов) Некоторые рисунки переделал, некоторые лень было или ниасилил тонкий английский юмор Спасибо! Эх, новый большой многолетний проект начинается... Не успел форт изучить... Придётся опять по старинке, на си... Ничего страшного. У меня, только, через несколько лет совпало желание и возможность использовать Форт в работе:) Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Kopa 0 Posted June 10, 2009 (edited) · Report post Ну вот, предварительный черновик книги готов. Короче, вот: Можно взять и здесь Edited July 30, 2009 by IgorKossak Битые ссылки Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MrYuran 0 Posted June 14, 2009 · Report post Решил таки делать кросс-систему на основе spf-4 (замахнуться тсз, на Вильяма нашего Шекспира), заодно одновременно переползаю под мандриву. И вот такое чудо с русскими исходниками: (не совсем по теме, конечно) Как изменить кодировку - непонятно. Какие линёвые редакторы понимают русскую кодировку? Попробовал emacs - это что-то с чем-то! Кстати, калькулятор там использует лисп - на форт весьма похоже Да похоже, что и не только калькулятор. Пока идеи роятся в голове, выхода нет, а от винды тошнит. Эх, будет чем заняться долгими зимними вечерами! (если к компу подпустят :-/ ) Ещё одно наблюдение: почему-то многие редакторы определяют фортовые исходники как фортрановые... Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ukpyr 0 Posted June 14, 2009 · Report post Какие линёвые редакторы понимают русскую кодировку?юзаю GEdit. в мено File/Open внизу можно задать или добавить любую кодировку. подсветка Форта есть, если чего нет можно добавить файл синтаксиса. Есть кучка интересных плагинов, можно писать свои на Питоне. Для меня работа в нем более привычна чем в таких монстрах как Vim/Emacs. Пробывал Eclipse/Netbeans, но тормоза и ненужные навороты (кстати редакторы в них так себе по сравнению с gedit / scite) все портят. Есть еще Scite с похожими возможностями, там тоже вроде бы есть поддержка разных кодировок. Для перекодирования пользуюсь iconv. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MrYuran 0 Posted June 14, 2009 · Report post юзаю GEdit. в мено File/Open внизу можно задать или добавить любую кодировку. подсветка Форта есть, если чего нет можно добавить файл синтаксиса. Есть кучка интересных плагинов, можно писать свои на Питоне. Ура, заработало! Я тоже GEdit пользовал, только этой строчки не заметил. Спасибо. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Kopa 0 Posted June 15, 2009 · Report post Какие линёвые редакторы понимают русскую кодировку? Возможно это поможет Sp-Forth, Linux и Vim Решил таки делать кросс-систему на основе spf-4 (замахнуться тсз, на Вильяма нашего Шекспира), От чего "оттолкнутся" уже сделан выбор? Кстати, калькулятор там использует лисп - на форт весьма похоже Да похоже, что и не только калькулятор. У лиспа есть некоторые сходные моменты с Фортом, но скобки,скобки.:) Ещё близок, например, Tcl построен на командах. Есть варианты "скрещивания" Tcl и Форт. Пока идеи роятся в голове, выхода нет, а от винды тошнит. Эх, будет чем заняться долгими зимними вечерами! (если к компу подпустят :-/ ) Т.е. могут отлучить от компьютера Ещё одно наблюдение: почему-то многие редакторы определяют фортовые исходники как фортрановые... Скорее по незнанию и расширению файлов. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MrYuran 0 Posted June 15, 2009 · Report post От чего "оттолкнутся" уже сделан выбор? Да вот пока не решил... Полдня вчера исходники колупал, в некоторых местах понятно, некоторые - как китайская грамота... Может, посоветуете что-то подобное, например, для АВР Если в тинибуте прямо с ходу всё понятно, то тут не всё так прозрачно. Параллельно я ещё с кэмелом буду играться, хочу пощупать вытесняющую многозадачность. Там, правда, тоже надо ассемблер приклепать, чтобы исходное ядро каждый раз не перезаливать. Ещё для нормальной работы нужна не только подсветка синтаксиса, но и интерактивная навигация по тексту. Например, навожу курсор на слово, <Right Mouse> -> <GO TO DEFINITION> и попадаю на кусок, где оно определено. Или всплывающая подсказка с комментариями (включая стековый). Есть такие плагины к распространённым IDE? Или готовые ИДЕ (наверняка коммерческие :( ) Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Kopa 0 Posted June 15, 2009 · Report post Да вот пока не решил... Полдня вчера исходники колупал, в некоторых местах понятно, некоторые - как китайская грамота... Может, посоветуете что-то подобное, например, для АВР Какие исходники? ( и что подобное?) Если в тинибуте прямо с ходу всё понятно, то тут не всё так прозрачно. Может с ней и поэкспериментировать? Параллельно я ещё с кэмелом буду играться, хочу пощупать вытесняющую многозадачность. Там, правда, тоже надо ассемблер приклепать, чтобы исходное ядро каждый раз не перезаливать. Можно и ядро перенести в рамках другого Форт подхода. Ещё для нормальной работы нужна не только подсветка синтаксиса, но и интерактивная навигация по тексту. Например, навожу курсор на слово, <Right Mouse> -> <GO TO DEFINITION> и попадаю на кусок, где оно определено. Или всплывающая подсказка с комментариями (включая стековый). Есть такие плагины к распространённым IDE? Или готовые ИДЕ (наверняка коммерческие :( ) Возможно в Scite есть там специально добавляли поддержку Форт языка. ( узнать поподробнее можно на форуме поддержки разработки ) Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MrYuran 0 Posted June 15, 2009 · Report post Какие исходники? ( и что подобное?) исходники spf, особенно compiler и asm. Возможно, у меня пока каша в голове. Я пока представляю себе процесс следующим образом: 1. Делаю инлайн-(или кросс?)-ассемблер. 2. На основе него строю ядро таргет-системы. 3. На полученное ядро навешиваю остальное "мясо" Таргет можно переключать каким-нибудь управляющим словом, например TARGET MSP430 или как-то по другому, не знаю пока, как правильно. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
chu 0 Posted June 15, 2009 · Report post Таргет можно переключать каким-нибудь управляющим словом, например TARGET MSP430 или как-то по другому, не знаю пока, как правильно. Forth - подход подразумевает: MSP430 TARGET ! или MSP430 TO TARGET :laughing: P.S. Go Forth! Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...