Tôi muốn tạo mã cho một ngôn ngữ khác trong Haskell, nhưng tôi đã phân vân về cách để tiếp cận vấn đề này. Tôi đang tìm kiếm một đại diện trừu tượng và thanh lịch của ngôn ngữ trong Haskell, cũng hữu ích cho việc tạo mã. Ngôn ngữ được đề cập là InstallScript (link đến hướng dẫn tham khảo ngôn ngữ). Có thể ai đó vui lòng cung cấp gợi ý (có thể với các ví dụ?) Về cách nắm bắt các cấu trúc ngôn ngữ được sử dụng trong InstallScript trong các loại Haskell, hoặc trỏ đến các dự án tương tự cho cảm hứng?Tạo mã cho một ngôn ngữ khác trong Haskell
19
A
Trả lời
17
Đây là sự cố classic để giải quyết trong Haskell.
- Xác định một cây cú pháp trừu tượng cho ngôn ngữ của bạn
- Xác định một máy in khá (để tạo ra mã)
Đối với điểm thưởng:
- Xác định một phân tích cú pháp
- Viết một thư viện tổ hợp Haskell đẹp để cho phép bạn nhúng mục tiêu vào Haskell
- Viết trình tối ưu hóa cho cú pháp trừu tượng của bạn
Có many, many examples trên Hackage (ví dụ: this one).
Các vấn đề liên quan
- 1. Visual studio 2008 đoạn mã cho một ngôn ngữ khác
- 2. dịch một ngôn ngữ này sang ngôn ngữ khác?
- 3. Dịch mã theo cách thủ công từ một ngôn ngữ này sang ngôn ngữ khác
- 4. StyleCop cho các ngôn ngữ khác
- 5. Dịch mã byte Java sang các ngôn ngữ lập trình và ngôn ngữ lập trình khác
- 6. Mã được chuyển từ ngôn ngữ này sang ngôn ngữ khác - cấp phép
- 7. Làm thế nào để dịch từ một ngôn ngữ này sang ngôn ngữ khác trong Android
- 8. Làm việc trên mã nguồn "ngôn ngữ khác"
- 9. Tại sao một số ngôn ngữ lập trình nhanh hơn các ngôn ngữ khác?
- 10. Mã ngôn ngữ Trung Quốc
- 11. Phân tích mã tĩnh cho ngôn ngữ assembly
- 12. Tạo ngôn ngữ tự nhiên trong PHP
- 13. Tra cứu phần tử nhanh cho một ngôn ngữ chức năng (Haskell)
- 14. Cách lấy tên ngôn ngữ cho một ngôn ngữ cụ thể trong linux
- 15. Mã trạng thái HTTP cho chuyển hướng ngôn ngữ
- 16. Tạo ngôn ngữ kịch bản
- 17. C đến C++: Chuyển từ một ngôn ngữ khác
- 18. Có một ngôn ngữ được tạo riêng cho lập trình Hợp phần Thực thể không?
- 19. Sự khác nhau giữa việc tạo ngôn ngữ cho en-US và en_ là gì?
- 20. Ngôn ngữ trong một Sandbox trong Rails
- 21. Symfony2 Ngôn ngữ cho TLD
- 22. Đa ngôn ngữ Ngôn ngữ
- 23. Các ngôn ngữ khác nhau cho Tôi thích nút
- 24. Cách tạo ngôn ngữ lập trình .Net?
- 25. Đồng thời kiểu Erlang cho các ngôn ngữ khác
- 26. atoi() với các ngôn ngữ khác
- 27. Trình tạo ngôn ngữ tự nhiên cho các ngày (Java)
- 28. strtotime Với các ngôn ngữ khác nhau?
- 29. Cách tạo gói ngôn ngữ tùy chỉnh cho Android?
- 30. Tạo ngôn ngữ lập trình với C#
Bạn chỉ cần xác định và triển khai các kiểu trừu tượng để thể hiện cây cú pháp trừu tượng của ngôn ngữ đối tượng (InstallScript) và để có các máy in đẹp thích hợp, v.v. –
@BasileStarynkevitch: bạn có thể trỏ tới các dự án thực hiện điều này không? Tôi đang tìm kiếm các ví dụ và thủ thuật thông minh ... – akosch
Bạn có thể muốn xem [gói nsis] (http://hackage.haskell.org/package/nsis-0.1.2). – bzn