Вверх ↑
Пакеты 
Кодогенерация 
RTCG 
Операторы - register

register
Описание
Регистрация пользовательского типа данных

register(<number>, <name>)

Первый аргумент оператора указывает целое число, которому соответствует тип с данным именем. Это число далее используется в операторе sub, а так же передается в метод преобразования типов в объекте sys.

Имя, указанное во втором аргументе, используется в дальнейшем для преобразования одного типа данных в другой:

register(1, int)
...
trace(int("45"))

При этом кодогенератор вызывает метод to_type из модуля sys для получения кода преобразования типа.

Если имя пользовательского типа используется в выражении, то вместо него возвращается код этого типа. Например:

register(100, mytype)
...
var = sub('field', mytype)
...
if(expof(var) == mytype)
trace("Переменная типа mytype")
end
Зарезервированные типы
   В кодогенераторе используется некоторый набор зарезервированных типов, которые представлены в таблице ниже:

Имя Код Описание
DATA_NONE 0 нет данных или данные типа "код"
DATA_INT 1 целочисленная константа
DATA_STR 2 строковая константа
DATA_REAL 3 действительная константа
DATA_ARRAY 4 массив (new array() или A && B)
DATA_OBJECT 5 объект (this, sys и т.д.)
DATA_PROC 6 функция


   Использовать встроенные типы в качестве пользовательских не рекомендуется. Кроме того, рекомендуется первый индекс пользовательского типа брать намного больше, чем количество встроенных типов, например, начиная с 100.
BB-code статьи для вставки
Всего комментариев: 0
(комментарии к статье еще не добавлены)
Комментарий
...