2009-11-17 37 views
9

Tôi đã xem xét việc thiết kế một số Ngôn ngữ cụ thể về miền mà tôi có thể sẽ triển khai trong Clojure, nhưng tôi thực sự không có ý tưởng về những gì liên quan.Có ai biết về một tài liệu tham khảo tốt cho thiết kế DSL?

Các ngôn ngữ tôi có trong tâm trí được dự định là ngôn ngữ trừu tượng có thể đọc được bởi các chuyên gia miền với ít hoặc không có nền tảng lập trình.

Có ai biết về bất kỳ hướng dẫn, sách hoặc tài liệu tham khảo nào khác hữu ích không?

+3

Google nhanh chóng về "Thiết kế ngôn ngữ cụ thể cho miền" dường như có nhiều tài liệu tham khảo, bao gồm cả video dài một giờ do David Pollack của Google (http://video.google.com/videoplay?docid=-8103284744220333344&q = ruby ​​#) – Lazarus

Trả lời

7

Bạn có thể thích cuốn sách mới phát hành của Martin Fowler Domain Specific Languages. Đó là một công việc đang được tiến hành và phần lớn nó có sẵn trên mạng. Nó được dự định là ngôn ngữ bất khả tri.

Dưới đây là một số bài thuyết trình từ RubyConf mà tôi đã tìm thấy hữu ích (khái niệm ít nhất nên bản đồ để Clojure):

+0

+1 - David Fowler có vẻ hiển thị rất nhiều câu trả lời, nhưng tôi tin rằng anh ấy đã ngừng cập nhật sách trực tuyến vì anh ấy hiện đang nói chuyện với nhà xuất bản. –

3

Language Implementation Patterns bởi Terence Parr, tác giả của AntlrString Template, được cho là công cụ tốt nhất để gen tỷ lệ phân tích cú pháp và lexers.

Sách hiện đang ở giai đoạn "beta" nhưng sách vẫn là một nội dung tốt. Nếu bạn mua nó, bạn sẽ nhận được thông tin cập nhật và cũng là bản phát hành cuối cùng.

2

Dường như bạn đang mô tả một DSL bên ngoài. Đối với điều đó bạn cần phải thiết lập một trình phân tích cú pháp.

Bạn có hai lựa chọn: viết của riêng bạn (có thể khó) hoặc sử dụng hệ thống hiện có như ANTLR để xác định ngữ pháp. Nó là Java nên nó tương thích với Clojure.

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