Kiểm tra công cụ Smart Differencer của chúng tôi, trong đó so sánh cây cú pháp trừu tượng, và các báo cáo khác nhau về mặt không thuộc đầu cuối ("các cấu trúc ngôn ngữ") rằng ASTs đại diện và hành động chỉnh sửa plauible (chèn, xóa, di chuyển) , cũng như khám phá đổi tên nhất quán.
Hiện tại, nó chỉ xử lý Java và COBOL, nhưng dựa trên DMS, trong đó có trình phân tích cú pháp cho nhiều biến thể ngôn ngữ, bao gồm C#.
EDIT 9/8/2009: C# SmartDifferencer hiện khả dụng cho người thử nghiệm beta.
Công cụ này đã xử lý một đổi tên nhất quán trên toàn bộ tập tin như là ngữ nghĩa tầm thường (trên giả định rằng các file khác tham khảo biểu tượng đổi tên cho phù hợp), cũng như đổi tên trong một phạm vi. Chúng tôi dự định tính đến các thay đổi nhỏ gọn về mặt ngữ nghĩa, chẳng hạn như khi di chuyển một khai báo phương thức xung quanh trong một lớp cho Java và C#.
EDIT tháng 10 năm 2010: Phiên bản sản xuất có sẵn.Eval downloads accessible at the website.
EDIT tháng năm 2012: Bạn có thể see a C# example at this page.
Một trong những điều đó hiện nay không làm được bỏ qua chỉnh sửa ngữ nghĩa null. Một trường hợp cụ thể tại điểm là xáo trộn các phương pháp về trong một thân thể lớp; chúng ta đều biết điều này không ảnh hưởng đến ngữ nghĩa cho C#. Công cụ của chúng tôi so sánh cú pháp (thông qua AST), không phải ngữ nghĩa, do đó, nó không hiểu sắc thái cụ thể này, và do đó sẽ cho người dùng biết rằng "điều này đã được di chuyển" thay vì im lặng.Chúng ta có kế hoạch xử lý các trường hợp như thế này trong tương lai, nhưng hey, mỗi sản phẩm phải có phiên bản 1: -} [Như một điểm tinh tế, các phương thức xáo trộn trong một lớp Java cũng là vô nghĩa, nhưng các trường shuffling là không phải do thứ tự đánh giá của initializers. Tôi không biết điều này có đúng với C# hay không nhưng nó sẽ không làm tôi ngạc nhiên.]
Nguồn
2009-07-22 05:22:13
Đó không phải là ý kiến thay đổi kiểm soát nguồn là gì? :) – jrummell
bạn vẫn đang chờ hỗ trợ để lấy lại cho bạn, tôi quan tâm để xem những gì bạn tìm thấy. –
Vẫn đang chờ. Họ liên lạc với tôi để hỏi tôi phương ngữ của C# tôi đã làm sau. Nói với họ rằng tôi đang tìm kiếm 2.0 (.NET 3.5) và được hỏi về một mức giá và nếu họ muốn phát hành một phiên bản dùng thử và chưa được nghe từ họ kể từ đó. – BenAlabaster