นี่คืองานที่ดำเนินการ Lauseless Lua 5.1+ Parser ที่เขียนด้วย Rust มันจะรักษาความคิดเห็นทั้งหมดช่องว่างและความแตกต่างของสไตล์เช่นคำพูดและการหลบหนี
ฉันต้องการใช้ MAB สำหรับโครงการในอนาคตจำนวนมาก:
ยินดีต้อนรับการบริจาค - มีงานมากมายที่ต้องทำ!
MAB รองรับ Rust 1.26 เสถียรและใหม่กว่า
มีชุดทดสอบขนาดใหญ่พอสมควรที่ใช้เป็นระบบ "แยกวิเคราะห์โดยตัวอย่าง" อินพุตทดสอบไฟล์จะอยู่ใน parse_examples/source
นักวิ่งทดสอบ ( cargo test ) จะอ่าน, tokenize และแยกวิเคราะห์ไฟล์ต้นฉบับเหล่านี้และตรวจสอบโฟลเดอร์ผลลัพธ์ที่ดีที่รู้จักกันล่าสุด ( parse_examples/results ) เพื่อดูว่าพวกเขาตรงกับสิ่งที่พวกเขาเคยทำมาก่อนหรือไม่
หากคุณกำลังทำการเปลี่ยนแปลงที่ปรับเปลี่ยน AST ของ Parser ให้ลบรายการโทเค็นอนุกรมที่สอดคล้องกันและไฟล์ AST JSON เมื่อคุณรันนักวิ่งทดสอบถัดไปมันจะสร้างไฟล์ที่ควรได้รับการตรวจสอบและส่งด้วยตนเองพร้อมกับการเปลี่ยนแปลงของคุณ ผู้ชม DIFT ของ Git สามารถช่วยระบุได้ว่าสิ่งที่เปลี่ยนแปลงนั้นเป็นความตั้งใจหรือไม่
ระวังการจบสายเมื่อพัฒนาบน Windows ที่เก็บมีไฟล์ .editorconfig เช่นเดียวกับไฟล์ .gitattributes เพื่อพยายามรับประกันว่าไฟล์ LUA ทั้งหมดมีจุดสิ้นสุดของ LF เมื่อเทียบกับ CRLF การตรวจสอบในการแยกวิเคราะห์โดยรายการโทเค็นที่มีการสิ้นสุดของสาย CRLF ที่อบเข้าไปจะทำให้ CI ล้มเหลว
โครงการนี้มีอยู่ภายใต้เงื่อนไขของใบอนุญาตสาธารณะ Mozilla เวอร์ชัน 2.0 รายละเอียดมีอยู่ในใบอนุญาต