mOleg писал(а):
gudleifr писал(а):
Любая из существующих Форт-систем достаточно четко делится на три уровня:
уровень интерпретации кода (абстрагирование от реального железа), то, что называется ФВМ;
уровень системы, т.е. создание интерактивной среды (интерпретация текста);
уровень "всякой лабуды" - то, без чего можно обходиться, но придется реализовывать практически в любом случае.
Да, новички, обычно так и рассуждают. Обидно, когда это убеждение остается и в зрелом возрасте и начинает мешать.
Ведь к каким последствиям это приводит?
1. Абстрагирование от реального железа? Если учесть желание многих коллег создавать Forth-процессоры и видеть Forth управляющим языком, то как-то даже не смешно.
С другой стороны - проблемно-ориентированного языка - немного смешнее...
Термин ФВМ, думаю, следует упразднить окончательно, т.к. он настолько идиотский, что его даже никто не может нормально определить...
2. Интерактивная среда? Возможно, но как можно посмотреть в том же FOBOS, от этого места до нормального Forth - еще "пара монтировок по карте". (Там же видно, что этот уровень лежит "ниже" первого). И понятно, "система" тут - никаким местом.
3. "Всякая лабуда"? Да, в этом мы преуспели. Но, ведь именно здесь и требуется некий стандарт (хотя бы - для обмена алгоритмами)...
Вот, как это вижу я:
(Очень условно, т.к. ориентируюсь на свой способ написания Forth с нуля и схему A-F-P, но примерно очерчивает размер бедствия. Таблица N*M всяко должна получиться: по одной оси - цели, по другой - средства).
0. Уровень концепции
* Выбор A
* Выбор F-макросов
* Обоснование выбора с точки зрения P
1. Уровень кодовых слов
* Писание на A
* Использование F-макросов
* Куски на A, необходимые для P
2. Уровень интерпретатора
* Отладочные/интерфейсные куски на A
* F-интерпретатор в шитом коде
* Общие Р- и F-слова
3. Уровень текстового ввода
* A-ассемблер
* F-стандарт
* Реализация P
4. Уровень вторичной F-машины
* A - интерфейс с ОС
* F - вторичная F-машина
* P - Р-машина
В каждой клетке этой таблицы есть что постандартизировать.