Информация об изменениях

Сообщение Re[2]: Терминология Nitra от 14.03.2015 15:29

Изменено 14.03.2015 15:33 hardcase

Здравствуйте, s22, Вы писали:

s22>для уникальной переменной область вдимости заканчивается местом где она присвавается другому значеню. Пример Раст.

s22>Как тут такое реализовать?

Dataflow анализом во время/после типизации. Значение этой переменной может быть куда-либо передано, например, в разных ветках if.
Re[2]: Терминология Nitra
Здравствуйте, s22, Вы писали:

s22>для уникальной переменной область вдимости заканчивается местом где она присвавается другому значеню. Пример Раст.

s22>Как тут такое реализовать?

Dataflow анализом во время/после типизации. Значение этой переменной может быть куда-либо передано, например, в разных ветках if.
Иными словами, попытавшись еще раз раз прочитать значение переменной по некоторому пути исполнения компилятор должен выдать ошибку вида "illegal variable 'x' usage", а не к "unbound name 'x'".
В твоей интерпретации компилятор может использовать имя x из какой-то внешней области видимости, что выглядит довольно странно.