summaryrefslogtreecommitdiff
path: root/test/racc/assets/recv.y
blob: b6e849dda98b387b98403444fb61f4d1c656625f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# s/r 5, r/r 10
class A
rule

  content: RecvH         received
    ;

  datetime: day
    ;

  msgid: '<' spec '>';

  day:
    | ATOM ','
    ;

  received: recvitem_list recvdatetime
    ;

  recvitem_list:
    | recvitem_list recvitem
    ;

  recvitem: by | via | with | for ;

  by:
    | BY domain
    ;

  via:
    | VIA ATOM
    ;

  with: WITH ATOM
    ;

  for:
    | FOR addr
    ;

  recvdatetime:
    | ';' datetime
    ;

  addr: mbox | group ;

  mboxes: mbox
    | mboxes ',' mbox
    ;

  mbox: spec
    | routeaddr
    | phrase routeaddr
    ;

  group: phrase ':' mboxes ';'
    ;

  routeaddr: '<' route spec '>'
    | '<' spec '>'
    ;

  route: at_domains ':' ;

  at_domains: '@' domain
    | at_domains ',' '@' domain
    ;

  spec: local '@' domain
    | local
    ;

  local: word
    | local '.' word
    ;

  domain: domword
    | domain '.' domword
    ;

  domword: atom
    | DOMLIT
    | DIGIT
    ;

  phrase: word
    | phrase word
    ;

  word: atom
    | QUOTED
    | DIGIT
    ;

  atom: ATOM | FROM | BY | VIA | WITH | ID | FOR ;

end