ДЛЯ ЧЕГО ОНО:
На AT91SAM7S256 + флешка работает небольшая операционка (я про неё в теме про АРМ писал). И чтобы была возможность её полегче программировать - захотелось интерпретируемого языка, да побыстрее.
Язык ФОРТ (как есть) - не понравился. Слижком уж ассемблер напоминает. Но принципы - весьма занятные.
Потому был написан aForth. Он фортподобен, но НЕ ФОРТ.
Что там от ФОРТА:
- все слова разделяются пробелами.
- обратная польская запись выражений.
- компиляция "на лету".
- виртуальная форт-машина.
Что там своего:
по языку:
- типизация (целые, вещественные, строки).
- возможность иметь тип - массив байт.
- адреса памяти преравнены к целым.
- сравнение в соответствии с типом (например можно сравнить две строки - поёмёт).
по виртуальной машине:
- абсолютная модульность - дописать новое слово можно очень быстро.
- словари можно подключать-отключать при компиляции очень просто - добавляя-удаляя их из списка соловарей.
- автогенерация документации по словорям.
В данный момент всё это заточено как под PC (этот вариант я выкладываю сюда), так и под NedoPC-ARMOS. Для NedoPC-ARMOS сейчас идёт работа над нормальной файловой системой во флешке. Как закончу - будет полностью полноценная система - многозадачный низ (для его поддержки допишу слова в aForth) и форт-подобный верх с возможностью выгрузки словарей во флешь. Фактически - полноценный микрокомпьютер на AT91SAM7S.
Исходные тексты:
http://www.nedopc.org/nedopc/upload/afort-cl.1-adoc.tar.bz2
В подкаталоге forth - после компиляции появится символическая ссылка на компилятор aforth.
Файлы с расширением .af - программы на aForth.
Можно посмотреть, пособирать, самому пописать.
Для компиляции самого языка - набрать make.
Для компиляции документации по словам - набрать make doc.
Собирается всё это компилятором gcc под линукс.
На всякий случай - дока по словам:
http://www.nedopc.org/nedopc/upload/aFort-dicts.pdf
http://www.nedopc.org/nedopc/upload/aFort-dicts.dvi
Всё довольно сумбурно, но если кого заинтересует в свете применения - пишите предложения.
ЗЫ
Для коммерческого использования (а вдруг кому интересно?) свяжитесь со мной! Для некоммерческого - пользуйтесь так наздоровье.