Перейти к содержанию
    

А вот бы на FORTH написать...

Ещё вот в глубине души борются две мысли:

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

и вторая (ещё не окрепшая) - что форт - это хороший стиль программирования.

Как тут быть?

Пока вижу выход в том, чтобы писать 2 определения: одно на ассемблере, а рядом - на HiLevel.

И все ассемблерные определения - в отдельный файл типа LowLevel.F

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык хотя бы самые глубокие циклы JIT'ить на ходу. Можно не весь код.

 

Можно, но зачем если проще сразу указать компилятору какие циклы заинлайнить ( ускорить),

а какие оставить, для компактности как есть. JIT, всё же, требует набор статистики по

оптимизации исполнения циклов.

 

 

Ещё вот в глубине души борются две мысли:

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

 

Смотря какой ассемблер ( например kolibri ос пишут на ассемблере ) и степень его использования.

Форт, отчасти, можно считать ассемблером стековой виртуальной машины Форт.

И ассемблер в Форте не обременителен т.к. у него минимальная необходимая функциональность и

т.к. он интегрируется с Форт. Лёгкость тестирования ассемблерного определения в рамках

Форт системы тоже стоит учесть.

 

и вторая (ещё не окрепшая) - что форт - это хороший стиль программирования.

Как тут быть?

 

Размышлять, пробовать использовать :)

 

P.S. Симулируя ядро AVR контроллера, после начального тестирования, дальнейшими

тестами уже выступают примитивы Форт системы. ( пробовал сопряжение с tinyboot )

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

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

входном материале.

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно, но зачем если проще сразу указать компилятору какие циклы заинлайнить ( ускорить),

а какие оставить, для компактности как есть. JIT, всё же, требует набор статистики по

оптимизации исполнения циклов.

 

Ну а что, тоже правильный план. Два слова - STARTJIT и STOPJIT :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё вот в глубине души борются две мысли:

...

 

У меня так:

( непроходящая за время писания на си) - что форт - это лучший стиль программирования

 

 

Ну а что, тоже правильный план. Два слова - STARTJIT и STOPJIT :)

 

И желательно в режиме простоя процессора:)

с анализом предыдущих действий пользователя.

 

Пока.

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот, предварительный черновик книги готов.

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

Некоторые рисунки переделал, некоторые лень было или ниасилил тонкий английский юмор

Короче, вот:

________________________________001.txt

________________________________002.txt

________________________________003.txt

________________________________004.txt

________________________________.bat.txt

 

Блин, просто так хрен зальёшь, только с костылями...

получилось залить сплит-архив zip, ---bat.txt нужно переименовать в .bat, он склеивает обратно.

 

Извиняйте, если что, больше пока никак. Сисадмин прикрыл всё что можно. ftp - в том числе.

 

Эх, новый большой многолетний проект начинается...

Не успел форт изучить...

Придётся опять по старинке, на си...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот, предварительный черновик книги готов.

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

Некоторые рисунки переделал, некоторые лень было или ниасилил тонкий английский юмор

 

Спасибо!

 

Эх, новый большой многолетний проект начинается...

Не успел форт изучить...

Придётся опять по старинке, на си...

 

Ничего страшного.

У меня, только, через несколько лет совпало желание и возможность использовать

Форт в работе:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот, предварительный черновик книги готов.

Короче, вот:

 

Можно взять и здесь

Изменено пользователем IgorKossak
Битые ссылки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решил таки делать кросс-систему на основе spf-4 (замахнуться тсз, на Вильяма нашего Шекспира), заодно одновременно переползаю под мандриву.

И вот такое чудо с русскими исходниками: (не совсем по теме, конечно)

post-33646-1244984017_thumb.png

Как изменить кодировку - непонятно.

Какие линёвые редакторы понимают русскую кодировку?

Попробовал emacs - это что-то с чем-то!

Кстати, калькулятор там использует лисп - на форт весьма похоже

Да похоже, что и не только калькулятор.

Пока идеи роятся в голове, выхода нет, а от винды тошнит.

Эх, будет чем заняться долгими зимними вечерами!

(если к компу подпустят :-/ )

 

Ещё одно наблюдение:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какие линёвые редакторы понимают русскую кодировку?
юзаю GEdit. в мено File/Open внизу можно задать или добавить любую кодировку. подсветка Форта есть, если чего нет можно добавить файл синтаксиса. Есть кучка интересных плагинов, можно писать свои на Питоне.

