Backus-Naur form
Bu madde hiçbir kaynak içermemektedir. (Ağustos 2014) (Bu şablonun nasıl ve ne zaman kaldırılması gerektiğini öğrenin) |
Backus-Naur form, adını bilgisayar programcılığının öncüleri John Backus ve Peter Naur'dan alan, 1950'lerin sonunda temelleri Backus'a ait bir makalede ortaya konmuş, formal dillerin yazım kurallarını tanımlamak için kullanılan bir yazım kuralları kümesi.[1]
Bilgisayar programlama dillerinin yazım kurallarını özetlemekte sıklıkla kullanılan bir yöntemdir. Örneğin, Naur'un düzenlediği ALGOL60 dilinin tanımlandığı makale, Bakus-Naur formunun bilgisayar dünyasında tanınması açısından önemli rol oynamıştır.
Temel Özellikler[değiştir | kaynağı değiştir]
'|' (dikey cizgi) Anlami: Alternatif
'::=' (iki kez iki nokta üst üste ve esittir isareti) Anlami: Tanimlama
Örnekler[değiştir | kaynağı değiştir]
1[değiştir | kaynağı değiştir]
<Sifir disinda rakam> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<Rakam> ::= 0 | <Sifir disinda rakam>
<Iki haneli sayi> ::= <Sifir disinda rakam> <Rakam>
<on'dan on dokuz'a kadar> ::= 1 <Rakam>
<kirk iki> ::= 42
2[değiştir | kaynağı değiştir]
<araba-plakası> ::= <il-kodu> <harf-ve-rakam-serisi> <harf-ve-rakam-serisi> ::= <harf><rakam><rakam><rakam><rakam> | <harf><harf><rakam><rakam><rakam> | <harf><harf><harf><rakam><rakam> <rakam> ::= <rakam-sıfırdan-yediye> | <rakam-birden-dokuza> <rakam-sıfırdan-yediye> ::= '0' | <rakam-birden-yediye> <rakam-birden-yediye> ::= '1' | '2' | '3' | '4' | '5' | '6' | '7' <rakam-birden-dokuza> ::= <rakam-birden-yediye> | '8' | '9' <harf> ::= 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'R' | 'S' | 'T' | 'U' | 'V' | 'Y' | 'Z' <il-kodu> ::= '0'<rakam-birden-dokuza> | <rakam-birden-yediye><rakam> | '80' | '81'
Bu örnekte araç plakalarının yazım kuralları Bakus-Naur form ile ifade edilmektedir. 01'den 81'e değişik değerler alabilen il kodunu, bir harf ve dört rakam veya iki harf ve üç rakam veya üç harf ve iki rakam takip etmektedir. (Buradaki tanımla plakanın sonundaki rakam serisinin tamamı sıfır olabileceği için aslında Türkiye'deki plakaların alabilecekleri değerlerden biraz daha büyük bir küme tanımlanıyor.)
Kaynakça[değiştir | kaynağı değiştir]
- ^ "Arşivlenmiş kopya". 9 Ocak 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 9 Ocak 2023.
![]() | Yazılım ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz. |