2012-06-05 1 views
1

을 허용하지 않습니다IronPython의 컴파일은() 내 AST 루트를 컴파일하려고 할 때, '소스'STR 또는 AST 객체</p> <p>이 될 수 있다고 문서에서 AST 객체

dl = compile(newRoot, '<string>', 'eval') 

나는이를 얻을 수 예외 :

expected str, got Module 

IronPython의 마지막 버전을 사용하고 있습니다.

이것이 작동하지 않는 이유가 있습니까? 내가 찾은 모든 사례는 아무런 문제없이 이런 식으로 처리하는 것처럼 보입니다.

AST 개체를 컴파일 할 수있는 임시 해결책이 있습니까?

감사합니다 !!!!

PD

: 나는이 문제를 발견하지만 활동이없는 것으로 보인다 http://ironpython.codeplex.com/workitem/32526

+0

'모듈'은 AST 객체입니까? –

+0

예, 모듈은 ast 노드의 클래스입니다. – user1275011

+0

이것은 철저히 IronPython의 버그입니다. 아픔은 AST를 음소거하여 문자열로 변환 한 다음 컴파일하여 컴파일합니다(). :( – user1275011

답변

0

우선, IronPython의가이 기능을 지원하지 않습니다.

IronPython에서는 실제로 지원하기가 매우 어렵습니다 (그리고 지금까지는 지원이 필요하다는 것을 몰랐습니다). IronPython의 _ast 모듈은 자체 AST의 래퍼이며 현재 IronPython AST => CPython AST에서 변환 만 구현하지만 그 반대는 수행하지 않습니다. 공정한 (정직하고 지루한) 작업이기 때문에 언제 고칠 것인지 잘 모르겠습니다.

인기있는 프로그램이나 라이브러리가있어 이로 인해 우선 순위 목록이 올라가고 패치가 언제나 환영받을 수 있습니다.

+0

setuptools이이 기능을 사용합니다. https://bitbucket.org/pypa/setuptools/src/f5ac515/_markerlib/markers.py?at=default – minhee