Before any rules are called to perform rewriting, a temporary buffer called the &"workspace" is created. The address to be rewritten is then tokenized and placed into that workspace. The process of tokenizing addresses in the workspace is exactly the same as the tokenizing of rules that you saw before:
email@example.com becomes gw @ wash . dc . gov
Here, the tokenizing characters defined by the
$o) option (see Section 34.8.45)
and those defined internally by sendmail caused the address to be
broken into seven tokens.
The process of rewriting changes the tokens in the workspace:
workspace is "gw" "@" "wash" "." "dc" "." "gov" Rlhs rhs Rlhs rhs rules rewrite the workspace Rlhs rhs workspace is "gw" "." "LOCAL"
Here, the workspace began with seven tokens. The three hypothetical rules recognized that this was a local address (in token form) and rewrote it so that it became three tokens.