

Programların Yorumlama Mantığı / Kendi Programlama Dilimizi Oluşturmak
-
php 94 yılında lerdof mu öyle bi adam tarafından çıkmış.cvsini okuyanlar için sayaç arttırma olarak tasarlanmış sonradan geliştikçe gelişmiş.O zaman asp ve jsp varmış neyse.
Şimdi şunu düşündüm asp olsun php olsun daha doğrusu yeni çıkan diller yorumlamayı eski diller üzeirnden mi kullanıyor.Örneğin ben phpde
echo "" komutu yerine yazdır "" komutu kullanmak istiyorum.Böyle bir durumda yazdırı echo diye tanımlamam lazım ki phpnin alt yapısını kullanarak yazdır "" diyeyim.Fakat şöyle 3-5 komutluk bi zumsuk programlama dili yapabilir miyim dedim.
Yani yazdır vs.. gibi değer giricem ve onu okuyacak.Şimdi bu işi bilmiyorum fakat tahminimce phpde echo c de yorumlanıp printf komutuna dönüştürüp geri döndürülebilir ki bu zor olur.Yada apache vs.. gibi birşeyde kendi yorumlandırıla bilir.
Şimdi böyle birşey yapıla bilir mi.
Tabi bu birinci sorumdan önce merak ettiğim olay yorumlama durumudur.Yani biz printf komutu (c de öyleydi snaıyorum) verdiğimizde o asm ye gidip mi onu döndürüyor biraz bu mantığı açıklaya bilir misiniz.Sonra burdan belki kendi dilimizi oluşturma olayını türetebiliriz :)
-
en basit mantikla bi örnek veriyim sana mesela asp icin;
<%
Function zumsuk.yazdir(veri)
Response.Write (veri)
End Function
zumsuk.yazdir("bu yazı ekrana yazdırılsın.")
%>
gibi en fazla fonksiyon tanımlarsın. öbür türlü cok karı$ık. hatta gecen sandman'in bi yazısı vardı. gelirse $imdi anlatir sana :G
-
abi öyle asp, phpde az çok birşeyler yapıyorum :D
fakat cidden bu sıralar yorumlama mantığına taktım.Hele google ın python kullandığını duyunca (doğrumu bilmiyorum ama).Python ne sağlam dilmiş dedim(eğer öyleyse)
fakat bi kaç gündür yorumlama olayına taktm kafayı.Sabah eskişehirden düzceye geliyorum yolda düşünüyorum lan nasıl yorumlar diye :D yani c++ olsun, python olsun kendi yorumlama editörümü yorumlama sistemimi ne deniyorsa nerde oluyor o?Yani biz yazdırma kodu gönderdiğimizde hangi işlemler uygulanıyor.Şimdi googledan araştırıyorum döküman bulursma paylaşayım.
Fakat yine herzaman olduğu gibi eminim ki ingilizce dökümanalr tonla vardır fakat Türkçe 1-2 tane bulursun oda yetersiz.Öğrenyiorum lan ingilizce bu sene :D:D yaşadım.Neyse..
edit,
üniverstede bu işede yönelebilirim yani proje olarak kendi dilimi yapmaya çalışırım.Hemde büyük bir zevkle düşünsenize şimdi uzantısı atiyorum zmsk dosya.zmsk bunu öncelikle print oalrak kullandırırım :D sorna sitelerde site.com/selam.zmsk gibi yaparım yada 3 karakterlik kısa bi uzantı bulurum.
Yani çok zevkli gibi gözüküyor ama yine işin içine girdimi (bakın yine zumsuk un maymun iştahı başladı) cozlayıp kalırım.Nickmator u kodlamayı bırakmak bana yaramadı yorgunum şimdi yatayım yarın kodlamaya başlayayım yoksa boktan boktan işlerle uğraşıp boş yer kafa patlatıp yine sıkılıcam
-
benimde merak ettiğim bir olaydı bu ama benim en çok merak ettiğim python c/c++ yazılmış olması. bir programlama dili başka bir programlama diliyle nasıl yazılır?
-
bu konu hakkında pek bir bilgim yok programcılığa giriyor sonuçta ancak mantıken;
bir dilin çalışabilmesi için bir işletim sistemine ihtiyacı var.
dilin işletim sisteminde çalışabilmesi için var olan bir kaynağı kullanması gerekli yani dil içinde dil bir nevi.
asp.dll yi didiklerseniz hata alındığında ekrana basılan yazılar kabak gibi ortada ve değiştirilebiliyor..
programlama bilen birisi asp.dll ve bağımlı olduğu dosyalarda genel yapıyı bozmadan sadece değişkenleri editleyerek (response.write gibi)
kendi dilini çakma da olsa çıkarabilir ki asp to dll gibi bir olay var ve kısmen bu işi programcılık bilgisi fazla gerektirmeden visual basic ile yapabiliyorsunuz.
php ve linux ortamı nasıldır bilemiyorum ancak oturup sıfırdan bir web dili yazmak :/ zor :D
yanıldığım şeyler olabilir sadece fikir yürüttüm.
-
abi peki yorumlayıcılar nasıl çalışıyor yani biz phpde birşey yazdık php c tabanlı yada javascript perl python...SOnra onlar taa gidip c de mi derleniyor ?
-
bunu bi aralar bende cidddi ciddi düşündüm fekat lanet olsun içimdeki maymun iştaha
bu arada şindi sonuçta kendi dilimiz için dll oluşturucaz peki bu dll kodlama varmış asp de o nasıl oluyor bunun gibi bişemi yada bu dll kodlamayla işe başlaya bilirmüyük
-
yawuz bunu yazdı:
-----------------------------bunu bi aralar bende cidddi ciddi düşündüm fekat lanet olsun içimdeki maymun iştaha
bu arada şindi sonuçta kendi dilimiz için dll oluşturucaz peki bu dll kodlama varmış asp de o nasıl oluyor bunun gibi bişemi yada bu dll kodlamayla işe başlaya bilirmüyük
-----------------------------abi hayır eğer aspden editlersek böyle olur.Benim dediğim olay %100 bize ait dil.
Tabi bunun için öğrenmemiz gereken ilk şey yorumlama naalsıl oluyor.
Yani en basitinden phpde echo gidip nerde ne tarafından nasıl yorumlanıyor?ASpde response.write nasıl yorumlanıyor ufak bi dll gibi bir yerdemi yoksa alt yapısını oluşturan dilde mi.
Ondan yorumlamayı öğrenmemiz gerek.Şimdi en basitinden javascript, perli python, php c tabanlı.Asp.net c# tabanlı diye duydum.Peki aspnin tabanı endir?
Eğer tabanlı, tabanlı, tabanlı... diye gidiyorsa demek ki gücünü ve yorumlamasını bu dilden alıyor demektir.O halde echo dediğim gibi c de printf e kadar gidip orda mı yorumlanıyor?
Eğer öyle oluyorsa bütün programlama dillerininde tabanı var.HEpsinin ortka atası o halde asm falna mı?
-
Birkaç yöntem vardır bu iş için.Öncelikle dilin çalışıcagı işletim sistemi önemlidir.Çünkü derliyiciler ASM ve bazı düşük seviyeli diiler haricinde hemen hepsi işletim sisteminin API yada System Call'larını kullanır.Bu yüzdendirki bir işletim sisteminde derlenmiş bir program öbüründe çalışmaz.Bazı arkadaşlar buna itiraz edip Java ve .Neti söylicektir ama bunların arakatmanlarda kullanılan Frameworkler bu düzenlemeyi yaparlar.Peki yeni bir dil nasıl yaratılır bu cidden uzun bir konu hemde çok :) ama özetle sorularınızı cevaplıyım mesela Java yada son yılların popüler dili Pythonu ele alalım.Bunlar gerektigi yerde C gereken yerde ASM kullanılarak yazılırlar hatta bazen dilin kendisi(Pyhon için Python mesela) kullanılabilir.Sorun dil denilen şeyin gercekte bir çok parcasının olmasıdır(eklediginiz kütüphaneleri düşünün).Compiler yazmak ise dil yaratmaktan daha ayrı daha farklı bir işlemdir bu daha çok işletim sisteminde bir müdaheledir.
-
peki yorumlama küthüphaneye mi gidiyor asıl öğrenmek sitediğim bu
echo "<font color='red'>selam</font>" dedik bu kütüphaneye gitti sonra printf komutunu mu alıcak.Gerçi onu alsa html de yazıyı kırmızı yazdır diyecek.NErde değerlendiriliyor bu echo vs.. gibi komutlar?Kütüphanelerde mi?
-
Bak web dillerinde iş daha farklı mesela php'yi ele alalım sen php uzantılı bir dosyayı çagırdıgın zaman apache kendisine yüklü olan mod_php kütüphanesini çagrır bu kütüphane inputu alır çeşitli binary başka kütüphaneler vs aracılıgı ile yorumlar ve output olarak html çıktısını verir.Her dilin çalışma olayı farklı ortak bir mantık var dogru ama tüm diller şu şekilde çalışır demekte hatalı küçük nüanslar farkı yaratıyor