Всё же оба компилятора не совсем совместимы - перевёл ключевые слова в каком-то модуле и он не компилируется старым компилятором. В целом достаточно, чтобы перелисованный компилятор компилировал все варианты, а старый - только англоязычный. Правда, это означает, что переход на русские ключевые слова в новых модулях пока откладывается.
Начал создавать инфраструктуру для перевода. При ближайшем рассмотрении в задаче обнаружилось несколько довольно больших подзадач. Дерево грамм. разбора довольно сложное.
Изначально планировал расширить язык, чтобы можно было задавать и английское, и русское название для сущности. Однако подумал-подумал и вместо этого добавил специальные метаданные, в которых и будут указываться переводы. Это соотносится с общей идеем, что мы создаём ОС на русском языке, а английского в ней не более, чем для того, чтобы она не перестала работать. Был в один момент дрейф в сторону двухъязычности, но теперь с этим покончено. Избавиться от английских названий сразу не получится, т.к. команды могут вызываться по динамически формируемым именам, которые никаким способом, кроме полного тестирования, найти нельзя. Полное тестирование нам недоступно. Поэтому в течение длительного времени у всех внешних (интерфейсных) имён останутся английские переводы, к-рые будут загружаться из вот такого XML файла на достаточно раннем этапе загрузки.
При этом существует нижний предел размещения этого модуля. Те модули, которые грузятся до него, должны быть одноязычными хотя бы на момент загрузки - за это придётся некоторое время бороться. Да и вообще, работы ещё много (больше, чем хотелось бы).
https://gitlab.com/budden/jaos/-/commit ... e66eff35e1