- Yapılandırılmış ikili formatları bildirimsel zincir API ile tanımlamak için tasarlanmıştır; böylece elle parser yazmanın karmaşıklığını büyük ölçüde azaltır
- Parser tanımına dayanarak çalışma zamanında ayrıştırma kodunu dinamik olarak üretip derler; bu da elle yazılmış uygulamalara yakın çalışma performansı sağlar
- Tamsayı, kayan nokta, bit alanı, string, dizi, choice, pointer gibi ikili protokoller için gereken temel tipleri geniş kapsamda destekler (kullanıcı tanımlı tipler de mümkündür)
- Endianness, bit düzeyinde alanlar, değişken uzunluklu diziler gibi ağ ve dosya formatı ayrıştırmada sık görülen kalıplar doğrudan ifade edilebilir
choice ve array birleşimiyle TLV(Type-Length-Value) yapıları doğal biçimde modellenebilir
pointer, seek, saveOffset gibi özelliklerle ELF gibi ofset tabanlı formatların ayrıştırılması desteklenir
- Named parser (
namely) ile özyinelemeli yapı ağaçlarının ayrıştırılması mümkündür
- Ancak sonsuz özyinelemeyi önlemek için bir sonlanma koşulu gereklidir
- Hem CommonJS hem de ESM desteklenir ve Node.js ortamında Buffer / Uint8Array tabanlı ayrıştırma için optimize edilmiştir
- İkili dosya analizi, ağ paketi ayrıştırma, özel ikili formatların işlenmesi gibi düşük seviyeli veri yorumlama işleri için uygun bir kütüphanedir
Henüz yorum yok.