Bilgisayar biliminde, Lexer sözcüksel analiz gerçekleştiren program parçasının adıdır. Türkçede direkt çevirisinin yapılabileceği doğru bir kelime olmayan terimlerden biri denebilir. Sözcüksel analiz kaynak kod üstünde gerçekleştirilen bir eylemdir. Sözcüksel analiz sonucunca kaynak kodun program tarafından incelenip ayrıştırılarak anahtar kelime, operatör ya da tanımlayıcılar gibi her bir ögesinin jeton olarak temsili elde edilir.
Sözcüksel analizin nasıl gerçekleştirileceği elbette yazılım geliştiricinin algoritma tasarımına kalmıştır. Her bir jeton, sözcüksek analiz gerçekleştirilirken belirli bir anlam ifade etmesi için lexer tarafından oluşturulur. Bahsi geçen anlamı kazanabilmesi için her bir jetona belirli veriler atanmalıdır. En önemli veri jetonun temsil ettiği ögenin tipidir. Bu bir tür kimliktir, her bir tür için benzersiz bir tam sayı ideal bir seçimdir. Bu tam sayı değerine göre jetonun bir anahtar kelime, operatör, tanımlayıcı ya da farklı bir şey olduğu karakterize edilir. İkinci veri ise ögenin türüdür. Örneğin jeton bir operatör lakin hangi operatör, bunun için metin türünde bir tür verisi tutmak ideal bir seçimdir. Bunların yanı sıra yazılım geliştiricinin yazılım tasarımına göre satır ve sütün verileri, hangi kaynak kod dosyasından ayrıştırıldığı gibi ek bilgiler de depolanabilir. Karakterizasyon yaklaşımı olarak operatör, anahtar kelime gibi belirli bir grubu temsil etmek yerine direkt olarak her bir anahtar kelime, operatör ve diğer dil ögelerine benzersiz bir kimlik tam sayısı ataması da gerçekleştirilebilir.
Lexer algoritması dilin tasarımına göre değişiklik göstermelidir. Örneğin Python gibi sözdizimsel olarak girintiye (indention) dayalı ise, her bir girinti için jeton oluşturma ya da farklı bir yaklaşım benimsenebilir. Aksi halde bu tarz karakterler anlam ifade etmiyorsa, boşluk karakterlerinin atlanması gerekebilir. Mantıksal olarak tanımlanamayan bir jeton hata sebebi olmalıdır.
Jeton
Jeton, bir programın derleyici için anlamlı en küçük parçasıdır. Programın jetonlara ayrılması, derleyicinin programı kendi diline çevirebilmesi açısından önemlidir. Jetonlar birbirlerinden genellikle boşluk karakteri ile ayrılırlar. Boş satır, yeni satır ya da açıklama gibi öğeler de jetonları birbirinden ayırmaya yarar. a = i + j örneğinde jetonlar "a", "=", "i", "+" ve "j" karakterleridir.
Jeton örnekleri
Tip | Tür (Jeton Değeri) |
---|---|
Anahtar Kelime | while for case else |
Operatör | < == << && |
Tanımlayıcı | name surname pi_number counter |
Yorum | /* A comment */ |
Sabit Değer (Literal) | true 'a' "Hello World" 3.14 |
Ayrıca bakınız
Kaynakça
- ^ Akçay, İbrahim (2004). "Derleyici Tasarımda Sözcük ve Sözdizim Analizi Gerçekleşmesi". Sakarya Üniversitesi Fen Bilimleri Enstitüsü. 26 Mart 2024 tarihinde kaynağından . Erişim tarihi: 27 Mart 2024.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bilgisayar biliminde Lexer sozcuksel analiz gerceklestiren program parcasinin adidir Turkcede direkt cevirisinin yapilabilecegi dogru bir kelime olmayan terimlerden biri denebilir Sozcuksel analiz kaynak kod ustunde gerceklestirilen bir eylemdir Sozcuksel analiz sonucunca kaynak kodun program tarafindan incelenip ayristirilarak anahtar kelime operator ya da tanimlayicilar gibi her bir ogesinin jeton olarak temsili elde edilir Sozcuksel analizin nasil gerceklestirilecegi elbette yazilim gelistiricinin algoritma tasarimina kalmistir Her bir jeton sozcuksek analiz gerceklestirilirken belirli bir anlam ifade etmesi icin lexer tarafindan olusturulur Bahsi gecen anlami kazanabilmesi icin her bir jetona belirli veriler atanmalidir En onemli veri jetonun temsil ettigi ogenin tipidir Bu bir tur kimliktir her bir tur icin benzersiz bir tam sayi ideal bir secimdir Bu tam sayi degerine gore jetonun bir anahtar kelime operator tanimlayici ya da farkli bir sey oldugu karakterize edilir Ikinci veri ise ogenin turudur Ornegin jeton bir operator lakin hangi operator bunun icin metin turunde bir tur verisi tutmak ideal bir secimdir Bunlarin yani sira yazilim gelistiricinin yazilim tasarimina gore satir ve sutun verileri hangi kaynak kod dosyasindan ayristirildigi gibi ek bilgiler de depolanabilir Karakterizasyon yaklasimi olarak operator anahtar kelime gibi belirli bir grubu temsil etmek yerine direkt olarak her bir anahtar kelime operator ve diger dil ogelerine benzersiz bir kimlik tam sayisi atamasi da gerceklestirilebilir Lexer algoritmasi dilin tasarimina gore degisiklik gostermelidir Ornegin Python gibi sozdizimsel olarak girintiye indention dayali ise her bir girinti icin jeton olusturma ya da farkli bir yaklasim benimsenebilir Aksi halde bu tarz karakterler anlam ifade etmiyorsa bosluk karakterlerinin atlanmasi gerekebilir Mantiksal olarak tanimlanamayan bir jeton hata sebebi olmalidir JetonJeton bir programin derleyici icin anlamli en kucuk parcasidir Programin jetonlara ayrilmasi derleyicinin programi kendi diline cevirebilmesi acisindan onemlidir Jetonlar birbirlerinden genellikle bosluk karakteri ile ayrilirlar Bos satir yeni satir ya da aciklama gibi ogeler de jetonlari birbirinden ayirmaya yarar a i j orneginde jetonlar a i ve j karakterleridir Jeton ornekleri Tip Tur Jeton Degeri Anahtar Kelime span class err span span class k while span span class err span span class err span span class k for span span class err span span class err span span class k case span span class err span span class err span span class k else span span class err span Operator span class err span span class o lt span span class err span span class err span span class o span span class err span span class err span span class o lt lt span span class err span span class err span span class o amp amp span span class err span Tanimlayici span class err span span class n name span span class err span span class err span span class n surname span span class err span span class err span span class n pi number span span class err span span class err span span class n counter span span class err span Yorum span class err span span class cm A comment span span class err span Sabit Deger Literal span class err span span class nb true span span class err span span class err span span class sc a span span class err span span class err span span class s Hello World span span class err span span class err span span class mf 3 14 span span class err span Ayrica bakinizKaynak kod Derleyici Yorumlayici AlgoritmaKaynakca Akcay Ibrahim 2004 Derleyici Tasarimda Sozcuk ve Sozdizim Analizi Gerceklesmesi Sakarya Universitesi Fen Bilimleri Enstitusu 26 Mart 2024 tarihinde kaynagindan Erisim tarihi 27 Mart 2024