catalog/abnf-syntax.abnf
Source
; <https://www.rfc-editor.org/rfc/rfc5234.txt>
; This version of the document includes two errata:
; 1. <https://www.rfc-editor.org/errata/eid2968>
; 2. <https://www.rfc-editor.org/errata/eid3076>
rulelist = 1*( rule / (*WSP c-nl) )
rule = rulename defined-as elements c-nl
rulename = ALPHA *(ALPHA / DIGIT / "-")
defined-as = *c-wsp ("=" / "=/") *c-wsp
elements = alternation *WSP
c-wsp = WSP / (c-nl WSP)
c-nl = comment / CRLF ; comment or newline
comment = ";" *(WSP / VCHAR) CRLF
alternation = concatenation *(*c-wsp "/" *c-wsp concatenation)
concatenation = repetition *(1*c-wsp repetition)
repetition = [repeat] element
repeat = 1*DIGIT / (*DIGIT "*" *DIGIT)
element = rulename / group / option / char-val / num-val / prose-val
group = "(" *c-wsp alternation *c-wsp ")"
option = "[" *c-wsp alternation *c-wsp "]"
char-val = DQUOTE *(%x20-21 / %x23-7E) DQUOTE
num-val = "%" (bin-val / dec-val / hex-val)
bin-val = "b" 1*BIT [ 1*("." 1*BIT) / ("-" 1*BIT) ]
dec-val = "d" 1*DIGIT [ 1*("." 1*DIGIT) / ("-" 1*DIGIT) ]
hex-val = "x" 1*HEXDIG [ 1*("." 1*HEXDIG) / ("-" 1*HEXDIG) ]
prose-val = "<" *(%x20-3D / %x3F-7E) ">"