2008-09-30 6 views
20

파이썬을 자동으로 자바로 변환 할 수있는 도구가 있습니까? 자이 썬은이 작업을 수행 할 수 있습니까? 자바 소스 코드를 파이썬 소스 코드에서파이썬에서 자바로 자동 번역

:

+2

빅터를 원하는하지 않을 수 있습니다 ..? ;-) – Galwegian

+1

:) 파이썬을 좋아하지만 거기에는 선택의 여지가 없습니다. –

답변

5

쉬운 문제는 아닐지도 모른다. Python에서 정의 된 클래스를 Java 형식으로 매핑하는 방법을 결정하는 것은 형식 바인딩 시간이 다르기 때문에 큰 도전 과제입니다. (오리 타이핑 대 컴파일 타임 바인딩).

+0

그리고 모든 특수 메소드 이름. __call__은 실제 관리를 필요로하는 것입니다. –

+0

Python의 하위 집합을 Java로 변환 할 수있는 [P2J] (https://github.com/chrishumphreys/p2j)라는 번역사가 있습니다. My universal-transpiler (https://github.com/jarble/transpiler) 프로젝트는 같은 목적으로 작성되었지만 Python을 C#, Java, JavaScript 및 기타 여러 언어로 변환합니다. –

1

는 질문을 명확히? (나는 그렇게 생각하지 않는다)

.. 또는 파이썬 소스 코드에서 자바 바이트 코드로? (자이 썬은 이것을 수행한다.)

+4

예, 자바 소스로 변환됩니다. (http://www.jython.org/archive/21/docs/jythonc.html) : jythonc 도구는 실제 Java 소스 코드를 생성 한 다음이 소스 코드를 통해 Java 컴파일러를 호출하여 .class 파일을 만듭니다 – KIC

12

사실,이 또는 큰 도움이되지 않을 수도 있습니다하지만 당신은 자바 독 내부의 방법의 파이썬 구현을 배치, 메소드 스텁을 포함하여 각 파이썬 클래스의 Java 클래스를 생성하는 스크립트를 작성할 수

사실 , 이것은 아마도 Python에서 노크하기 매우 쉽습니다.

나는 거대한 스몰 토크 (파이썬과 비슷한) 시스템을 자바로 이식 한 회사에서 일했으며 이것은 정확히 그들이 한 일이다. 이 방법을 채우는 것은 수동적 이었지만 매우 중요했습니다. 왜냐하면 실제로 일어나는 일에 대해 실제로 생각하게 만들었 기 때문입니다. brute-force 방식으로 좋은 코드가 생성 될지는 의문입니다.

다른 가능성이 있습니다. 파이썬을 자이 썬으로 쉽게 변환 할 수 있습니까? 자이 썬은 JVM 용 파이썬 일 뿐이다. Java 디 컴파일러 (예 : JAD)를 사용하여 바이트 코드를 Java 코드로 다시 변환하거나 (또는 ​​JVM에서 실행하기를 원할 수도 있음) 가능할 수 있습니다. 그러나 나는 이것에 대해 잘 모르겠다. 아마 다른 누군가가 더 좋은 생각을 가지고있을 것이다.

+1

JAD 솔루션은 승자처럼 들립니다. 아마도이 솔루션을 보여주기 위해 답을 편집 할 수 있습니다. –

+1

자이 썬 클래스가 .class 파일로 변환되는지 또는 런타임에 바이트 코드로 변환하여 해석되는지 여부는 알 수 없으므로 JAD 솔루션이 실제로 실행 가능하다는 것이 명확하지 않다. –

3

예 자이 썬은이 작업을 수행하지만, 또는 당신이 자바로 변환 갈 너무 많은 파이썬 * 방법 *을 좋아하는 줄 알았는데, 당신은

+4

더 자세히 볼 수있는 제안 사실, 더 정확하게는,'jython'은 Python 소스 코드에서 JVM 바이트 코드를 생성합니다. _not_ 자바 소스 코드 –