Компилятор Делавар. Нововведения в языке. Инструкции и операции

Материал из ТХАБ.РФ
Перейти к: навигация, поиск

Нововведения в языке. Инструкции и операции

В языке имеются следующие управляющих конструкции:

   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