Döngüleri, işlevler içindeki işlev bildirimlerini, özyinelemeli çağrıları vb. Destekleyen dinamik tipte bir programlama dili için C'de (Lex & Bison kullanarak) bir derleyici oluşturdum. Ayrıca derleyici tarafından oluşturulan ara kodu çalıştıran bir sanal makine de yarattım.
Kendi ara kodum yerine Java bayt koduna derlemeyi düşünüyordum.
Bir JVM dili oluşturmayla ilgili sorunun zaten sorulduğunu gördüm, ancak cevabı çok bilgilendirici bulmuyorum.
Sorularım işte burada:
- Sanırım JVM için bir dil oluşturmak için bir zorunluluk JVM şartname kitabını okumaktır, başka hangi kitapları önerebilirsiniz (tabii ki Dragon Book hariç)? Genel olarak bir derleyici değil, bir JVM dilinin nasıl oluşturulacağıyla ilgili kitaplar veya öğreticilerle ilgileniyorum.
.class
Dosyaları okumak, yazmak ve değiştirmek için jclasslib , bcel , gnu bayt kodu vb. Gibi birçok Java kitaplığı vardır . Hangisini önerirsiniz? Ayrıca, aynı işi yapan C kütüphanelerinin farkında mısınız?- Clojure, Jython veya JRuby gibi JVM'yi hedefleyen başka bir dile bakmayı düşünüyordum. Ancak tüm bu diller çok yüksek seviyeli ve karmaşıktır (onlar için bir derleyici oluşturmak için). JVM'yi hedefleyen daha basit (bilinmeyen veya kullanılmayan) bir programlama dili arıyordum ve derleyicisi açık kaynak. Herhangi bir fikir?