ตามคำขอ @Agos ฉันเปลี่ยนความคิดเห็นเป็นคำตอบ
ก่อนอื่นฉันต้องยอมรับว่าฉันไม่มีความรู้ในด้านนี้จริงๆ แต่ฉันขอแนะนำให้คุณอ่านเอกสารการสร้าง parsers ที่เป็นมิตรและการแยกวิเคราะห์ที่เพิ่มขึ้นอย่างมีประสิทธิภาพและยืดหยุ่นเพื่อให้มีมุมมองว่าอัลกอริธึมที่ใช้สำหรับการแยกวิเคราะห์ที่เพิ่มขึ้นก่อนปี 2000
สำหรับการรักษาที่ปรับปรุงแล้วคุณสามารถดูเอกสารเหล่านี้:
ข้อมูลเพิ่มเติม:มีอย่างน้อยสองวิธีในการแยกวิเคราะห์ / รวบรวม:
- ชุดวิธีการซึ่งในบล็อกทั้งหมดของรหัสจะแยก / เรียบเรียง
- เพิ่มขึ้นวิธีการซึ่งในเอกสารที่จะแยกแรก / รวบรวมในโหมดแบทช์แล้วการเปลี่ยนแปลงที่มีการตรวจพบและน้อยที่สุดอีกครั้งแยก / ใหม่รวบรวมถูกนำไปใช้ วิธีการนี้ไม่เพียง แต่ช่วยเพิ่มความเร็วในการแยกวิเคราะห์ / รวบรวม แต่ยังช่วยในการ IDE ดีคุณสมบัติเช่นการรวบรวมพื้นหลังซึ่งมีความเกี่ยวข้องกับการรวบรวมขี้เกียจ (คุณสามารถค้นหาเกี่ยวกับคุณสมบัติเชิงพาณิชย์เช่น IntelliSense )