2012-10-23 48 views
6

Tôi đang phát triển và mô hình meta Syntax Tree trừu tượng cho một smalltalk và ngay bây giờ tôi gặp khó khăn khi lập mô hình một khối. Chúng là loại chữ nhưng mặt khác chúng là những thực thể hành vi như phương pháp. Các khối là các hàm lambda nên có thể ai đó đã thực hành tốt hơn để làm việc với chúng.Biểu diễn đại diện của hàm lambda

Tôi sẽ cảm ơn mọi lời khuyên.

Trả lời

8

Trình duyệt Refactoring có AST rất đẹp, hãy xem xét việc triển khai.

Về câu hỏi của bạn: Trình duyệt Refactoring trích xuất các phần được chia sẻ của các khối và phương thức thành một loại nút riêng biệt được gọi là SequenceNode. Nút trình tự mô hình temps và chuỗi các câu lệnh. Sau đó, nút khối kết thúc tốt hơn nút chuỗi, thêm đối số và kế thừa hành vi được chia sẻ của các nút giá trị. Nút phương thức kết thúc tốt nhất nút trình tự và thêm tên phương thức, đối số, pragmas, v.v.

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