Cách ưu tiên để tăng lỗi (ParseError
) trong Parsec là gì? Tôi nhận được một số mã bên trong trình phân tích cú pháp thực hiện kiểm tra và nếu séc không thành công, bạn cần trả lại ParseError
(ví dụ: Left ParseError
khi chạy parse
).Nâng cao ParseError trong Haskell/Parsec
6
A
Trả lời
5
Bạn có thể sử dụng Text.ParserCombinators.Parsec.Prim.unexpected
và Control.Monad.fail
cho việc này. Cả hai đều tham số String
ký hiệu thông báo lỗi và sẽ trả về (trong trường hợp này) là giá trị loại GenParser tok st a
.
Để biết thêm, hãy xem Text.ParserCombinators.Parsec.Error
, cụ thể là Message
. Ở đó bạn có thể đọc chức năng nào để sử dụng trong trường hợp nào (mặc dù cả hai biểu thị lỗi phân tích cú pháp, nhưng chúng hơi khác về mặt ngữ nghĩa).
Các vấn đề liên quan
- 1. Nâng cao trong Python là gì?
- 2. truy vấn nâng cao trong HBase
- 3. Tính đa hình nâng cao trong Java
- 4. Truy vấn nâng cao trong REST
- 5. Nâng cao Django Mẫu Logic
- 6. C# nâng cao sự kiện
- 7. Thanh bên jQuery nâng cao
- 8. thư viện gif nâng cao
- 9. Kịch bản nâng cao Powershell
- 10. JQuery getJSON - ajax parseerror
- 11. Sự khác biệt giữa `nâng cao 'foo" `và` nâng cao ngoại lệ.new ("foo") `là gì?
- 12. Biểu đồ Gantt nâng cao cho SSRS2008
- 13. Ruby on Rails Nâng cao JSON Serialization
- 14. Hướng dẫn nâng cao LaTeX/Sách
- 15. CHỌN Ở ĐÂU MỘT cách nâng cao
- 16. Kết hợp tệp nâng cao của Windows
- 17. Nâng cao quy trình ProcessBuilder qua UAC?
- 18. jqGrid tìm kiếm nâng cao 'beforeSearch'?
- 19. Tải xuống video nâng cao trên iOS
- 20. Bắt đầu với "Nâng cao PHP"
- 21. git jenkins tính năng nâng cao
- 22. nâng cao SQL Server Sắp xếp theo
- 23. Nâng cao WPF MouseLeftButtonDownEvent sự kiện
- 24. Nâng cao quyền sử dụng mach_inject
- 25. Lệnh chuyển đổi nâng cao trong vòng lặp while?
- 26. Cách nâng cao thời gian chờ phiên trong ServiceStack
- 27. Bàn điều khiển nâng cao IO trong .NET
- 28. Chuyển đổi thư mục nâng cao trong bash
- 29. So sánh chuỗi nâng cao trong Oracle SQL
- 30. Chức năng tìm kiếm nâng cao trong Doxygen?
bạn có thể giải thích cách kết hợp chúng với trình phân tích cú pháp không? ví dụ khi có trình phân tích cú pháp như thế này: 'p = someparser <|> lỗi" lỗi "' điều là khi người nào đó thất bại thông báo lỗi của nó không biến mất, thay vào đó chuỗi "lỗi" được thêm vào nó. – niceman