Parsing the destination

This is a formal description of how xzewd parses the contents of the destination box to find out where it should send a message to.

Default state

Before xzewd starts parsing, a default state is set up. This default state is also restored every time a message is sent.

The parser's actions

Double quote substitution

Any sequence of characters inside "double quotes" is collapsed into one word. Spaces are allowed inside the double quotes, as are commas, angle brackets <>, etc. If you want to have a double quote inside double quotes, say "\"" instead. "\n" is translated to a newline, "\\" becomes one backslash "\", and any other backslash sequence "\char" becomes simply "char" itself.
word
A word is a sequence of "normal" characters. It cannot start with a dash `-', a comma `,', or a left angle bracket `<'. If it starts with a double quote `"', double quote substitution is performed; otherwise, the parser reads ahead until it encounters a space, a comma, or a left angle bracket, and uses that as the word.

After xzewd reads a word m, it sets the current recipient to m. Then it scans ahead for any of the options -a, -d, -v, -q, -s and parses those. Then, it sends the message.

-c word
Sets the current class to word.
-i word
Sets the current instance to word.
-r word
Sets the current recipient to word. This is different from just saying word by itself in that the message is not immediately sent.
, (a comma)
Immediately sends the message to the current class, instance, and recipient, using the current set of options, then returns the parser to its default state.
-a
Turns authentication on.
-d
Turns authentication off.
-v
Turns acknowledgement on.
-q
Turns acknowledgement off.
-s word
Sets the current signature to word. This only changes the parser's current signature; the signature you set in the Signature dialog is unaffected.