Python İle İlgili Yardım

Başlatan cebecifaruk, 19 Mayıs 2013 - 14:19:09

« önceki - sonraki »

0 Üyeler ve 3 Ziyaretçi konuyu incelemekte.

cebecifaruk

Python kodları yorumlanarak çalışıyor. Ve bu python yorumlayıcıları (ör; Jython, PyPy) farklı farklı dillerde yazılabiliyor. Bende bir python yorumlayıcısı yazmak istiyorum.Aslında burada yapmak istediğim bu yorumlayıcının mantığını öğrenmek.Şimdi bildiğim kadarıyla python dilinin standart kodları var. Ve bu standart kodlarla kütüphaneler yazılıyor.

1-) Biz şimdi bu standart kodları modifiye ederek başka bir cihazda çalıştırdığımızda kütüphanelerin çalışmasında sıkıntı çıkarmı? Yani ben yorumlayıcı değiştirip ayrı ayrı platformlarda python programlarını çalıştırabilirmiyim. Ama kütüphanelerde hiç değişiklik yapmadan

2-) Python yorumlayıcısını C dili kullanarak (Zaten var ama dediğim gibi sadece öğrenmek amaçlı) nasıl yazabilirim. Biraz beni aydınlatırmısınız.

sem

1-) Yaptığınız modifiyeye göre değişir sistemden sisteme çalışma durumu. Bir işletim sisteminde bulunmayan kütüphaneler, metodları kullanacak şekilde güncellerseniz elbet çalışmayacaktır ama bunun dışında standart Python yazarak, Python yüklü olan her ortamda çalışması gerekir.

2-) İlk olarak söz dizim kontrolü ile başlayabilirsiniz. Tüm Python söz dizimini bilmeniz ve düzenli ifadeler kullanarak (regular expression) bunları C tarafında kotarmanız gerekir. Örneğin kullanıcı;

print a
print b
print c

de yazabilir;

print a;
print b;
print c;

olarak da yazabilir.

print a;print b;print c;

olarak da yazabilir.

Ya da

degisken = 5

degisken = 5;

degisken =     5
degisken           = 5;

Yukarıdaki print işlemleri ve degisken  atamasını anlayabilmeniz ve yorumlaayıcınız tarafından aynı şekilde yorumlanması gerekir. Tabi bu ilk aklıma gelen ve hiç düşünmeden yazdığım örnekler. Bu örneklerin çok çok daha karmaşığını ayırt edebilmeniz gerekir. Öncelikli olarak bu =)

Daha sonra bunlardan anlamış olduklarınız çalışma zamanında işlemcinin anlayacağı makine kodlarına çevirmeniz gerekli. Bu işlem için araştırma yapmam lazım tam olarak emin oladım ne şekilde yapıldığından.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

freeman

Derleyici ve yorumlayıcı gibi programları, öyle başka bir programa bakarak yazamazsınız. Yazsanız da anlamazsınız ne yaptığınızı. Çok komplike kavramlar içerirler. Önemli derecede bilgi birikimi olması lazım.Anladığım kadarı ile, daha çok acemisiniz. Derleyici/yorumlayıcı kavramlarından ziyade, programlama kavramlarını öğrenmelisiniz. Yoksa kopyala/yapıştırdan öteye geçmez yazdığınız derleyici/yorumlayıcı.Nacizane tavsiyem, öncelikle programlamada profesyonel olana kadar çalışın. Ondan sonra zaten çoğu kavram kafanızda oluşur.
Good morning and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel.