Konuşur gibi Türkçe Kod #11: Burası Mühim

in #tr5 years ago (edited)


##1. Bölüm: Türkçe kod | ##2. Bölüm: TAR-Python | ##3. Bölüm: .tr uzantımız

##4. Bölüm: KARAKTER yorumlayıcısı | ##5. Bölüm: Sürücüler

##6. Bölüm: YAZ | ##7. Bölüm: Harfleri değişkene atama.

##8. Bölüm: Komutlarımız | ##9. Bölüm: YAZ’ma şekilleri + Teknoloji Oteli

##10. Bölüm: Tırnak


Önceki bölümdeki bazı kısımları açıklayarak devam edelim. Zira BURASI MÜHİM. Çünkü neredeyse YENİ BİR PROGRAMLAMA DİLİNİ ÜRETMENİN ÖZÜ burada denilebilir.

Gayet basit ama mihenk taşı hikaye burada başlıyor:


Önceki bölümlerde, örnek.tr dosyası için yazılan her şeyi harf harf parçalamış ve hepsini liste halinde harfler değişkenine atmıştık.


Ve bu harfleri TEK TEK YAN YANA GETİRİP, bize lazım olan bir komut var mı yok mu bakıyoruz.

Şimdi kodları yorumlayan pc'nin kendiniz olduğunuzu düşünün. PC ile empati :)

Size komut ="" denilmiş. Komut adında bir değişken var ve şu an içi boş.

Ardından komut += h denilmiş.

Yani biraz önce örnek.tr program dosyası içinde yazılmış olanların


İLK HARFİ artık komut'un da değeri. Yani komut=y

ve bakıyoruz; YAZ, TOPLA, EĞER vb.. komut olarak kullanmak istediğimiz bir terim geçiyor mu?


şu an için komut = y olduğu için
komut == "yaz" sınaması bize Hayır diyor. FOR döngüsü içinde olduğumuz için devam ediyoruz.

komut += h gördüğümüz için komut'umuza bir harf daha ekliyoruz ve artık komut = ya

yeniden sınama yapıyoruz;
komut, "yaz" a eşit mi?
hayır
devam..

komut += h peki o zaman, komut = yaz

komut, "yaz" a eşit mi?
Eveet! :)
O halde TIRNAK aramaya başlayabiliriz. Tabi öncesinde komut'u yeniden boşaltalım ki yeni yakalayacağımız terimler için karışıklık olmasın:


komut = yaz ise komut="" olarak atadığımız için en baştan bakıyormuşçasına devam edebiliriz.

 

Bakalım tırnak var mı?


Varsa, bunu "tırnak var" diye belirtelim. -şimdilik tabi ki, sonra kaldıracağız-

Ve ayrıca Baştaki Tırnak mı Sondaki tırnak mı bu sorunu çözmemiz lazım:


Akış sırasına göre gittiğimiz ver her terim sonrası komut'un içini boşalttığımız için,
tırnağı ilk gördüğümüzde tırnak = bas yaparsak, az sonra gelecek olan Merhaba Dünya gibi bir METİN için hazırlık yapabiliriz ;)

Aradığımız terimi bulunca, sonrakilere hazır olması için komut'un için boşalttığımız gibi, tırnak = bas 'ı yakaladığımızda, sonrasına hazırlık için tırnak = son yapıyoruz.
Benzer şekilde tırnak = son ise de tırnak = bas yapıyoruz.

Peki!
tırnak = bas ise cümle başlıyor demek, o halde yeni gelecek her harfi cümle değişkeni içinde toplayabiliriz ;)


Güzel.

Şimdi önceki bölümlerde konuştuğumuz Boşluğu Yokluğa eşitleme olayını yapalım ;)

ve ardından döngünün dışından da cümle'nin on halini ekranda görelim.


 


Çarşambanın gelişini perşembeden tahmin edebilenler için, "Yeni bir Programlama Dili nasıl yazılır?" sorusuna teknik manada mühim bir açıklama getiren kısım burada yazılanlar. Zira bundan sonraki çoğu şey
for h in harfler döngüsü içinde dönüp duracak. Ve her döngü içinde YAZ var mı KIŞ var mı :) TOPLA var mı ÇARP var mı diye bakıp duracağız.

Canınızın çektiği başka komutlar varsa
kurgusunu burada yapabilirsiniz ;)


Görsel


Posted from my blog with SteemPress :

https://murattatar.xyz/konusur-gibi-turkce-kod-11-burasi-muhim/

Sort:  

regexp'le daha kolay olmaz mıydı? veya split'le parçalamak

bildiğiniz üzere, aslında yaptığımız regex'in kendisini yazmak gibi.
şu aşamada evet daha pratik ancak ilerledikçe; toplanacak terimler, işaretler, döngüler, fonksiyonlar, fonksiyonlara gönderilecek değişkenler.. o regex'leri yazmak beyin yakıcı olabilir -en azından benim için-
böyle, regexin açık hali gibi, nerede bir şey gerekli direk orada işlem yapıyoruz.

teşekkürler

Congratulations @murattatar! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 13000 upvotes. Your next target is to reach 14000 upvotes.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Support SteemitBoard's project! Vote for its witness and get one more award!

Coin Marketplace

STEEM 0.31
TRX 0.11
JST 0.033
BTC 64275.02
ETH 3139.81
USDT 1.00
SBD 4.14