define macros where they belong
var args
rework exceptions
rename tokens. tokens with string S_*. tokens without T_*
support vaarg