2008-09-13 21 views
8

Tôi đang xây dựng trình biên dịch nhắm mục tiêu .NET và trước đây tôi đã tạo CIL trực tiếp, nhưng việc tạo các cây DLR sẽ làm cho cuộc sống của tôi trở nên dễ dàng hơn. Tôi đang hỗ trợ một số tính năng động, cụ thể là tạo chức năng thời gian chạy và ducktyping, nhưng phần lớn các mã là hoàn toàn tĩnh.Sử dụng DLR để biên dịch ngôn ngữ tĩnh (chủ yếu)

Vì vậy, bây giờ mà đó là được giải thích, tôi có câu hỏi sau:

  • đã DLR được sử dụng để biên soạn tĩnh, bên ngoài ví dụ nhỏ trên blog MSDN?
  • Nếu có, loại hiệu suất nào đã đạt được?
  • Nếu không, có điều gì ngăn cản điều này một cách cơ bản không?
  • Có cơ chế tạo mã nào tốt hơn sử dụng DLR hoặc phát ra IL trực tiếp không?

Bất kỳ thông tin chi tiết nào về điều này hoặc tham chiếu đến blog/mã/cuộc hội thoại sẽ được đánh giá cao.

Trả lời

7

Tôi chưa biết bất kỳ ai sử dụng DLR theo cách này, mặc dù đây chắc chắn là một trong các trường hợp sử dụng dự định của nó. Một điều thú vị cần lưu ý là các cây biểu thức của DLR đã được hợp nhất với các cây biểu thức LINQ, do đó IL được tạo ra cho LINQ trong một số phiên bản tương lai chưa được công bố của Visual Studio sẽ sử dụng mã DLR.

Một khía cạnh gọn gàng để giải phóng DLR là nguồn mở là chúng tôi không biết những điều thú vị mà mọi người bên ngoài công ty có thể làm với nó :).

+0

Cảm ơn bạn đã phản hồi, tôi đã bắt đầu xây dựng một số nguyên mẫu biên dịch tĩnh, vì vậy chúng tôi sẽ xem mọi thứ như thế nào :) Tôi sẽ không nhận được phản hồi từ một người nào đó tại MS trên một trang web khá mơ hồ - tốt để xem :) –

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