2009-12-30 4 views
9

우리는 파이썬 코드를 자동으로 생성하는 구형 C++ 툴을 가지고 있습니다. 나는 C++ 소스 도구를 통해 지금 당장 슬퍼하려고 노력했고, 거의 내 자신을 쏘고 싶었다. 그 일은 내가하고 싶은 일이며 도구로 만든 소스를 정리하고 스핑크스 태그를 추가하여 클래스를 내부 문서 시스템에 연결합니다.Python 코드를 파이썬에서 파싱 하시겠습니까?

이제 파이썬 내에서 파이썬 코드를 파싱하는 훌륭한 도구가 있는지 궁금합니다.

foo._methods_.append() 

Snip 500 lines 

foo._methods_.append() 

제안 :

이 같은 물건을 많이가있다?

기본적으로 기능이 있지만 광적으로 지저분한 코드 구조가 있습니다. 기본적으로 특정 청크를 추출하여 자신의 파일로 옮기고 싶습니다. 그리고 생성 된 모든 잡다한 것들을 정리하십시오.

나는 구문 분석기와 AST에서 모두 익숙해 보였지만 실제 사용되는 예제는 찾을 수 없습니다.

답변

3

을 사용할 수 있습니다, 당신은 또한 2to3 라이브러리를 체크 아웃 할 수 있습니다. Python 2.x 응용 프로그램을 Python 3.0으로 자동 변환하도록 작성되었으므로 주요 유스 케이스는 하나의 Python 소스 파일을 가져 와서 변환을 수행 한 다음 결과 소스 파일을 출력하는 것입니다.

lib2to3이 ast 모듈에 비해 갖는 이점 중 하나는 공백과 주석을 보존하지 않는다는 점입니다. 반면 lib2to3은 공백과 주석을 보존하지 않습니다. 이미 자동 생성 된 코드를 다루고 있다면 이것은 당신에게 문제가 아닐 수도 있습니다.

1

파이썬 의사 생성 유틸리티 중 하나를 사용하여 전체적인 문제에 도움이되는지 확인하십시오. 나는 큰 성공을 거둔 epydoc을 사용했다.

또는 상사에게 200 달러가 될 경우 SparxSystems의 Enterprise Architect 사본을 구입하십시오. 그것은 파이썬 코드를 리버스 엔지니어링하여 클래스 다이어그램을 생성하고 클래스 다이어그램을 클릭하여 기본 코드를 볼 수있게합니다. Python 외에도 많은 언어에서 작동하며 훌륭한 디자인 및 문서 유틸리티입니다. ($ 99 버전이 있지만 코드 가져 오기 기능은 포함되어 있지 않습니다.)

관련 문제