4. ABNF'nin ABNF Tanımı

Bilginize

  1. Bu sözdizimi görece değişmez olan bir kural biçimlemesi gerektirir. Dolayısıyla, bir belirtime dahil edilmiş bir kural kümesi sürümünün, bir ABNF çözümleyici tarafından yorumlanabileceğinden emin olmak için önişlemden geçirilmesi gerekebilir.

  2. Bu sözdizimi ABNF'nin Çekirdek ABNF'si 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