Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

BNF
Tüm Başlıklar XML

1.  Backus-Naur Form

Bir dilin sentaksını açıklayan metasentaks. Buna bakarak dile ait grameri öğrenebilir, yardımcı programları kullanarak dil için parser elde edebilirsiniz.

Örneğin SQL dilinin delete komutuna ait BNF şöyledir:
delete_sql ::= "delete" "from" table_name [ "where" condition ]
"is defined as" anlamına gelen ::='in sol tarafı açıklanan sentaksın adı, sağ tarafı açıklamasıdır. Köşeli parantezler* içindeki kısımlar "yazılmayabilir" demektir. Diğer kısımlar ise zorunludur. (Yani içinde "from" kelimesi geçmeyen delete SQL'i olamaz ama "where" kelimesi olmasa da olur.) Bu sentaksın içinde belirsiz olan condition ifadesidir. O da aşağıdaki gibi açıklanır:
condition ::= [ "not" ] logical_term
Bunda da açıklanması gereken logical_term ifadesi var. Bu böyle devam eder. Ta ki dil bütün atomlarıyla açıklanıncaya kadar.

Bir dile ait BNF yazıldıktan sonra Yacc veya GNU Bison türü bir program ile parser kodu üretilebilir.
fizikci
18 Mart 2006 15:54
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1140 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen