From ed90f97c42d79fc684917e13fe307b7d4c5d0fd1 Mon Sep 17 00:00:00 2001 From: Alexander Date: Sun, 22 Jan 2023 18:27:20 +0300 Subject: [PATCH] 2.3-2.3.3. --- 02-основные-типы-данных-выражения/README.md | 109 +++++++++++++++++- .../images/image-2-3.png | Bin 0 -> 49583 bytes 2 files changed, 104 insertions(+), 5 deletions(-) create mode 100644 02-основные-типы-данных-выражения/images/image-2-3.png diff --git a/02-основные-типы-данных-выражения/README.md b/02-основные-типы-данных-выражения/README.md index 27b4812..98c34d7 100644 --- a/02-основные-типы-данных-выражения/README.md +++ b/02-основные-типы-данных-выражения/README.md @@ -11,11 +11,11 @@ - [2.2.5.1. Строковые литералы: WYSIWYG, с разделителями, строки токенов и импортированные](#2-2-5-1-строковые-литералы-wysiwyg-с-разделителями-строки-токенов-шестнадцатеричные-и-импортированные) - [2.2.5.2. Тип строкового литерала](#2-2-5-2-тип-строкового-литерала) - [2.2.6. Литералы массивов и ассоциативных массивов](#2-2-6-литералы-массивов-и-ассоциативных-массивов) - - [2.2.7. Функциональные литералы (лямбда-функция)]() -- [2.3. Операции]() - - [2.3.1. l-значения и r-значения]() - - [2.3.2. Неявные преобразования чисел]() - - [2.3.2.1. Распространение интервала значений]() + - [2.2.7. Функциональные литералы (лямбда-функция)](#2-2-7-функциональные-литералы) +- [2.3. Операции](#2-3-операции) + - [2.3.1. l-значения и r-значения](#2-3-1-l-значения-и-r-значения) + - [2.3.2. Неявные преобразования чисел](#2-3-2-неявные-преобразования-чисел) + - [2.3.2.1. Распространение интервала значений](#2-3-2-1-распространение-интервала-значений) - [2.3.3. Типы числовых операций]() - [2.3.4. Первичные выражения]() - [2.3.4.1. Выражение assert]() @@ -482,6 +482,104 @@ assert(b == 1.5); [В начало ⮍](#2-2-7-функциональные-литералы) [Наверх ⮍](#2-основные-типы-данных-выражения) +## 2.3. Операции + +В следующих главах подробно описаны все операторы D в порядке убывания приоритета. Это естественный порядок, в котором вы бы группировали и вычисляли небольшие подвыражения в группах все большего размера. + +С операторами тесно связаны две независимые темы: l- и r-значения и правила преобразования чисел. Необходимые определения приведены в следующих двух разделах. + +[В начало ⮍](#2-3-операции) [Наверх ⮍](#2-основные-типы-данных-выражения) + +### 2.3.1. l-значения и r-значения + +Множество операторов срабатывает только тогда, когда l-значения удовлетворяют ряду условий. Например, не нужно быть гением, чтобы понять: присваивание `5 = 10` не соответствует правилам. Для успеха присваивания необходимо, чтобы левый операнд был *l-значением*. Пора дать точное определение l-значения (а заодно и сопутствующего ему *r-значения*). Названия терминов происходят от реального положения этих значений относительно оператора присваивания. Например, в инструкции `a = b` значение `a` расположено слева от оператора присваивания, поэтому оно называется l-значением; соответственно значение `b`, расположенное справа, – это r-значение[^17]. + +К l-значениям относятся: +- все переменные, включая параметры функций, даже те, которые запрещено изменять (то есть определенные с квалификатором `immutable`); +- элементы массивов и ассоциативных массивов; +- поля структур и классов (о них мы поговорим позже); +- возвращаемые функциями значения, помеченные ключевым словом `ref`; +- разыменованные указатели. + +Любое l-значение может выступить в роли r-значения. К r-значениям также относится все, что не вошло в этот список: литералы, перечисляемые значения (которые вводятся с помощью ключевого слова `enum`; см. раздел 7.3) и результаты таких выражений, как `x + 5`. Обратите внимание: для присваивания быть l-значением необходимо, но не достаточно – нужно успешно пройти еще несколько семантических проверок, таких как проверка прав на доступ (см. главу 6) и проверка прав на изменение (см. главу 8). + +[В начало ⮍](#2-3-1-l-значения-и-r-значения) [Наверх ⮍](#2-основные-типы-данных-выражения) + +### 2.3.2. Неявные преобразования чисел + +Мы только что коснулись темы преобразований; теперь пора рассмотреть ее подробнее. Здесь достаточно запомнить всего несколько простых правил: + +1. Если числовое выражение компилируется в C и *также* компилируется в D, то его тип будет одинаковым в обоих языках (обратите внимание: D не обязан принимать все выражения на C). +2. Никакое целое значение не преобразуется к типу меньшего размера. +3. Никакое значение с плавающей запятой не преобразуется неявно в целое значение. +4. Любое числовое значение (целое или с плавающей запятой) неявно преобразуется к любому значению с плавающей запятой. + +Правило 1 лишь незначительно усложняет работу компилятора, и это обоснованное усложнение. Поскольку D достаточно сильно «пересекается» с C и C++, это вдохновляет людей на бездумное копирование целых функций на этих языках в программы на D. Так пусть уж лучше D из соображений безопасности и переносимости отказывается время от времени от некоторых конструкций, чем если бы компилятор «проглотил» модуль из 2000 строк, а полученная программа заработала бы не так, как ожидалось, что определенно осложнило бы жизнь незадачливому программисту. Однако с помощью правила 2 язык D закручивает гайки посильнее, чем C и C++. Так что при переносе кода из этих языков на D диагностирующие сообщения время от времени будут указывать вам на «сырые» куски кода, рекомендуя вставить подходящие проверки и явные преобразования типов. + +Рисунок 2.3 иллюстрирует правила преобразования для всех числовых типов. Для преобразования выбирается кратчайший путь; для двух путей одинаковой длины результаты преобразований совпадают. Независимо от количества шагов преобразование считается одношаговым процессом, преобразования неупорядочены и им не назначены приоритеты – тип или преобразуется к другому типу, или нет. + +[В начало ⮍](#2-3-2-неявные-преобразования-чисел) [Наверх ⮍](#2-основные-типы-данных-выражения) + +#### 2.3.2.1. Распространение интервала значений + +В соответствии с приведенными выше правилами обыкновенное число, такое как 42, будет недвусмысленно оценено как число типа `int`. А теперь взгляните на столь же заурядную инициализацию: + +```d +ubyte x = 42; +``` + +По неумолимым законам проверки типов вначале 42 распознается как `int`. Затем это число типа `int` будет присвоено переменной `x`, а это уже влечет насильственное преобразование типов. Разрешать такое грубое преобразование опасно (ведь многие значения типа `int` на самом деле не поместятся в `ubyte`). С другой стороны, требовать преобразования типов для очевидно безошибочного кода было бы очень неприятно. + +![image-2-3](images/image-2-3.png) + +***Рис. 2.3.*** *Неявные преобразования чисел. Значение одного типа может быть автоматически преобразовано в значение другого типа тогда и только тогда, когда существует направленный путь от исходного типа до желаемого. Выбирается кратчайший путь, и преобразование считается одношаговым независимо от действительной длины пути. Преобразование в обратном направлении возможно, если оно осуществимо на основе метода распространения интервала значений (см. раздел 2.3.2.1)* + +Язык D элегантно разрешает эту проблему с помощью способа, прообразом которого послужила техника оптимизации компиляторов, известная как *распространение интервала значений (value range propagation)*: каждому значению в выражении ставится в соответствие интервал с границами в виде наименьшего и наибольшего возможных значений. Эти границы отслеживаются во время компиляции. Компилятор разрешает присвоить значение некоторого типа значению более «узкого» типа тогда и только тогда, когда интервальная оценка присваиваемого значения покрывается «целевым» типом. Очевидно, что для такой константы, как 42, как наибольшим, так и наименьшим значением будет 42, поэтому для присваивания нет преград. + +Конечно же, в такой типовой ситуации можно было бы использовать гораздо более простой алгоритм, однако в общем случае логично применять метод распространения интервала значений, так как он прекрасно справляется и со сложными ситуациями. Рассмотрим функцию, которая извлекает из значения типа `int` младший и старший байты: + +```d +void fun(int val) +{ + ubyte lsByte = val & 0xFF; + ubyte hsByte = val >>> 24; + ... +} +``` + +Этот код корректен независимо от того, каким будет введенное значение `val`. В первом выражении на значение накладывается маска, сбрасывающая все биты его старшего байта, а во втором делается сдвиг, в результате которого старший байт `val` перемещается на место младшего, а оставшиеся биты обнуляются. + +И в самом деле, компилятор правильно типизирует функцию `fun`, так как сначала он вычисляет интервал `val & 0xFF` и получает [0; 255] независимо от `val`, затем вычисляет интервал для `val >>> 24` и получает то же самое. Если бы вместо этих операций вы поставили операции, результат которых необязательно вместится в `ubyte` (например, `val & 0x1FF` или `val >>> 23`), компилятор не принял бы такой код. + +Метод распространения интервала значений применим для всех арифметических и логических операций; например, значение типа `uint`, разделенное на 100 000, всегда вместится в `ushort`. Кроме того, этот метод правильно работает и со сложными выражениями, такими как маскирование, после которого следует деление. Например: + +```d +void fun(int val) +{ + ubyte x = (val & 0xF0F0) / 300; + ... +} +``` + +В приведенном примере оператор `&` устанавливает границы интервала в 0 и `0хF0F0` (то есть 61 680 в десятичной системе счисления). Затем операция деления устанавливает границы в 0 и 205. Любое число из этого диапазона вмещается в `ubyte`. + +Определение корректности преобразований к меньшему типу по методу распространения интервала значений – несовершенный и консервативный подход. Одна из причин в том, что интервалы значений отслеживаются близоруко, внутри одного выражения, а не в нескольких смежных выражениях. Например: + +```d +void fun(int x) +{ + if (x >= 0 && x < 42) + { + ubyte y = x; // Ошибка! Нельзя втиснуть int в ubyte! + ... + } +} +``` + +Совершенно ясно, что инициализация не содержит ошибок, но компилятор не поймет этого. Он бы мог, но это серьезно усложнило бы реализацию и замедлило процесс компиляции. Выбор был сделан в пользу менее чувствительного распространения интервала значений в рамках одного выражения. Проведенный нами опыт показал, что такой умеренный анализ помогает программе избежать самых грубых ошибок, возникающих из-за ненадлежащего преобразования типов. Для оставшихся ошибок первого рода вы можете использовать выражения `cast` (см. раздел 2.3.6.7). + +[В начало ⮍](#2-3-2-1-распространение-интервала-значений) [Наверх ⮍](#2-основные-типы-данных-выражения) + [^1]: Впрочем, использование нелатинских букв является дурным тоном. – *Прим. науч. ред.* [^2]: С99 – обновленная спецификация C, в том числе добавляющая поддержку знаков Юникода. – *Прим. пер.* [^3]: Сам язык не поддерживает восьмеричные литералы, но поскольку они присутствуют в некоторых C-подобных языках, в стандартную библиотеку был добавлен соответствующий шаблон. Теперь запись `std.conv.octal!777` аналогична записи `0777` в C. – *Прим. науч. ред.* @@ -498,3 +596,4 @@ assert(b == 1.5); [^14]: В литерале массива допустима запятая, после которой нет элемента, например [1, 2,] – длина этого массива равна 2, а последняя запятая попросту игнорируется. Это сделано для удобства автоматических генераторов кода: при генерации текста литерала массива они конкатенируют строки вида `"очередной_элемент"`, не обрабатывая отдельно последний элемент, запятая после которого была бы не нужна. – *Прим. науч. ред.* [^15]: Заключенное в 1989 году соглашение между коммунистами и демократами, ознаменовавшее собой достижение компромисса между двумя партиями. В данном случае также ищется «компромиссный» тип. – *Прим. пер.* [^16]: In situ (лат.) – на месте. – *Прим. пер.* +[^17]: От англ. left-value и right-value. – *Прим. науч. ред.* diff --git a/02-основные-типы-данных-выражения/images/image-2-3.png b/02-основные-типы-данных-выражения/images/image-2-3.png new file mode 100644 index 0000000000000000000000000000000000000000..2eefd9fd96d69d8b918af03740c29c5a2370ba92 GIT binary patch literal 49583 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%0DL36-t+?!H^j8r}|1D`Bg!o8MzLS(FyZ$AK@SK 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