10 puan yazan xguru 2023-06-15 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Shopify, YARP adlı yeni bir Ruby ayrıştırıcısı geliştirdi
  • Mevcut durumda Shopify/GitHub’ın ana kod tabanı ile RubyGems’teki en popüler ilk 100 gem’i aynı şekilde ayrıştırabiliyor
  • CRuby’ye merge edilmesi onaylandı
  • CRuby’nin mevcut ayrıştırıcısındaki sorunlar kabaca 4 başlıkta sınıflandırılabiliyor
    • Bakım yapılabilirlik: belgelendirme yok ve karmaşık olduğu için değiştirmesi zor
    • Hata toleransı: bir miktar tolerans olsa da küçük hatalarda bile sözdizimi ağacı oluşturulamıyor
    • Taşınabilirlik: ayrıştırıcı CRuby’nin içine derin biçimde bağlı olduğu için başka araçlarda kullanılamıyor
    • Performans: gelişmiş optimizasyon tekniklerini uygulamak zor
  • YARP geliştirme süreci
    • C ile yazıldı
    • Elle yazılmış bir Recursive Descent Parser (günümüzde başlıca dillerdeki eğilim bu yönde; gcc/golang da Bison’dan geçti)
    • CRuby ile aynı sözdizimi ağacını korumaya çalıştılar ancak sonunda kendi ağaç yapısını tasarlamaya karar verdiler
    • Shopify’ın 50 bin Ruby dosyasını 4,49 saniyede ayrıştırabiliyor (tepe bellek kullanımı 10,94 MB)
  • Bundan sonra
    • YARP’ı çeşitli Ruby çalışma zamanlarına entegre etmeyi planlıyorlar
    • Hız, bellek kullanımı ve doğruluğu sürekli iyileştirmeyi planlıyorlar
    • Matz ve CRuby ekibi, Ruby 3.3’e (bu yıl aralıkta yayımlanması planlanıyor) bir kütüphane olarak dahil edilmesi konusunda anlaştı
  • YARP: Yet Another Ruby Parser

Henüz yorum yok.

Henüz yorum yok.