Focusing for @ Syntax
The last few rules in our illustration of a typical
canonify rule
set 3 are used to process the Internet-style
user@domain
address:
# find focus for @ syntax addresses R $+ @ $+ $: $1 <@ $2> focus on domain R $+ < $+ @ $+ > $1 $2 <@ $3> move gaze right R $+ <@ $+ > $@ $1 <@ $2> already focused
For an address such as
something@something, the
first rule focuses on all the tokens following the
first @ as the
name of the host. Recall that the $: prefix to the
righthand side (RHS) prevents potentially infinite
recursion.
Assuming that the workspace started with:
user@host
these rules will rewrite that address to focus on the host part and become:
user<@host>
Any address that has not been handled by the canonify rule set 3 is
unchanged and probably not focused. Because the
parse rule set
0 expects all addresses to be focused so that it can
select appropriate delivery agents, such unfocused
addresses can bounce. Many configuration files allow
local addresses (just a username) to be
unfocused.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access