Присваивание может производиться оператором вида:
имя_переменной SET выражение
или
имя_переменной = выражение
Выражения, допустимые при присваивании, могут включать в себя имена переменных и параметров макроопределения, константы, строковые, арифметические и логические операции, функции.
Основной тип операций — строковые (выделение подстроки, поиск вхождения, конкатенация. etc.), так как обработка макроопределения состоит в текстовых подстановках.
Строковые операции обычно реализуются в функциях. Однако, в некоторых случаях может потребоваться выполнение над переменными макроопределения операций нестрокового типа.
Как обеспечить выполнение таких операций? Можно предложить два варианта решения этой проблемы:
u Ввести в оператор объявления переменной макроопределения определение ее типа. При выполнении операций должно проверяться соответствие типов.
u Все переменные макроопределения имеют строковый тип, но при вычислении выражений автоматически преобразуются к типу, требуемому для данной операции (при таком преобразовании может возникать ошибка). Результат выражения автоматически преобразуется в строку.
Как правило, операции присваивания могут применяться к параметрам макроопределения точно так же, как и к переменным макроопределения.