2010-08-10 30 views
16

Có bất kỳ công cụ khác (lý tưởng GUI) nào nhận thức được cú pháp không?các công cụ khác biệt về nhận thức cú pháp?

Như một ví dụ về các loại điều tôi đang tìm kiếm, tôi tiếp tục nhận thấy rằng công cụ bỏ lỡ hiện tại của tôi gắn đang lặp đi lặp lại:

Foo = { 'hello': 'world', | Foo = { 'hello': 'world', 
     'goodnight': 'moon' |   'goodnight': 'moon' 
     }      < 
           < 
Bar = { 'picture': 1000,  < 
     }      |   } 

Tôi muốn một công cụ mà sẽ cố gắng và làm cho phù hợp với niềng răng trên một mặt thẳng hàng với các khớp nối khớp với nhau.


Chỉnh sửa: Tôi đang tìm một công cụ có thể tự động phát hiện điều kiện đó và sửa căn chỉnh của nó.

+0

"khắc phục"? Bạn có nghĩa là xác định niềng răng chính xác, hoặc bằng cách nào đó sửa đổi mã nguồn? –

+0

@Ira: Tôi đang tìm kiếm đầu tiên. – BCS

+0

Dựa trên thảo luận trong các câu trả lời khác, BCS dường như chỉ muốn sửa lỗi cho BeyondCompare, hoặc cú pháp dựa trên GUI phải là công cụ khác nhau. –

Trả lời

0

Beyond Compare sẽ cho phép bạn căn chỉnh lại các dòng không phù hợp. Tôi thường có may mắn với nó phù hợp với dòng đúng cách.

+0

Tôi đang sử dụng BC và tôi đang tìm kiếm một cái gì đó tự động. – BCS

0

Tôi nghĩ Beyond So sánh có những gì bạn đang tìm kiếm http://www.scootersoftware.com/index.php

+0

Tôi đang sử dụng BC và trong khi nó cho phép tôi sửa liên kết bằng tay (không phải những gì tôi đang tìm kiếm), tôi không biết cách làm cho nó tự động. – BCS

0

Tôi thích DiffMerge Nguồn Gear.

+0

Đồng ý, tôi sử dụng điều này là tốt, nó là một công cụ tuyệt vời. –

+0

Tôi không thấy bất kỳ dấu hiệu nào trong tài liệu về những gì tôi đang tìm kiếm. Nó có thể xác định các yếu tố phù hợp nhưng nó dường như không cho phép chúng làm tổ và nó không nói rằng nó sử dụng chúng như là gợi ý liên kết. – BCS

3

Không GUI dựa, nhưng hoàn toàn cú pháp điều khiển: Smart Differencer công cụ của công ty tôi cho nhiều langauges (incluiding Java, C#, C++, PHP, Python, JavaScript, HTML, XML, COBOL, ...)

thông minh Differencer phân tích cú pháp văn bản nguồn giống như trình biên dịch, do đó, nó hiểu cú pháp và cấu trúc ngôn ngữ theo cách trình biên dịch thực hiện. Nó so sánh các cấu trúc này (sử dụng AST) để xác định "khoảng cách chỉnh sửa ít nhất" về hành động chỉnh sửa (di chuyển, sao chép, xóa, thay thế, đổi tên-in-block) trên các cấu trúc này và báo cáo chúng.

Trong ví dụ của bạn, nó sẽ biết dấu ngoặc nhọn ở bên phải thuộc về foo, không phải thanh và sẽ cho bạn biết rằng toàn bộ câu lệnh liên quan đến thanh đã bị xóa.

Kiểu đầu ra là khác nếu bạn muốn cấp kết quả cho công cụ khác hoặc có thể đọc được nhiều hơn nếu bạn muốn kiểm tra trực tiếp.

+0

Âm thanh thực sự gọn gàng, nhưng cả trên giết và không chính xác theo đúng hướng. – BCS

+2

@BCS: Dunno về quá mức cần thiết.Nếu bạn không chọn cấu trúc ngôn ngữ, bạn không thể kết hợp chúng; Tôi không biết bất kỳ lựa chọn thay thế có thể đến gần trừ khi tất cả các bạn muốn chỉ là phù hợp với khung. Điều gì không phải là phần hướng đúng? –

+1

@Ira: phù hợp với khung và (quy tắc liên kết gợi ý tương tự) là tất cả những gì tôi muốn (tôi đoán "nhận thức cú pháp" là một chút mạnh mẽ cho những gì tôi đang tìm kiếm) và tôi muốn một khác biệt văn bản, chỉ cần một công việc tốt hơn để tìm ra những gì mới so với cũ. – BCS

0

Công cụ Pretty Diff là cú pháp tự động nhận biết. Quá trình nó sử dụng là để giảm bớt mã để loại bỏ ý kiến ​​và sau đó làm đẹp mã để bình thường hóa định dạng và không gian trắng. Nó chỉ hỗ trợ một vài ngôn ngữ phía máy khách web. Công cụ này hoạt động ở phía máy khách để bạn có thể thử nghiệm nó trong trình duyệt của mình và có một trang mẫu chứa một số bản trình diễn.

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