2011-12-28 6 views

답변

4

valac - dump-tree를 사용하여 Genie에서 Vala로 변환 할 수 있습니다. Valval에서 Genie 로의 변환은 libvala의 Vala.CodeWriter 클래스가 Genie가 아닌 Vala 만 출력하기 때문에 좀 더 복잡합니다. 아마도 Vala.CodeVisitor를 서브 클래 싱하여 (Vala.CodeWriter처럼) Genie를 출력하는 무언가를 만들 수는 있지만, 아직 아무도 그렇게하지 않았습니다.

그렇다면 왜 내가 원하는지 전혀 알 수 없습니다. 동일한 valac 호출 내에서 Genie 및 Vala 파일을 자유롭게 혼합 할 수 있습니다.

처럼 뭔가

private static int main (string[] args) { 
    var foobar = new Foo (10); 
    var foobar2 = new Foo.with_bar (10); 

    return 0; 
} 

그리고 컴파일 :

[indent=4] 

class Foo : Object 
    prop a : int 

    init  
     print "foo is intitialized" 

    final 
     print "foo is being destroyed" 

    /* only class properties may be set in creation methods */  
    construct (b : int) 
     a = b 

    /* only class properties may be set in creation methods */   
    construct with_bar (bar : int) 
     a = bar 

을 그리고이의 믹스 vala.vala :

http://live.gnome.org/Genie에서 예를 수정, mix-genie.gs에 넣고

valac -o mix mix-genie.gs mix-vala.vala 
+0

Genie에서 컴파일하는 것이 나에게 충분히 강력 해 보입니다. 나는 Genie를 배울려고 노력했다. (중괄호와 너무 많은 단어에 대해 정리했다.) 더 많은 것을 배우기 위해 Vala의 문서를 읽으려고했다. 따라서 도구가 둘 사이에서 변환 할 수 있다면 도움이 될 것입니다. – jiyinyiyong

+1

저는 현재 약 90 %의 Python과 10 %의 Vala 프로젝트에 참여하고 있습니다. Vala를 Genie로 변환 할 수 있다면 프로젝트의 대부분을 구성하는 파이썬 코드를 더보기 위해 깔끔할 것입니다. – robru