완전한 소스 코드 패키지를 파싱하고 모든 함수/메서드를 별도의 조각으로 추출하는 데 사용할 수있는 도구 목록을 작성하려고합니다. 필자의 목표는 도구 나 스크립트를 실행하고 패키지에있는 함수의 수를 즉시 파악하고 필요에 따라 세그먼트 화 된 함수 전체를 한 번에 하나씩 쉽게 검사하는 것입니다.소스 코드 프로젝트에서 모든 함수를 추출하는 도구
지금은 TXL (트리 변형 언어)으로 작성된 추출 스크립트가 포함 된 NiCad 복제 감지 도구를 사용하고 있습니다. 각 함수는 XML 문서에서 고유 한 엔티티로 추출되어 저장되므로 함수 목록을 처리하는 것이 매우 편리합니다. NiCad에는 C, Java 및 Python 용 추출 도구가 포함되어 있습니다. 나는 주로 C에 관심이 있지만, 나머지는 사용할 수있게되어 좋다. 아직 C++ 파서를 설치하지 않았기 때문에 편리합니다.
또한 콜 그래프를 식별하는 보너스가 추가 된 Doxygen을 사용했습니다. 이러한 파일에는 많은 마크 업이 있지만, Doxygen의 출력을 구문 분석하여 일반 함수 목록으로 가져 오는 데는 약간의 추가 작업이 필요합니다.
누구나 함수/메소드의 전체 집합을 추출하는 도구를 사용 했습니까? 권장 사항이나 경고가 있습니까? 만약 당신이 직접 작성했다면 어딘가에서 사용할 수 있습니까?
감사합니다.
무엇을 실행에 위의 프로그램의
NM? –
'libclang'은 어떨까요? – 0xC0000022L
필자의 겸허 한 견해로는 잘 작성된 C 또는 C++ 코드베이스에서 헤더 파일을 검토하여 프로젝트가 어떻게 작동하는지에 대한 기타 모든 관련 정보를 볼 수 있어야합니다. – Wug