Có một thuật toán hoặc công cụ để chuyển ngữ pháp thông thường thành cụm từ thông dụng không?Làm cách nào để chuyển ngữ pháp thông thường thành cụm từ thông dụng?
6
A
Trả lời
1
1
Thuật toán khá đơn giản nếu bạn có thể tính toán một automaton từ cụm từ thông dụng của bạn. Một khi bạn có automaton của bạn. Ví dụ: (aa*b|c)
, một ô tô sẽ là (mũi tên ở bên phải):
a
/\
a \/b
-> 0 ---> 1 ---> 2 ->
\___________/
c
Sau đó chỉ cần "liệt kê" chuyển đổi của bạn làm quy tắc. Dưới đây, xem xét rằng 0, 1 và 2 là ký hiệu nonterminal, và tất nhiên a, b và c là các thẻ.
0: a1 | c2
1: a1 | b2
2: epsilon
hoặc, nếu bạn không muốn rỗng bên tay phải.
0: a1 | c
1: a1 | b
Và tất nhiên, tuyến đường theo hướng khác cung cấp một phương tiện để chuyển ngữ pháp thông thường thành một ô tô, do đó biểu thức hợp lý.
Các vấn đề liên quan
- 1. Chuyển đổi chuỗi thành cụm từ thông dụng ruby
- 2. Chuyển đổi cụm từ thông dụng sang CFG
- 3. Tại sao cụm từ thông dụng được gọi là cụm từ "thông thường"?
- 4. Cụm từ thông dụng chuyển thành biểu đồ
- 5. Làm cách nào để tạo cụm từ thông dụng khớp với chữ hoa và chữ thường?
- 6. Cú pháp Groovy để đối sánh cụm từ thông dụng
- 7. cụm từ thông dụng "chứa" một cụm từ thông dụng khác
- 8. Các giải pháp thay thế cho Cụm từ thông dụng
- 9. Làm cách nào để sử dụng cùng một cụm từ thông dụng trong các ngôn ngữ lập trình khác nhau?
- 10. .NET BindingSource.Filter với cụm từ thông dụng
- 11. Tham gia các cụm từ thông dụng
- 12. Làm cách nào để thực hiện các thử nghiệm phù hợp với cụm từ thông dụng?
- 13. Làm nổi bật cú pháp cho cụm từ thông dụng trong Vim
- 14. Thoát biến trong Cụm từ thông dụng
- 15. Cụm từ thông dụng và GWT
- 16. Loại ngôn ngữ nào có thể sử dụng cụm từ thông dụng Perl?
- 17. Làm cách nào để sử dụng cụm từ thông dụng để khớp với tên?
- 18. Sử dụng cụm từ thông dụng để so sánh số
- 19. Chuyển chuỗi đầu vào của người dùng thành cụm từ thông dụng
- 20. tạo cụm từ thông dụng từ một chuỗi
- 21. Cụm từ thông dụng trong findstr
- 22. Làm cách nào để tạo vòng lặp với cụm từ thông dụng?
- 23. Làm cách nào để bạn khớp một trong hai từ trong một cụm từ thông dụng?
- 24. Cụm từ thông dụng trong C
- 25. Thuật toán cụm từ thông dụng nào sử dụng PHP?
- 26. Làm cách nào để áp dụng "bộ lọc" dựa trên cụm từ thông dụng?
- 27. Cụm từ thông dụng C++ Qt
- 28. Làm cách nào để xác định xem một chuỗi không phải là cụm từ thông dụng?
- 29. Cách sử dụng cụm từ thông dụng trong xxml xpath?
- 30. Unicode, cụm từ thông dụng và PyPy
Bạn có thể xem http://www.regexmagic.com/ nếu dễ dàng tạo biểu thức là mục đích của bạn. – Aphelion
Mục tiêu của tôi là chuyển đổi ngữ pháp thông thường thành DFA. Cuối cùng, tôi đã tìm thấy một công cụ tuyệt vời: http://www.jflap.org/jflaptmp/. – dalibocai
JFLAP trông rất đẹp. Cảm ơn các liên kết. –