[1] ISO6093 / JISX0210-1986
の構文記述のための構文記述法は、
その附属書1で規定されてます。
(BNF であるとは書いてませんが・・・。)
[2]
- OR = "/"
- group = "(" elements ")" ;; 集団化
- repetition = (element - repetition) "*" ;; 0*∞
- option = (element - repetition) "?" ;; 0*1
- rule = rule-name defined-as elements
- rule-name = 1*name-char
- defined-as = [FWS] "=" [FWS]
- elements = [FWS] alternation [FWS]
- alternation = concatenation *(or-operator concatenation)
- or-operator = [FWS] OR [FWS]
- concatenation = element *(FWS element)
- element = rule-name / group / repetition / option / char-val /prose-val
- char-val = 1*CHAR ;; よって、終端記号と非終端記号の区別はない。
- prose-val = 1*CHAR ;; 更に、自然文による記述も区別はない。