Open MuratDoner-zz opened 5 years ago
Bilgisayarın her istenileni tanıyabilmesi için, her harfi ve işareti tek tek kontrol etmesini sağlamak gerek. Modülü, foksiyonu ve diğer terimleri tanımasını sağlayacak, -modüllerin harflerinin küçük olması gibi- özellikler belirlenmeli. Bilgisayarın bu özellikleri tanıyabilmesi, her harfi kontrol ederken önüne çıkan işaretler yardımı ile kelimenin bittiğini anlamasıyla sağlanabilir. (İf=Her harf küçük ise modüldür gibi.) Mesela; clientreactchat{ kelimesini harf harf kontrol ederken "{" işaretine denk gelince kelimenin bittiğini ve bu kelime içerisinde hiç büyük harf olmadığını tespit edince clientreactchat=modül diyebilecek. Her bir terim için bu uygulanabilir.
1- Her tuşa basıldığında tetiklenecek. 2- Yazılanı analiz edecek ve bileşenlerine ayıracak. 3- Bileşenleri, onların türlerine özgü şekilde süslemek, renklendirmek.
1- Burada yapılan işleme yazılım teorisinde Lexical Analysis (sözcük analizi) denir.
2- Lexical Analysis işlemini yapan programa Lexer veyâ Scanner denir.
3- Lexical Analysis, bir kodun anlamlı atomlara bölünme işlemidir. Bu anlamlı atomlara Lexeme denir. Mesela aşağıdaki kodda "gateway", "-(", "channelName", "pageNumber", ")->", "persist" birer Lexeme'dir.
gateway -(channelName, pageNumber)-> persist -(ChannelContentMessage<contents>)->
4- Lexical Analysis aşaması, kodun anlamı ile alakalı bir aşama değildir. Kod içerisinde ne yapıldığı, kodların anlamı bu aşamada önemli değildir. Kodun anlamı daha sonraki aşamalarda (syntax analysis , semantic analysis) devreye girecektir.
5- Kısacası Lexical Analysis sâdece kodun parçalara ayrılma işlemidir. Kodda, algoritma açısından anlamsız olan parçalar (boşluklar, dökümantasyon yorumları) arka planda dikkate alınmaması için (arka planda) bu aşamada kaldırılır.
6- Bir lexeme'in, o dile âit bir sözcük (token) olup olmadığını anlama işlemine Recognition of Tokens (belirteçlerin tesbîti) denir.
7- Lexeme ve Token arasındaki fark veya ilişki nedir? Token: Lexeme'i ve onun hangi türe âit olduğunu içerir.
modüller, fonksiyonlar, javascript sınıfları... hangi sıra ile ve hangi kriterlere göre ayrıştırılacak?