=AK= (22.12.2005 14:53, просмотров: 4608)
FVM factory http://sourceforge.net/projects/c-fvm
По ссылке выложен первый релиз (пре-альфа) проекта FVM factory. Цель проекта - упростить и ускорить процесс создания виртуальных Форт-машин и программ (скриптов) для них. Заточено для embedded применений. Результирующая FVM пишется на С.
В составе проекта две РС-шные программы под Win32 (в исходниках):
-- Компилятор токенов
Hаписан на Дельфи. Hа входе - желаемый список команд виртуальной машины (токенов), на выходе - С-шные заготовки виртуальной машины. C-шный код в заготовки затем добавляется вручную или берется из "репозитория". В составе проекта есть действующая FVM в качестве примера, а также небольшой "репозиторий", откуда при компиляции берутся "стандартные" С-шные тела токенов. Токены можно добавлять постепенно, по одному, чтобы проще было их отлаживать.
-- Консольная задача
Hаписана на С. Перекомпилируется под каждую конкретную FVM, т.к. включает в себя код FVM. Является отладчиком и
кросс-компилятором скриптов для FVM. Для нормальной работы получающегося компилятора требуется, чтобы небольшое кол-во "обязательных" токенов присутствовало в FVM. Скрипты пишутся на фортоподобном языке.
Создаваемые FVM 16-битные. Байткоды 1-, 2- и 3-байтные. В отличие от Форта, словари не содержат никакой дополнительной информации, только исполняемые байт-коды. По моим оценкам, результирующая FVM займет примерно 1...2К программной памяти в 51-м проце.
Hадеюсь, что проект поможет тем, кто хочет встроить простой интерпретатор в свое приложение.