2010-08-10 3 views
16

구문을 인식하는 (이상적인 GUI) diff 도구가 있습니까? 나는 시도하고 일치하는 괄호를 만들 수있는 도구를 싶습니다구문 인식 diff 도구?

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

: 내가 찾는 물건의 종류의 예를 들어

, 내 현재의 도구 미스 반복적 인 코드를 맞추 찾는 유지 한쪽은 다른 쪽의 일치하는 중괄호와 정렬됩니다.


편집 : 자동으로 해당 조건을 찾아서 정렬 할 수있는 도구를 찾고 있습니다.

+0

"수정"? 중괄호를 올바르게 지정했거나 소스 코드를 수정하는 것을 의미합니까? –

+0

@Ira : 첫 번째 것을 찾고 있습니다. – BCS

+0

다른 답변의 토론을 기반으로 BCS는 BeyondCompare에 대한 수정 또는 GUI 기반 구문 인식 Different 도구 중 하나만 필요하다고 나타납니다. –

답변

0

Beyond Compare은 불일치하는 줄을 재정렬 할 것입니다. 나는 일반적으로 라인을 적절하게 매칭하는 행운을 빕니다. 내가 너머 비교 생각

+0

BC를 사용 중이며 자동으로 뭔가를 찾고 있습니다. – BCS

0

당신이 나는 소스 기어의 DiffMerge를 좋아 http://www.scootersoftware.com/index.php

+0

나는 BC를 사용하고 있는데, 내가 뭘 찾고있는 건 아닌지 손으로 정렬을 고칠 수는 있지만, 자동으로 만드는 방법을 모른다. – BCS

0

무엇을 찾고있다.

+0

동의 함, 나는 이것을 사용해도 훌륭한 도구입니다. –

+0

내가 찾고있는 문서의 표시가 보이지 않습니다. 일치하는 요소를 정의 할 수는 있지만 중첩을 허용하지 않는 것으로 간주하고 정렬 힌트로 사용한다는 것을 나타내지는 않습니다. – BCS

3

기반으로하지만, 완전히 구문 중심의 GUI되지 않음 : 내 회사의 Smart Differencer 도구 (자바, C#을, C++, PHP, 파이썬, 자바 스크립트, HTML, XML, COBOL을 incluiding ...) 많은되는 언어의

스마트를 제공하기위한 것 Differencer 은 컴파일러와 같은 소스 텍스트 인을 구문 분석하므로 컴파일러의 언어 구문과 구조를 이해할 수 있습니다. 이 구조 (AST를 사용)를 비교하여 이러한 구조에 대한 편집 동작 (이동, 복사, 삭제, 대체, 이름 바꾸기 - 블록 내 식별자)의 관점에서 "최소 편집 거리"를 결정하고이를보고합니다.

예를 들어 오른쪽에있는 중괄호는 bar가 아니라 foo에 속해 있으며 bar가 포함 된 전체 문구가 단순히 삭제되었음을 알 수 있습니다.

출력 스타일은 다른 도구에 결과를 제공하려는 경우 diff 유사하거나 직접 검사하려는 경우 사람이 읽을 수있는 스타일입니다.

+0

소리는 정말 깔끔하지만, 죽이기도하고 옳은 방향도 아닙니다. – BCS

+2

@BCS : 과도한 공격에 대한 Dunno.언어 구조를 선택하지 않으면 일치시킬 수 없습니다. 나는 당신이 원하는 것이 브라켓과 일치하는 것이 아니라면 가까이 갈 수있는 대안을 모른다. 올바른 방향 부분은 무엇입니까? –

+1

@Ira : 대괄호 일치 (비슷한 맞춤법 힌팅 규칙)는 내가 원하는 것입니다 ("구문 인식"이 내가 찾고있는 것에 대해 조금 강하다). 그리고 나는 텍스트 diff를 원합니다. 새로운 것과 오래된 것을 알아내는 것이 더 효과적입니다. – BCS

0

Pretty Diff 도구는 자동으로 구문을 인식합니다. 이 프로세스는 주석을 제거하고 코드를 아름답게하기 위해 코드를 축소하여 형식 및 공백을 표준화합니다. 그것은 단지 몇 가지 웹 클라이언트 언어를 지원합니다. 이 도구는 클라이언트 측에서 작동하므로 브라우저에서 테스트 할 수 있으며 데모가 포함 된 샘플 페이지가 있습니다.