Macro


 * 1) define MACRO[(ARGS)] [VALUE]
 * 2) def1arg MACRO[(ARG)] [VALUE] takes ARG as one arg
 * 3) elif or: #elseif
 * 4) else
 * 5) endif
 * 6) execute M
 * 7) if EXPRESSION
 * 8) ifdef MACRO
 * 9) ifndef MACRO or: #ifundef MACRO
 * 10) include
 * 11) library LIBNAME [VERSION]
 * 12) noshow
 * 13) show
 * 14) sqlcompile SELECT=value
 * 15) undef MACRO
 * 16) classcontext classname{.pname}
 * 17) classcontext ..pname{.pname}
 * 18) endclasscontext unstack #classcontext definitions
 * 19) class var{,var} classname
 * 20) endclass var{,var} unstack #class
 * 1) continue continues macro def'n on next line
 * 2) sql(...)
 * 3) lit(TEXT) inserts literal TEXT, eg. ##lit(")
 * 4) stripq("TEXT") strips quotes, eg. ##stripq(%a)
 * 5) unique(new) expands to new unique identifier
 * 6) unique(old) expands to same as previous ##unique(new)
 * 7) beginlitTEXT##endlit
 * 8) function(FUNCTION TEXT)
 * 9) expression(expr) expands to value of expr ('1>2' => 0)