Компилятор Делавар. Нововведения в языке. Инструкции и операции
Нововведения в языке. Инструкции и операции
В языке имеются следующие управляющих конструкции:
if(cond) { statements } [else { statements }], for(init_expr; cond_expr; step_expr) { statements }, while(cond) { statements }, do { statements } while(cond) switch(int_expr) { case n1: statements ... default: statements }
По сравнению с 16-битной версией компилятора добавлена инструкция do..while и switch. Также в теле цикла можно использовать операторы break и continue.
Есть отличие в задании условия cond: результирующим значением выражения условия должно быть обязательно булево выражение. Например:
int a = 3 if(a != 0) b = 5
В инструкции switch выражение int_expr может быть следующих типов: char, byte, word, int или enum.
Для числовых типов добавлены битовые операции (&, |, ^, ~, &=, |=, ^=), операции сдвига (<<, >>, <<=, >>=).
Появилась инструкция sizeof(type), которая возвращает размер типа в байтах. В качестве параметра принимает имя типа. Пример: word sizeInt = sizeof(int).
Начиная с версии 0.52 компилятора, появилось ключевое слово extern, которое позволяет объявить глобальную переменную, определенную во внешнем модуле (библиотеке). Используется следующий синтаксис: extern type_name name, где type_name - имя типа, name - имя переменной. Например, extern int foo.
В версии 0.58 компилятора Делавар появилось ключевое слово synonym, которое можно использовать в двух случаях:
- для создания синонима типа (другого имени типа),
- для создания ссылки на переменную (другого имени переменной).
Для объявления синонима типа используется следующий синтаксис: synonym new_type_name type_name. Например, synonym UINT word. Возможно объявление синонимов как базовых, так и пользовательских типов. Объявления синонимов типа возможны только в глобальной области видимости модуля. После объявления синонима типа, возможно использование нового имени типа для объяления переменных.
Для объявления ссылки на переменную используется аналогичный синтаксис: synonym new_var_name var_name. Например, synonym b a, где а - имя переменной. После объявления синонима имени переменной возможно обращение к ней по имени b. Объявление ссылки на переменную возможно в области видимости исходной переменной, или во вложенных областях видимости относительно этой переменной.
В версии 0.61 компилятора Делавар появилась возможность использования глобальных операторов new и delete для создания и удаления ссылочных типов и их массивов в динамической памяти. При создании составного ссылочного типа с помощью оператора new вызывается конструктор объекта с заданными параметрами (если они указаны). Перед удалением такого объекта с помощью оператора delete - происходит вызов деструктора (если он имеется). Примеры использования операторов new и delete имеются в папке C:\DC32\EX\INHERIT. Для значимых составных типов и их массивов реализован вызов конструктора по умолчанию (без параметров) в момент объявления переменной, также вызов деструктора при их уничтожении (выходе из области видимости).
См. также
Яндекс | Картинки | Видео | Карты | Карты ОСМ | Спутник | Гугл | Вольфрам-Альфа | РуВики | EnWiki