дневник Яос

Операционная система, написанная на языке Оберон и проект её перевода на русский язык. Только технические вопросы.
БудДен
Сообщения: 1419
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 14.02.21 14:33

Переименование идентификаторов вроде заработало. Теперь нужно научиться автоматически переименовывать затеняющие. Придумал простой способ, чтобы сделать за один проход: добавлять приставку лNNN, где NNN - уникальный в рамках данного файла номер. Так каждый файл будет обрабатываться за один проход, хотя много файлов могут потребовать много проходов. Можно попробовать делать номер уникальным в рамках всей сборки, но это может оказаться сложно/невозможно.

БудДен
Сообщения: 1419
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 14.02.21 23:31

Сделал переименование затеняющих идентификаторов для одного файла. К сожалению, даже в компиляторе затенения встречаются где-то в 5-6 файлах. Вероятно, стоило бы сделать внешний цикл, который будет убирать затенения сразу для многих файлов. Хотя можно и потерпеть и делать по одному "вручную".

Теперь остаток февраля буду заниматься улучшением инструментов. Наиболее назревшая вещь - расширение функционала "перехода к определению".

БудДен
Сообщения: 1419
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 18.02.21 22:43

Теперь Alt-F7 умеет переходить к файлу, процедуре, смещению в процедуре и смещению в файле.
Есть недоделки - не умеет переходить к процедуре по переведённому имени (ну и ладно).

Зато понял, что рефакторинг "переименуй идентификатор" недоделан - он не меняет словарь переводов. Просто забыл,
что надо это сделать, в итоге словарь для одного модуля разломан. Или не для одного.

Тягомотина ещё на несколько дней, а то и на пару недель, учитывая, что времени почти не остаётся на Яос сейчас.

БудДен
Сообщения: 1419
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 22.02.21 23:18

В общем, я не осилил применять переименование к словарю переводов, так, чтобы это работало красиво. Начался какой-то взрыв копипасты и при том стало ясно, что я уже не контролирую то, что происходит в коде. В конце концов вспомнил, как долго отлаживал движок перевода и сколько в нём малопонятных мне самому заплаток. Видимо, нельзя дальше усложнять. Придётся сделать более простой вариант порождения словаря. Откатил изменения, последние пару дней в итоге оказались полностью непродуктивными.

БудДен
Сообщения: 1419
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 23.02.21 23:58

После смены подхода на более убогий всё пошло гораздо быстрее - уже сделал распечатку словаря с учётом переименований и плюс поправил очередной раз поиск затеняющих одноимённых символов. Нужно ещё это интегрировать, думаю, за неделю в городском транспорте доделаю. В этом случае план-минимум на месяц будет кое-как выполнен.

БудДен
Сообщения: 1419
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 24.02.21 23:18

Вроде доделал перепорождение словаря с учётом переименований. Осталось сделать, чтобы в изначальном словаре
не выводились комментарии, поскольку они теряются при перепорождении с учётом переименований и получается большой и некрасивый diff.

Павиа
Сообщения: 126
Зарегистрирован: 23.05.19 21:28

Re: дневник Яос

Сообщение Павиа » 25.02.21 09:45

Комментарии тоже надо переводить.

БудДен
Сообщения: 1419
Зарегистрирован: 07.10.18 14:01

Re: дневник Яос

Сообщение БудДен » 25.02.21 17:18

Здесь речь идёт не о переводе комментариев в исходниках, а лишь о комментариях в самом словаре переводов, которые порождались и показывали, например, где процедура, а где - ообъект. Они удобны, но необходимости в них нет. Комментарии в исходных текстах никуда не теряются. Конечно, их тоже надо переводить, но движок перевода их не трогает - их можно переводить только вручную.

Ответить