18.4 The Workspace
As was
mentioned, rules exist to rewrite addresses. We
won't cover the reasons this rewriting needs to be
done just yet, but we will concentrate on the general behavior of
rewriting.
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:
gw@wash.dc.gov becomes gw @ wash . dc . gov
Here, the tokenizing characters defined by the
OperatorChars option (OperatorChars) 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"
R lhs rhs
R lhs rhs rules rewrite the workspace
R lhs 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.
|