Macro instruction definition.
Although the same definition may be shared by an engine and multiple
transforms, it is used only during a transform compilation, which is done one
at a time.
EBNF
- macro-def = macro-name, [macro-param-list], spaces, words;
- macro-name = word;
- macro-param-list = '(', [spaces], param-spec, {[spaces], ',', [spaces],
param-spec}, [spaces], ')';
- param-spec = (param-name | multiple-params), [required-param |
default-param];
- multiple-params = '.', '.', '.';
- required-param = '!';
- default-param = '=', word - (',' | ')');