2011-12-28 2 views

ответ

4

Вы можете использовать valac --dump-tree для преобразования из Genie в Vala. Преобразование из Vala в Genie немного сложнее, так как класс Vala.CodeWriter в libvala выводит только Vala, а не Genie. Возможно, было бы возможно создать что-то, что выводит Genie путем подклассификации Vala.CodeVisitor (как это делает Vala.CodeWriter), но пока никто этого не сделал.

Тем не менее, я понятия не имею, зачем вам это нужно. Вы можете свободно смешивать файлы Genie и Vala в одном и том же вызове valac.

Изменение пример из http://live.gnome.org/Genie, поместите это в mix-genie.gs:

[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:

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

    return 0; 
} 

И компилировать с чем-то вроде

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

Компиляция из Genie кажется достаточно мощной для меня. Я попытался узнать Джин (дегустация о фигурных скобках и слишком много слов), задумавшись о том, чтобы прочитать документы Валы, чтобы узнать больше. Поэтому, если инструмент может перевести между ними, это поможет. – jiyinyiyong

+1

В настоящее время я работаю над проектом, который составляет около 90% питона и 10% валы. Было бы здорово, если бы я смог преобразовать Vala в Genie только ради того, чтобы больше походить на код python, который составляет большую часть проекта. – robru

 Смежные вопросы

  • Нет связанных вопросов^_^