Yazılım dili nasıl yapılır?


Keşke üstteki mesajlarımı okusan ona göre cevap versen? Ben orada başka biri ile yazılım hakkında söylediği bir şeye cevap olarak verdim. Konu sahibine havuza ayağını soktun diye kendini poseidon ilan etme dedim.
 

Sizi hedef alan bir mesaj yazmadim ki hocam. Konuyu acan arkadasa binayen yazdim.
 
Kardeş doğmamış çocuğa don biçilmez önce şu Python'u bitir bi.
 
Merhaba arkadaşlar, kısa süre önce Python öğrenmeye başladım ve kendi yazılım dilimi yapmak istiyorum. Nasıl yapabilirim mantığı ne?
Scripting bir programlama dilinin(Python'da scripting bir programlama dilidir.) mantığı şu şekilde işler:

Lexer, komutları tokenize eder. Şunun gibi: "print(4 - 2) => [("print", Function), ("(", LeftPar), (4, Int), ("-", minus), (2, Int), (")", RightPar)]

Parser, tokenleri Abstract Syntax Tree'ye çevirir. Şunun gibi: [("print", Function), ("(", LeftPar), (4, Int), ("-", minus), (2, Int), (")", RightPar)] =>
(print)​
|​
(4)​
--------------(+)--------------​
(2)​

Daha sonra isteğe bağlı olarak Abstract Syntax Tree, Abstract Action Tree'ye çevrilir:
(print): function​
|​
(4): Int​
--------------(+)--------------​
(2): Int​

Daha sonra Abstract Syntax/Action Tree'yi çalıştırabilecek bir runner yazılır.

Eğer compile edilebilir bir dil yazmak istiyorsanız Tree'yi makine diline çevirip bilgisayara işlem yaptırmanız gerekiyor. Örn: C, C++.

Bunun gibi bir projem olmuştu. Şuan geliştirmiyorum.
 
Son düzenleme:
Çocuk işin mantığını merak ediyor. Ben de çocukken oyuncak arabalarımı söker, acaba içinde gerçekten bir de motor var mı diye bakardım. Sonra araba çöp olurdu. Çocuklar hep bir şeyin içini görmek ister.

itch.io da "Nil" ve "Neil" isimli derleyici (yorumlayıcı) ve programlama dillerini bulabilirsiniz. C#(.NET) ve Lua ile geliştirilmişler. İnceleyebilirsiniz ve deneyebilirsiniz. Syntax olarak Pascal andırıyorlar.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…