1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/racc/assets/recv.y

98 lines
1.1 KiB
Text
Raw Normal View History

2019-05-13 08:25:22 -04:00
# s/r 5, r/r 10
class A
rule
content: RecvH received
;
2019-05-13 08:25:22 -04:00
datetime: day
;
2019-05-13 08:25:22 -04:00
msgid: '<' spec '>';
2019-05-13 08:25:22 -04:00
day:
| ATOM ','
;
2019-05-13 08:25:22 -04:00
received: recvitem_list recvdatetime
;
2019-05-13 08:25:22 -04:00
recvitem_list:
| recvitem_list recvitem
;
recvitem: by | via | with | for ;
by:
| BY domain
;
2019-05-13 08:25:22 -04:00
via:
| VIA ATOM
;
2019-05-13 08:25:22 -04:00
with: WITH ATOM
;
2019-05-13 08:25:22 -04:00
for:
| FOR addr
;
2019-05-13 08:25:22 -04:00
recvdatetime:
| ';' datetime
;
2019-05-13 08:25:22 -04:00
addr: mbox | group ;
mboxes: mbox
2019-05-13 08:25:22 -04:00
| mboxes ',' mbox
;
mbox: spec
| routeaddr
| phrase routeaddr
;
group: phrase ':' mboxes ';'
;
routeaddr: '<' route spec '>'
| '<' spec '>'
;
2019-05-13 08:25:22 -04:00
route: at_domains ':' ;
at_domains: '@' domain
2019-05-13 08:25:22 -04:00
| at_domains ',' '@' domain
;
2019-05-13 08:25:22 -04:00
spec: local '@' domain
| local
2019-05-13 08:25:22 -04:00
;
2019-05-13 08:25:22 -04:00
local: word
| local '.' word
;
2019-05-13 08:25:22 -04:00
domain: domword
| domain '.' domword
;
domword: atom
| DOMLIT
| DIGIT
;
phrase: word
| phrase word
;
2019-05-13 08:25:22 -04:00
word: atom
| QUOTED
| DIGIT
;
atom: ATOM | FROM | BY | VIA | WITH | ID | FOR ;
2019-05-13 08:25:22 -04:00
end