ฉันได้สร้าง Script-Interpreter สำหรับ .Net โดยใช้ Antlr มันใช้งานได้ค่อนข้างดี แต่ข้อผิดพลาดทางไวยากรณ์ที่สร้างขึ้นนั้นแย่มาก คุณสามารถดูไลบรารีที่อยู่ในขั้นตอนการพัฒนาระยะเริ่มต้นได้ที่นี่ และไวยากรณ์ที่ใช้คือ อิงตามไวยากรณ์ ecma-Script นี้
ตอนนี้ปัญหาใหญ่คือเมื่อฉันมีไฟล์สคริปต์ขนาดใหญ่และฉันมีคำจำกัดความของวัตถุที่ระบุว่า
obj = { var1 = "hello"
var2 = "world};
ฉันคาดหวังข้อความว่า "ข้อผิดพลาดทางไวยากรณ์ที่บรรทัด xyz ',' คาดหวัง แต่กลับได้รับรายการที่ไม่มีทางเลือกอื่นนับร้อยที่ xyz สำหรับทุกข้อผิดพลาดในการติดตามผลที่เกิดจากเครื่องหมายจุลภาคหายไป
มีวิธีรับข้อผิดพลาดหนึ่งอันที่เกิดจากเครื่องหมายจุลภาคหายไปหรือไม่? มันจะโอเคโดยสิ้นเชิง หากบ่นเกี่ยวกับโทเค็น var2 ที่ไม่คาดคิด