Khái quát về phương pháp dẫn xuất biểu thức chính quy của Brzozowski?


18

Phương pháp phái sinh của Brzozowski là một kỹ thuật rất đẹp để xây dựng tính tự động xác định từ các biểu thức chính quy theo cách đại số độc đáo. Tôi đã tìm ra một số khái quát dễ thương của kỹ thuật này để xử lý một số lớp ngữ pháp lớn hơn, nhưng các thuật toán đủ đơn giản để có vẻ như chúng đã được phát hiện trước đó. Nhưng các tài liệu tham khảo của Google về hậu duệ của kỹ thuật này dường như không xuất hiện nhiều. Có ai biết gì không?


2
Tôi khá tò mò về những lớp ngữ pháp mà bạn đang nghĩ đến. Về con cháu, kỹ thuật của Antimirov, tạo ra automata không điều kiện thay thế, rất hay: Các dẫn xuất một phần của biểu thức chính quy và các cấu trúc tự động hữu hạn , TCS 155 (2), 1996, ( dx.doi.org/10.1016/0304-3975(95 ) 00182-4 ).
Sylvain

bạn có nghĩa là khái quát hóa cho các ngôn ngữ phức tạp hơn, như thông thường <không ngữ cảnh <nhạy cảm với ngữ cảnh <...?
s8soj3o289

Tôi đã xem xét các hệ thống con của CFG gần như trong khu vực lân cận VPL.
Neel Krishnaswami

... nhưng tập hợp các công cụ phái sinh không hữu hạn. Và thực sự nếu bạn muốn một cái gì đó mang tính quyết định như với phương pháp của Brzozowski, có lẽ bạn bị giới hạn ở DCFL (do đó tôi tưởng tượng nó có thể có ý nghĩa đối với VPL).
Sylvain

Câu trả lời:


7

Trong Total Parser Combinators (ICFP 2010), tôi sử dụng các dẫn xuất Brzozowski để thiết lập rằng tư cách thành viên ngôn ngữ có thể quyết định đối với một loại ngữ pháp có khả năng vô hạn nhất định.


12

Bạn có thể quan tâm đến bài viết này:

Yacc đã chết bởi Matthew Might và David Darais, 2010

Chúng tôi trình bày hai cách tiếp cận mới để phân tích các ngôn ngữ không ngữ cảnh. Cách tiếp cận đầu tiên dựa trên sự mở rộng của đạo hàm của Brzozowski từ các biểu thức thông thường sang ngữ pháp không ngữ cảnh. Cách tiếp cận thứ hai dựa trên sự khái quát hóa các tổ hợp dẫn xuất của trình phân tích cú pháp. Phần thưởng của các kỹ thuật này là một thư viện phân tích cú pháp nhỏ (dưới 250 dòng), dễ thực hiện có khả năng phân tích các ngữ pháp không ngữ cảnh tùy ý vào các khu rừng phân tích lười biếng. Triển khai cho cả Scala và Haskell được cung cấp. Các thử nghiệm sơ bộ với S-Expressions đã phân tích hàng triệu mã thông báo mỗi giây, điều này cho thấy kỹ thuật này đủ hiệu quả để sử dụng trong thực tế.

Cũng là mối quan tâm tiềm năng:


Tiêu đề giấy rất buồn cười! :-)
Đại Lê

7

Trở lại giữa những năm 80 trong khi tôi đang làm việc về các trình phân tích cú pháp đi lên đệ quy và bao thanh toán ngữ pháp, tôi bắt đầu bằng cách định nghĩa các dẫn xuất một phần của ngữ pháp.

Có rất nhiều lý thuyết hay.

Bạn có câu hỏi cụ thể nào không?


Ngay bây giờ tôi chỉ đang câu cá xung quanh cho công việc liên quan. Vì tôi đã suy nghĩ chủ yếu về các trình phân tích cú pháp gốc đệ quy, vì vậy tôi sẽ tìm các ứng dụng cho phân tích cú pháp theo kiểu LR giống như bạn đề xuất đặc biệt hấp dẫn. Bạn có thể chỉ cho tôi bất kỳ giấy tờ của bạn?
Neel Krishnaswami
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.