tôi đã tự hỏi nếu có một cách để có được te đầu vào còn lại từ Parsec sau khi nó dừng lại phân tích cú pháp, hoặc nếu đó là một phân tích cú pháp thành công hay thất bại, có lẽ chữ ký này:Nhận đầu vào trái Parsec của
parseRemaining :: Stream s Identity t => Parsec s() a -> SourceName -> s -> (s, Either ParseError a)
đâu chúng tôi nhận thay vì một số Either ParseError a
, chúng tôi cũng nhận được số còn lại Stream s
Cân nhắc sử dụng attoparsec, nó nhanh hơn nhiều và hỗ trợ một phần đối sánh. – arrowd
Tôi không phân tích cú pháp các tệp lớn hoặc bất kỳ thứ gì giống như vậy và theo tôi hiểu, Parsec cung cấp giao diện * dễ dàng hơn *. Tôi sử dụng Parsec vì [câu trả lời này] (http://stackoverflow.com/a/19213247/1276441) – chamini2