Gói haskell-src-exts có chức năng in khá tốt một AST Haskell. Điều tôi muốn làm là thay đổi hành vi của nó đối với một số nhà xây dựng nhất định, trong trường hợp của tôi, cách mà các pragmas của SCC được in ra. Vì vậy, mọi thứ khác nên được in theo cách mặc định, chỉ các SCC được xử lý khác nhau. Có thể làm điều đó mà không cần sao chép source file và chỉnh sửa nó, đó là những gì tôi đang làm bây giờ?Sửa đổi máy in đẹp từ haskell-src-exts
5
A
Trả lời
2
Vâng, thư viện đã thực hiện một điều đúng, sử dụng loại lớp cho Pretty. Thách thức sau đó là làm thế nào để chọn một trường hợp khác nhau cho các nhà xây dựng bạn muốn in khác nhau. Lý tưởng nhất, bạn sẽ chỉ newtype nút AST bạn quan tâm, và bằng cách nào đó thay thế đó vào AST.
Bây giờ, vấn đề ở đây là AST Haskell được xuất bởi thư viện có cấu trúc kiểu cố định. Nó không, ví dụ sử dụng two-level types, điều này sẽ cho phép bạn thay thế kiểu mới cho các phần của cây. Vì vậy, bạn sẽ phải xác định lại loại AST xuống nút mà bạn muốn thay đổi loại.
Các vấn đề liên quan
- 1. Máy in đẹp GDB cho Qt5
- 2. Trình định dạng mã Java độc lập/làm đẹp/máy in đẹp?
- 3. JSON in đẹp mà không thay đổi thứ tự
- 4. Máy in đẹp tùy chỉnh sử dụng thư viện Jackson
- 5. Máy in đẹp cho các bản đồ ném lỗi loại
- 6. In đẹp ở Clojure
- 7. boost :: property_tree XML in đẹp
- 8. Các tệp XML in đẹp trên Emacs
- 9. Thư viện in đẹp nào?
- 10. nhận xét dải từ tệp xml và in đẹp nó
- 11. JSON in đẹp từ ObjectMapper của Jackson 2.2
- 12. Khay chuyển đổi máy in
- 13. PHP "in đẹp" HTML (không gọn gàng)
- 14. In bằng máy in chuẩn từ Python?
- 15. Khoảng cách in đẹp cho iOS
- 16. python - các thanh thông báo in đẹp
- 17. in đẹp vào một tệp trong ruby
- 18. Cách tốt nhất để in băm đẹp
- 19. In danh sách 2D 2D đẹp
- 20. in đẹp một thuật ngữ mở rộng
- 21. Mảng 2D in đẹp trong Java
- 22. Mô-đun cho HTML in đẹp?
- 23. In đẹp cho tập lệnh shell
- 24. NumPy: Dữ liệu dạng bảng in đẹp
- 25. Nhận máy in hóa đơn Epson để in từ Arduino
- 26. Làm thế nào để in mã VBA đẹp?
- 27. Có một trình định dạng mã PowerShell/máy in đẹp không?
- 28. Cách gọi hàm tạo trong gdb cho các máy in đẹp
- 29. Làm thế nào để viết một máy in đẹp tùy chỉnh
- 30. gdb in đẹp với các cuộc gọi hàm trực tiếp
Kỹ thuật này có thể được sử dụng như thế nào để thay thế một nút trong AST? Cho phép nói rằng tôi muốn thay thế (trong các định nghĩa từ các giấy trích dẫn) 'Arith' trong' Term' với một số loại tùy chỉnh 'MyArith'. Không phải 'Term' được cố định với định nghĩa của nó để sử dụng 'Arith'? –