Вы можете использовать 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
И это в микс-вала.вала:
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