• ออกแบบมาเพื่อให้สามารถกำหนดฟอร์แมตไบนารีแบบมีโครงสร้างด้วย declarative chain API ช่วยลดความซับซ้อนของการเขียนพาร์เซอร์ด้วยตนเองได้อย่างมาก
  • อิงจากนิยามของพาร์เซอร์เพื่อสร้างและคอมไพล์โค้ดสำหรับแยกวิเคราะห์แบบไดนามิกในรันไทม์ มอบประสิทธิภาพการทำงานใกล้เคียงกับการเขียนเองด้วยมือ
  • รองรับชนิดข้อมูลหลักที่จำเป็นสำหรับโปรโตคอลไบนารีอย่างกว้างขวาง เช่น จำนวนเต็ม, จำนวนทศนิยม, บิตฟิลด์, สตริง, อาร์เรย์, choice, pointer เป็นต้น (รวมถึงชนิดที่ผู้ใช้กำหนดเองได้)
  • สามารถแสดงแพตเทิร์นที่พบบ่อยในการแยกวิเคราะห์เครือข่ายและฟอร์แมตไฟล์ได้โดยตรง เช่น endianness, ฟิลด์ระดับบิต, อาร์เรย์ความยาวแปรผัน
  • สามารถจำลองโครงสร้าง TLV(Type-Length-Value) ได้อย่างเป็นธรรมชาติผ่านการผสาน choice และ array
  • รองรับการแยกวิเคราะห์ฟอร์แมตที่อิงออฟเซ็ตอย่าง ELF โดยใช้ pointer, seek, saveOffset เป็นต้น
  • รองรับการแยกวิเคราะห์โครงสร้างต้นไม้แบบเรียกซ้ำ ผ่าน named parser(namely)
    • อย่างไรก็ตาม จำเป็นต้องมีเงื่อนไขสิ้นสุดเพื่อป้องกันการเรียกซ้ำไม่สิ้นสุด
  • รองรับทั้ง CommonJS และ ESM และปรับแต่งมาสำหรับการแยกวิเคราะห์บนพื้นฐาน Buffer / Uint8Array ในสภาพแวดล้อม Node.js
  • เป็นไลบรารีที่เหมาะกับงานตีความข้อมูลระดับล่าง เช่น การวิเคราะห์ไฟล์ไบนารี การแยกวิเคราะห์แพ็กเก็ตเครือข่าย และการจัดการฟอร์แมตไบนารีแบบกำหนดเอง

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น