Làm sao để phân tích dữ liệu thời gian thực bằng Antlr4?

Em có làm 1 project nho nhỏ về C# winform, sử dụng Antlr4 để phân tích những cú pháp, hiện tại đã có thể tạo grammar và parse những dự liêu được truyền vào sẵn.
Em không biết làm cách nào để nó phân tích theo thời gian thực cả, ví dụ như richtextbox có dữ liệu thì trình phân tích ấy sẽ luôn cập nhật dữ liệu khi nó được chỉnh sửa rồi thông báo các kết quả ra.
Mong các a/c giúp đỡ, cảm ơn ạ!
edit: Không biết dùng sự kiện TextChanged rồi gọi Hàm phân tích lên có khả thi không nhỉ?

Bạn có thể dùng sự kiện TextChanged, nhưng nên xử lý ở luồng (thread) riêng tránh bị “đơ” khi đang nhập, vì quá trình này chắc chắc sẽ mất thời gian xử lý.
Bạn có thể giảm lưu lượng xử lý bằng cách giãn cách thời gian xử lý. Kiểu như sau khi người dùng dừng nhập liên tục trong 2 giây thì mới bắt đầu xử lý đoạn văn bản đã nhập.
Nếu thư viện đó cho phép xử lý một phần (phần đang nhập) thì càng tốt, đỡ phải chạy lại các đoạn trước đó.
Nên quản lý các luồng tốt (hủy bỏ, lấy kết quả của lần nhập mới nhất,…)

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?