Для меня работа в нем более привычна чем в таких монстрах как Vim/Emacs. Пробывал Eclipse/Netbeans, но тормоза и ненужные навороты (кстати редакторы в них так себе по сравнению с gedit / scite) все портят.

Есть еще Scite с похожими возможностями, там тоже вроде бы есть поддержка разных кодировок.

Для перекодирования пользуюсь iconv.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

юзаю GEdit. в мено File/Open внизу можно задать или добавить любую кодировку. подсветка Форта есть, если чего нет можно добавить файл синтаксиса. Есть кучка интересных плагинов, можно писать свои на Питоне.

Ура, заработало!

Я тоже GEdit пользовал, только этой строчки не заметил.

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какие линёвые редакторы понимают русскую кодировку?

 

Возможно это поможет

Sp-Forth, Linux и Vim

 

 

Решил таки делать кросс-систему на основе spf-4 (замахнуться тсз, на Вильяма нашего Шекспира),

 

От чего "оттолкнутся" уже сделан выбор?

 

Кстати, калькулятор там использует лисп - на форт весьма похоже

Да похоже, что и не только калькулятор.

 

У лиспа есть некоторые сходные моменты с Фортом, но скобки,скобки.:)

 

Ещё близок, например, Tcl построен на командах. Есть варианты "скрещивания" Tcl и Форт.

 

Пока идеи роятся в голове, выхода нет, а от винды тошнит.

Эх, будет чем заняться долгими зимними вечерами!

(если к компу подпустят :-/ )

 

Т.е. могут отлучить от компьютера :biggrin:

 

Ещё одно наблюдение:

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

 

Скорее по незнанию и расширению файлов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

От чего "оттолкнутся" уже сделан выбор?

Да вот пока не решил...

Полдня вчера исходники колупал, в некоторых местах понятно, некоторые - как китайская грамота...

Может, посоветуете что-то подобное, например, для АВР

Если в тинибуте прямо с ходу всё понятно, то тут не всё так прозрачно.

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

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

Ещё для нормальной работы нужна не только подсветка синтаксиса, но и интерактивная навигация по тексту.

Например, навожу курсор на слово, <Right Mouse> -> <GO TO DEFINITION> и попадаю на кусок, где оно определено.

Или всплывающая подсказка с комментариями (включая стековый).

Есть такие плагины к распространённым IDE?

Или готовые ИДЕ (наверняка коммерческие :( )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да вот пока не решил...

Полдня вчера исходники колупал, в некоторых местах понятно, некоторые - как китайская грамота...

Может, посоветуете что-то подобное, например, для АВР

 

Какие исходники? ( и что подобное?)

 

Если в тинибуте прямо с ходу всё понятно, то тут не всё так прозрачно.

 

Может с ней и поэкспериментировать?

 

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

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

 

Можно и ядро перенести в рамках другого Форт подхода.

 

Ещё для нормальной работы нужна не только подсветка синтаксиса, но и интерактивная навигация по тексту.

Например, навожу курсор на слово, <Right Mouse> -> <GO TO DEFINITION> и попадаю на кусок, где оно определено.

Или всплывающая подсказка с комментариями (включая стековый).

Есть такие плагины к распространённым IDE?

Или готовые ИДЕ (наверняка коммерческие :( )

 

Возможно в Scite есть там специально добавляли поддержку Форт языка.

( узнать поподробнее можно на форуме поддержки разработки )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какие исходники? ( и что подобное?)

исходники spf, особенно compiler и asm.

Возможно, у меня пока каша в голове.

Я пока представляю себе процесс следующим образом:

1. Делаю инлайн-(или кросс?)-ассемблер.

2. На основе него строю ядро таргет-системы.

3. На полученное ядро навешиваю остальное "мясо"

Таргет можно переключать каким-нибудь управляющим словом, например TARGET MSP430

или как-то по другому, не знаю пока, как правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Таргет можно переключать каким-нибудь управляющим словом, например TARGET MSP430

или как-то по другому, не знаю пока, как правильно.

 

 

Forth - подход подразумевает:

 

MSP430 TARGET ! или

MSP430 TO TARGET

:laughing:

 

P.S. Go Forth!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...