2010-02-18 2 views
2

C++ 코드를 xml로 변환 할 수있는 도구가 있습니까? 아니면 구문 분석이 더 쉬운 다른 형식이 있습니까? xml을 C++로 되돌릴 수있는 옵션이 있다면 좋을 것입니다. doxygen의 xml 형식에 대해 이미 알고 있습니다. 아마 나 일뿐입니다.하지만 특별히 도움이되지는 않습니다.C++ 코드를 xml로 변환 할 수있는 도구가 있습니까?

+5

C++과 XML 사이에는 명확한 일치가 없으므로 XML로 무엇을하고 싶습니까? 분명히 XML로 전체 프로그램을 원할 것입니다. 아마도 ''과 ''사이에 하나의 커다란 항목 일 것입니다. –

+0

C++가 필수 프로그래밍 언어이고 XML이 데이터 기술 언어 인 경우, 왜 정확히 이것을하고 싶습니까? (피킹하지 않고 호기심이없는) –

+0

@David Thornley & @BillyONeal, 클래스에 정의 된 모든 필드와 메서드를 추출하고 싶습니다. xml을 파싱하는 것은 C++을 파싱하는 것보다 쉽습니다. – Geo

답변

6

같은 것 gcc xml?

내가 최근에 배운 것처럼
+0

출력을 다시 C++ 코드로 변환 할 수 있습니까? – Geo

+3

아니요, XML 출력 만 제공합니다. 또한 gcc-xml은 함수 본체에 대한 액세스 권한을 제공하지 않습니다. 잘못된 도구에 대한 액세스가 필요한 경우입니다. –

2

, clangs C++ support이 (CXX로 시작하는 클래스) 완료하고 API에 가까워 것은 매우 좋아 보인다.
어쩌면 현재 지원으로 충분할 수도 있습니다.

1

DMS Software Reengineering Toolkitfull C++ parser with symbol table이며 직접 구문 분석 트리에 대한 XML을 생성 할 수 있습니다. DMS는 사용자 정의되도록 설계되었습니다. 심볼 테이블을 XML로 덤프하는 것은 간단합니다. 그것은 선언문 기능 본문 정보에 대한 완전한 액세스를 제공합니다. XML은 1000 라인의 C++ 프로그램에서 꽤 클 수 있습니다.

그러나 일단 XML을 사용하면 C++ 소스 코드를 다시 생성 할 수 없습니다.

DMS는 사용자 지정 분석 및 코드 생성 작업을 지원하도록 설계되었습니다. "내부"DMS에 있으면 C++ AST 및 기호 테이블 데이터를 마음의 내용에 생성하고 문제 코드를 분석 및/또는 C + AST를 변환 할 수 있으며 AST를 합법적 인 컴파일 가능한 C++ 코드로 미리 미리 인쇄 할 수 있습니다.

예, 적극적으로 관리합니다.