1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Definitions.
WHITESPACE = [\s\t\n\r]
KEY = (adkim|aspf|fo|pct|p|sp|rua|ruf|v|ri|rf)
VALUE = [^=;:,\s\t\n\r]+
MAILTO_EMAIL = (mailto:[^\s\t\n\r,;]+)
LOST_MAILTO = mailto
Rules.
{KEY} : {token, {key, TokenLine, list_to_atom(TokenChars)}}.
{MAILTO_EMAIL} : {token, {mailto, TokenLine, TokenChars}}.
= : {token, {equals, TokenLine}}.
: : {token, {colon, TokenLine}}.
; : {token, {semicolon, TokenLine}}.
, : {token, {comma, TokenLine}}.
{LOST_MAILTO} : {error, invalid_mailto}.
{VALUE} : {token, {string, TokenLine, TokenChars}}.
{WHITESPACE}+ : skip_token.
Erlang code.
|