[1] プログラム言語 Pascal (ISO/IEC7185:1990,
JISX3008-1994) の文法記述に使われている BNF
変種について。
規格票では4章に説明があります。実際の Pascal
の構文定義は6.1にあります。
- DEF = "=" ;; 定義する
- PDEF = ">" ;; 部分的に定義する
- OR = "|"
- EOD = "." ;; 定義の終わり
- option = "[" elements "]" ;; 0*1
- repetition = "{" elements "}" ;; 0*∞
- group = "(" elements ")" ;; 集団化
- char-val = "‘" 1*CHAR "’" ;; 終端記号
- 超識別子 = 1*超識別子文字 ;; 非終端記号
- 超識別子文字 = 漢字 / 仮名 / 英字 ;; 仮名・漢字は JIS で追加。
- rule = rule-name defined-as elements [FWS] EOD
- rule-name = 超識別子
- defined-as = [FWS] (DEF / PDEF) [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