4. ABNF'nin ABNF Tanımı

Bu sözdizimi NÜVE bölümündeki kuralları kullanır.

kurallistesi   =  1*( kural / (*d-boşluk s-st) )

kural          =  kuralismi tanımı-gibi elemanlar s-st
                        ; sonraki satır boşluklarla başlıyorsa
                        ; Sonraki SaTırda devam eder

kuralismi      =  HARF *(HARF / RAKAM / "-")

tanımı-gibi    =  *d-boşluk ("=" / "=/") *d-boşluk
                        ; temel kural tanımı ve
                        ; ikame eklemeleri

elemanlar      =  ikame *d-boşluk

d-boşluk       =  BOŞLUK / (s-st BOŞLUK)

s-st           =  açıklama / CRLF
                        ; açıklama veya satırsonu

açıklama       =  ";" *(BOŞLUK / GÖRKRK) CRLF

ikame          =  ulama
                  *(*d-boşluk "/" *d-boşluk ulama)

ulama          =  yineleme *(1*d-boşluk yineleme)

yineleme       =  [tekrarsayısı] eleman

tekrarsayısı   =  1*RAKAM / (*RAKAM "*" *RAKAM)

eleman         =  kuralismi / grup / seçenek /
                  krk-dğr / say-dğr / düz-dğr

grup           =  "(" *d-boşluk ikame *d-boşluk ")"

seçenek        =  "[" *d-boşluk ikame *d-boşluk "]"

krk-dğr        =  ÇTIRNAK *(%x20-21 / %x23-7E) ÇTIRNAK
                        ; ÇTIRNAK içermeksizin ÇTIRNAK içine
                          alınmış BOŞKRK ve GÖRKRK dizgeleri

say-dğr        =  "%" (ikil-dğr / on-dğr / onaltı-dğr)

ikil-dğr       =  "b" 1*BIT
                  [ 1*("." 1*BIT) / ("-" 1*BIT) ]
                        ; peşpeşe bit değerleri
                        ; veya tek başına birler aralığı

on-dğr         =  "d" 1*RAKAM
                  [ 1*("." 1*RAKAM) / ("-" 1*RAKAM) ]

onaltı-dğr     =  "x" 1*RAKAM16
                  [ 1*("." 1*RAKAM16) / ("-" 1*RAKAM16) ]

düz-dğr        =  "<" *(%x20-3D / %x3F-7E) ">"
                        ; açılı ayraçları içermeksizin açılı
                        ; ayraçlar içine alınmış BOŞKRK ve
                        ; GÖRKRK dizgeleri

                        ; son çare olarak düzyazı açıklama