автоматическое устранение затенения

Только технические вопросы по ЯОС и MINOS. Терминология и прочее - в других форумах.
Ответить
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

автоматическое устранение затенения

Сообщение БудДен » 03.02.21 10:21

Предлагается такой алгоритм устранения затенения одних символов другими:

10 При появлении затенения возникает предупреждение
20 создаём способ распечатки компилятором исходных текстов из дерева разбора, при котором любому символу, затеняющему вышестоящий, приписывается приставка зт_ или какая иная
30 прогоняем все исходники через этот конвертер
40 компилируем всё и смотрим, исчезли ли предупреждения
50 если предупреждения остались, переходим к пункту 30

МихалНик, что скажете, сработает такой алгоритм?

MihalNik
Сообщения: 244
Зарегистрирован: 05.11.18 11:02

Re: автоматическое устранение затенения

Сообщение MihalNik » 03.02.21 12:09

БудДен писал(а):
03.02.21 10:21
Предлагается такой алгоритм устранения затенения одних символов другими:

10 При появлении затенения возникает предупреждение
20 создаём способ распечатки компилятором исходных текстов из дерева разбора, при котором любому символу, затеняющему вышестоящий, приписывается приставка зт_ или какая иная
30 прогоняем все исходники через этот конвертер
40 компилируем всё и смотрим, исчезли ли предупреждения
50 если предупреждения остались, переходим к пункту 30

МихалНик, что скажете, сработает такой алгоритм?
Для надежности в приставку надо нумерацию уровня вложенности.

MihalNik
Сообщения: 244
Зарегистрирован: 05.11.18 11:02

Re: автоматическое устранение затенения

Сообщение MihalNik » 03.02.21 22:32

А вспомнил, там можно приставки для улучшения читаемости типа вх_/вых_/изм_/врем_ зависимости от того параметр или просто локальная.

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

Re: автоматическое устранение затенения

Сообщение БудДен » 04.02.21 00:00

вх/вых - ну можно попробовать, но это усложнение. Я думаю, что при многократной вложенности автоматически он превратится в двойное добавление приставки, вряд ли будет больше трёх где-либо.

MihalNik
Сообщения: 244
Зарегистрирован: 05.11.18 11:02

Re: автоматическое устранение затенения

Сообщение MihalNik » 04.02.21 04:25

БудДен писал(а):
04.02.21 00:00
вх/вых - ну можно попробовать, но это усложнение. Я думаю, что при многократной вложенности автоматически он превратится в двойное добавление приставки, вряд ли будет больше трёх где-либо.
Можно и просто вручную переименовывать так зт_. Это просто мысль как сократить время на придумывание имен, улучшая понятность исходников.

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

Re: автоматическое устранение затенения

Сообщение БудДен » 04.02.21 23:09

Можно попробовать и вручную, но тут при вложенности больше 2 как раз и можно насажать тех самых ужасных ошибок.

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

Имея такой рефакторинг, можно и в полуручном режиме переводить, т.е. говорить, что префикс мы добавляем вручную, а саму замену будет делать компилятор.

Ответить