2010-12-01 2 views
5

Каков наилучший способ генерации java из python?Лучший способ генерации java с python?

Я хочу написать декоратор, который генерирует java-код для вызова json-версии функции (я могу использовать существующие декораторы для экспорта json-api).

Каков наилучший способ генерации java, следует ли рассматривать такие вещи, как FSM здесь?

Идеально я могу написать свой код один раз, для сервера и сгенерировать код для взаимодействия с ним для разных языков (сначала Java).

Edit (вытащил из комментария на удаленный ответ):
код Java будет работать на Android, в то время как код питона будет на сервере Джанго ... Кроме того, я хочу, чтобы иметь возможность статически генерировать Java-код, и иметь это как часть API, который люди могут использовать.

+1

Лучший способ не создает нечто такое сложное, если вы можете его избежать. Один намек: насколько я знаю, это относительно «просто» (в отличие от всех других возможностей) для создания правильного (не слишком читаемого, но правильного) кода из чего-то вроде AST (абстрактное синтаксическое дерево) - по крайней мере, если вы знаете, что формат дерева (и то, что он представляет) хорошо. Это в основном означает реализацию половины java-компилятора. – delnan 2010-12-01 21:03:24

+0

Итак, ваш сервер генерирует код Java (байта?), Который будет выполнять пользователь Android, чтобы получить данные JSON? – 2010-12-01 21:08:08

+0

Очевидно, что бит, который может генерировать код Java, будет выполняться только тогда, когда мы решили изменить API, а не все время :) – 2010-12-01 21:13:26

ответ

0

Повторное использование - хорошее. Сложность - это цена.

Это заставит вас платить дважды или более позже. Измерьте ROI (возврат инвестиций), прежде чем совершить прыжок.

[Edit:]

  1. Вы можете использовать Jython, который будет легко писать связующий код, как вызов функции Java.
  2. jythonc преобразует исходный код Python в исходный код Java, а затем вызывает компилятор Java, чтобы превратить его в файлы .class.
  3. Как сказано, вы можете использовать шаблоны. Для этой цели кто-то использовал cheetah. Хотя ссылка уже недоступна.
1

Вы всегда можете создать Java-код так же, как webapps создать HTML: с помощью шаблона. Тогда вы можете иметь исходный код Java компилируется в байт-код с помощью обычного Java компилятор (см Package javax.tools)

Не обязательно лучший вариант, но, безусловно, возможность (и довольно простой BTW)

-1

Мой совет? Создайте код JavaScript вместо кода Java. Android может выполнять код JavaScript с помощью WebView.

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