Как преобразовать эти исходные файлы Haxe в Python?

Я пытаюсь перенести физический движок Nape (написанный в Haxe) на язык, не поддерживаемый Haxe (Xojo). Теперь я не понимаю Haxe, но мне комфортно в Python. Я пытаюсь преобразовать массу .hx-файлов в исходные файлы python, чтобы затем перевести их в Xojo.

У меня есть исходные файлы Nape .hx (из haxelib) и установлены инструменты командной строки haxe.

Я попробовал несколько перестановок, чтобы попытаться преобразовать файлы .hx в файлы Python, но у меня нет успеха. Я пробовал следующее:

haxe -cp <directory containing some .hx files> -python <output directory>

Это просто выводит помощь из инструмента haxe.

haxe <directory containing .hx files> -python <output directory>

Это бросает:

Ошибка: не удалось обработать аргумент [каталог] Имя класса должно начинаться с символа верхнего регистра

Я пробовал просто обработать один .hx-файл:

haxe <.hx file> -python <output directory>

Ошибка: не удалось обработать аргумент [myfile.hx] пустая часть

Любые идеи, что я делаю неправильно? Я думал, что весь смысл Хакса состоял в том, чтобы легко перевести на разные языки?

One Solution collect form web for “Как преобразовать эти исходные файлы Haxe в Python?”

Хью прав, поскольку вам обычно нужно указать аргумент -main . Однако вы можете опустить это и скомпилировать один модуль, если вам не нужна точка входа (например, при компиляции библиотеки, например, в вашем случае):

<dot-path> : скомпилировать модуль, заданный с помощью точечного пути

Думаю, на самом деле не важно, какой именно модуль вы выберете здесь. Я пошел с nape.Config . nape.Config . Важная часть заключается в использовании --macro include чтобы каждый файл в --macro include затылка был скомпилирован (в противном случае включены только те ссылки).

 haxe nape.Config -lib nape -python nape.py --macro include('nape') --macro include('zpp_nape') 

Эта команда создает файл nape.py со 121000 строками, что может быть немного запретительным в зависимости от того, сколько потребуется работы для преобразования кода Python на этот язык Xojo. Даже если это простой процесс, сгенерированный код обычно не является наиболее читаемым.

На самом деле версия Haxe от Nape уже не очень читаема, поскольку она генерируется препроцессором caxe ( .cx ). Здесь можно найти источник кайфа Напэ.


Существуют некоторые параметры компилятора, которые вы могли бы попробовать здесь, чтобы немного уменьшить размер кода и сделать его более читаемым:

  • --no-inline : предотвращает --no-inline форму кода, уменьшая выход до ~ 60000 строк
  • -D NAPE_RELEASE_BUILD : -D NAPE_RELEASE_BUILD определяет, что удаляет обработку ошибок – возможно, не стоит, удаляет только ~ 2000 строк.
Python - лучший язык программирования в мире.