Tôi đã tự hỏi, nếu có một tiêu chuẩn, cách kinh điển trong Haskell để viết không chỉ một trình phân tích cú pháp cho một định dạng tệp cụ thể, mà còn là một nhà văn.Phân tích cú pháp và in ấn khá giống với định dạng tập tin trong Haskell
Trong trường hợp của tôi, tôi cần phải phân tích cú pháp tệp dữ liệu để phân tích. Tuy nhiên, tôi cũng mô phỏng dữ liệu được phân tích và lưu nó trong cùng một định dạng tệp. Bây giờ tôi có thể viết một trình phân tích cú pháp bằng cách sử dụng Parsec hoặc một cái gì đó tương đương và cũng viết các hàm thực hiện đầu ra văn bản theo cách cần thiết, nhưng bất cứ khi nào tôi thay đổi định dạng tệp của mình, tôi sẽ phải thay đổi hai hàm trong mã của mình. Có cách nào tốt hơn để đạt được mục tiêu này không?
Cảm ơn bạn, Dominik
Tôi nghĩ rằng điều đơn giản nhất để làm là định nghĩa một kiểu dữ liệu thể hiện cú pháp của tệp của bạn và sau đó viết một trình phân tích cú pháp riêng biệt và máy in đẹp như bạn nghĩ. Đây là những gì hầu hết các thư viện ngôn ngữ làm ví dụ. – jozefg
Dưới đây là một số chủ đề có liên quan gần đây về reddit: [1] (https://www.reddit.com/r/haskell/comments/6aqvgj/parser_libraries_with_ast_output/), [2] (https://www.reddit.com/ r/haskell/comments/66o3lp/i_think_this_is_a_really_stupid_question_inverse /) IMO công nghệ này vẫn có vẻ khá thử nghiệm. –
Điều bạn muốn làm là xác định ngữ pháp và sử dụng một số thư viện để tạo trình phân tích cú pháp và máy in đẹp tự động. Có một số thư viện yêu cầu bồi thường để có thể làm điều đó nhưng đề xuất một có lẽ là OT (tôi sẽ có nếu tôi có kinh nghiệm với bất kỳ ai trong số họ) – jberryman