Arkadaşlar öncelikle merhaba.
Ben hobi amaçlı bir betik dili geliştirmek istiyorum.
Günlerdir araştırıyorum ama ne güzel bir örnek, ne de ilgili türkçe bir kaynak bulabildim.
Sizden isteğim bu proje için çok basit bir algoritma.
Şimdiden teşekkürler.
*Projeyi Ubuntu üzerinde geliştireceğim ve bu dile daha fazla özellik ekleyebilmek için .so (Shared Object) kullanacağım
bulamamış olmanıza şaşırdım çok güzel bir örnek var şurada: [1] https://www.youtube.com/watch?v=h7tkSfQQNGg
Alıntı yapılan: Reverser - 28 Temmuz 2015 - 20:23:07
bulamamış olmanıza şaşırdım çok güzel bir örnek var şurada: [1] https://www.youtube.com/watch?v=h7tkSfQQNGg
Teşekkür ederim.
Ama bir şey var;
Sizden isteğim sadece basit bir algoritma idi.
Ve o videoda anlatılan benim yapmak istediğimden farklı.
Benim yapmak istediğim bir yorumlayıcı.
Kod derlenmeyecek.
Kodlar bir dosyaya yazılacak ve yorumlayıcı kodları değerlendirecek.
Sözdizimini analiz edebilmek için basit bir sözdizim kullanman lazım, Basic gibi. Yok eğer dil esnek şekilde yazılmalı diyorsan bütün dilbilgisel özellikleri belirleyip bir "parser generator" ten yardım almalısın. Kaynak kod önce parser tarafından IR (ara form) 'a dönüştürülecek, sonra bu IR ister direkt çalıştırılır, ister JIT ile makine koduna çevrilir. Ben IR den sonraki kısma yardımcı olurum ama parser konusunda hiç tecrübem yok.
Alıntı yapılan: Amenofis - 29 Temmuz 2015 - 12:48:45
Sözdizimini analiz edebilmek için basit bir sözdizim kullanman lazım, Basic gibi. Yok eğer dil esnek şekilde yazılmalı diyorsan bütün dilbilgisel özellikleri belirleyip bir "parser generator" ten yardım almalısın. Kaynak kod önce parser tarafından IR (ara form) 'a dönüştürülecek, sonra bu IR ister direkt çalıştırılır, ister JIT ile makine koduna çevrilir. Ben IR den sonraki kısma yardımcı olurum ama parser konusunda hiç tecrübem yok.
Basic dili ile daha mı kolay olur?
Hayır yanlış anladın. Geliştirmek istediğin betik dilinden bahsediyorum. Aklında nasıl bir dil var bilmiyorum, sözdizimi basit ise yorumlayıp çalıştırması daha kolay olur yani.
Alıntı yapılan: Amenofis - 29 Temmuz 2015 - 12:58:36
Hayır yanlış anladın. Geliştirmek istediğin betik dilinden bahsediyorum. Aklında nasıl bir dil var bilmiyorum, sözdizimi basit ise yorumlayıp çalıştırması daha kolay olur yani.
Sözdizimi şöyle;
Merhaba Dünya programı
print "Merhaba Dunya!"
:)
derleme değil yorumlama uapıcak bir program yazmalıyım
http://merty.home.xs4all.nl/mole/
Burada bir Basic yorumlayıcısı için bir örnek var. Yarım bir düzine dosya içeriyor ve derleme için Yacc ve Flex gerektiriyor. Kaynak kodlarını inceleyebilirsin. (C ile yazılmış)