2011-12-15 52 views
5

Cách đọc nội dung từ tệp trong ocaml? Cụ thể cách phân tích chúng?Ocaml - Tệp và phân tích cú pháp

Ví dụ:

Giả sử tập tin chứa (a,b,c);(b,c,d)| (a,b,c,d);(b,c,d,e)|

sau đó sau khi đọc bài viết này, tôi muốn hai danh sách chứa l1 = [(a,b,c);(b,c,d)]l2 = [(a,b,c,d);(b,c,d,e)]

Có tốt hướng dẫn cho phân tích?

+2

Vui lòng không trả lời câu hỏi. Nếu bạn có bất kỳ điều gì mới để thêm vào câu hỏi hiện tại của mình, vui lòng chỉnh sửa câu hỏi đó. – BoltClock

Trả lời

2

Nếu bạn muốn chỉ định ngữ pháp và có ocaml tạo lexers và phân tích cú pháp cho bạn, hãy xem các hướng dẫn ocamllexocamlyacc này. Tôi khuyên bạn nên làm theo cách này. Nếu bạn thực sự chỉ có một loại mã thông báo trong định dạng tệp của mình, thì ocamlyacc có thể quá mức cần thiết nếu bạn chỉ có thể sử dụng lexer để tách tệp thành các thẻ được coi là hợp lệ theo ngữ pháp.

5

Đây là trường hợp sử dụng tốt cho trình tạo phân tích cú pháp menhir (kế thừa là ocamlyacc). Bạn có thể muốn sử dụng ocamllex để làm lexing. Tất cả đều có tài liệu tốt.

Bạn cũng có thể sử dụng camlp4 hoặc camlp5 khả năng phân tích luồng.

Đọc thêm các trang wikipedia trên lexing & parsing.

+0

Bạn có thể giới thiệu cho tôi một số mã ví dụ hay không? – priyanka

+3

Các tài liệu có mã ví dụ. –

3

Tôi muốn có xu hướng sử dụng Aurochs, trình phân tích cú pháp PEG cho nội dung như thế này. Có mã ví dụ trong repo ở đó.

Các vấn đề liên quan