gudleifr писал(а):
Эти изменения будут глубоко вторичными. Например, как-то совсем непонятно становится, зачем нужен стек контекстов. С другой стороны, CONTEXT безболезненно переставляется, куда прикажут, а CURRENT, наоборот, теряет свой смысл для многих потоков, которые заведомо не могут привести к компиляции чего-либо...
Эти изменения и надо сделать. Открываем редактор.. и что? Немножко думаем о том, что теперь этот Форт сможет интерпретировать по-разному и благополучно закрываем текст без изменений? Я вижу два варианта:
1. При существующем положении вещей штатным порядком запускаем некое слово INTERPRET-MY-FORMAT. В Форте менять ничего не надо.
2. В Форте все-таки надо что-то менять. Вот я и пытаюсь понять, что именно? Не наше отношение к нему, а семантику каких-то конкретных слов, без которой новые интерпретаторы не могут работать так, как надо.
gudleifr писал(а):
Введение понятия вложенных Forth-машин, в первую очередь, приведет к невозможности рассуждать о единой и неделимой правильной Forth-машине, разбитой на уровни "аппаратной независимости", "интерпретации" и "всякой лабуды"...
Ох, а вот эти уровни к интерпретатору имеют очень слабое отношение. Вложенные форт-машины будут обращаться к интерфейсам ОС, файлам, средствам ВВ? Ну так значит, для них тоже надо будет задуматься о Hardware Abstraction Layer. При непроработанном подходе - для каждой такой форт-машины придется думать заново.
Другой аспект проблемы, из-за которого я не слишком концентрируюсь на этих "уровнях" - многообразие платформ для Форта и требований к трансляторам. В том виде, в котором готовится разделение, оно видится избыточным и неуниверсальным.