aboutsummaryrefslogtreecommitdiffstats
path: root/src/dmarc_lexer.xrl
blob: 29bc778570c410e1dbcbb00ad593c6184a5c256f (plain) (blame)
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.