Поезд где-то сходит с рельсов. Здесь будет журнал мучений.
1. В команде линковки заменил Builtins на ПримитивыСредыВыполнения (но изменение пропало вместе с временным файлом) - повторить. Вряд ли поможет, но посмотрим.
перевод модуля Machine - как его оживить
Re: перевод модуля Machine - как его оживить
Пересобранная англоязычная версия. В неё копируем все source, создаём директорию ЯОС:NewWin32b
и
Что наблюдаем?
Это значит, что внутри ассемблерных вставок переводчик не переводит, мы перевели параметры и код протух. В прошлый раз было то же самое, но я, видимо, один раз скомпилировал неаккуратно, испортил директорию bin и после этого всё развалилось (компилятор перестал запускаться).
и
Код: Выделить всё
СборщикВыпускаЯОС.Скомпилируй --лис -o='-p=Win32 ' --скомпилируй --путьКОбъектнымФайлам='C:/ob/jaos/NewWin32b/' Win32
Код: Выделить всё
Windows.Machine.Mod@8558 : ошибка: constant expected. �шКод in line 271, col 23, pos 8558
Windows.Machine.Mod@8580 : ошибка: constant expected. RDI, [RBP + destAdr(*!*)] in line 272, col 20, pos 8580
Re: перевод модуля Machine - как его оживить
Пострадавшие процедуры:
ЗаполниДиапазонБайтовПредставлениемЦел32
атомарноИсключиИзМнваНаБитах
ДайИдентификаторПроцессора
ПоменяйПорядокБайтЦел32
Для них надо отменить перевод параметров.
ЗаполниДиапазонБайтовПредставлениемЦел32
атомарноИсключиИзМнваНаБитах
ДайИдентификаторПроцессора
ПоменяйПорядокБайтЦел32
Для них надо отменить перевод параметров.
Re: перевод модуля Machine - как его оживить
Переделал словарь и заново запустил перевод на русский. Следующие действия:
- когда переведётся, создать в гите новую локальную ветку, не подлежащую отправке
- зафиксировать в ней переведённые исходники
- пересобрать обычным скриптом пересборки, убрав опцию "английские имена". Появится русскоязычная ЯОС с новым модулем
- пересобрать все конфигурации и убедиться, что больше нет падений
- в случае успеха, сделать новую копию ЯОС - jaos-ru, переключиться там на русскую ветку и скопировать из английской
директорию source, win32/bin, win32/oberon.exe.
- убедиться в работоспособности и пересобрать саму себя
- зафиксировать в jaos-ru русскую ветку и отправить.
- удалить jaos
- переименовать jaos-ru в jaos
- стереть временную ветку
- когда переведётся, создать в гите новую локальную ветку, не подлежащую отправке
- зафиксировать в ней переведённые исходники
- пересобрать обычным скриптом пересборки, убрав опцию "английские имена". Появится русскоязычная ЯОС с новым модулем
- пересобрать все конфигурации и убедиться, что больше нет падений
- в случае успеха, сделать новую копию ЯОС - jaos-ru, переключиться там на русскую ветку и скопировать из английской
директорию source, win32/bin, win32/oberon.exe.
- убедиться в работоспособности и пересобрать саму себя
- зафиксировать в jaos-ru русскую ветку и отправить.
- удалить jaos
- переименовать jaos-ru в jaos
- стереть временную ветку
Re: перевод модуля Machine - как его оживить
Нда, это всё как-то ужасно медленно, но слёту не получается сделать быстрее. Проблема с ассемблером - в том, что ассемблерный блок может быть где угодно и, наверное, может ссылаться на любую глобальную сущность. Т.е. нужно, похоже, делать какой-то инструмент, который, к примеру, во время сборки ассемблера будет ругаться на сущности, у которых в принципе есть словарь. Тогда мы их отловим на более раннем этапе. Второй возможный вариант - это переводить сущности внутри ассемблера, но он выглядит утопичным.