Lexical grammar(Leksikal gramer)
Leksikal gramer, bir programlama dilinin veya herhangi bir dilin leksik yapısını, yani temel sözcük birimlerini ve bu birimlerin nasıl oluşturulduğunu tanımlayan gramerdir. Leksikal analiz, genellikle bir dil işleyicisinin veya derleyicinin ilk adımıdır ve metin formundaki girdiyi, anlamlı semboller (tokenlar) dizisine dönüştürür.
Leksikal Gramer Özellikleri:
Tokenlar: Leksikal gramer, dilin temel bileşenleri olan tokenları tanımlar. Bu tokenlar, anahtar kelimeler, operatörler, değişken isimleri, literaller ve yorumlar gibi elemanları içerebilir.
Düzenli İfadeler: Leksikal gramer genellikle düzenli ifadeler kullanarak tokenları tanımlar. Bu düzenli ifadeler, karakter dizilerinin belirli desenlere göre tanınmasını sağlar.
Öncelik Kuralları: Çeşitli token desenlerinin örtüşebileceği durumlarda, hangi desenin tercih edileceğini belirleyen öncelik kurallarını içerebilir.
Leksikal Analiz Süreci:
Girdi Bölümlendirme: Girdi metni, işlenebilir semboller veya tokenlar haline getirilir. Bu işlem sırasında, gereksiz boşluklar ve yorumlar gibi unsurlar atılabilir.
Token Tanıma: Her bir sembol dizisi, tanımlanan düzenli ifadelerle eşleştirilerek ilgili token tipiyle ilişkilendirilir.
Hata Yönetimi: Tanınmayan semboller veya desenler bulunduğunda, leksikal analiz süreci hata mesajları üretebilir.
Örnek:
Bir programlama dilinde, sayı literalleri için basit bir leksikal gramer tanımı aşağıdaki gibi olabilir:
Integer literal: [0-9]+
Floating-point literal: [0-9]+\.[0-9]+
Identifier: [a-zA-Z_][a-zA-Z0-9_]*
Keyword: if, else, while, for, return
Bu gramer, leksikal analizörün girdi metnini uygun tokenlara ayırmasına olanak tanır. Örneğin, "123" girdisi bir integer literal token olarak, "abc123" bir identifier olarak tanınır.
Leksikal gramer, dilin sözdizimine ilişkin gramerle (syntax grammar) birlikte çalışarak, dilin tam bir analizinin yapılmasını sağlar. Leksikal analiz sonucunda elde edilen tokenlar, daha sonra sözdizimsel ve anlamsal analiz için kullanılır.
0 Yorum
Önerilen Yorumlar
Görüntülenecek yorum yok.