Я начал работу над компилятором "Little Python" для C ++ (он называется Pyxie - игра на Py CC-Pyc-C), с конкретной целью компиляции разумного подмножества Python для C ++ такой, что он может работать на Arduino.
Это далеко не завершено на момент написания (0.0.16), но в настоящее время он может скомпилировать очень маленькое подмножество python - достаточно для запуска примера "blink" в arduino. Для поддержки этого у него есть профиль компиляции - что по сути означает «компилировать с помощью набора инструментов arduino».
Программа, которую можно скомпилировать, выглядит следующим образом:
led = 13
pinMode(led, OUTPUT)
while True:
digitalWrite(led, HIGH)
delay(1000)
digitalWrite(led, LOW)
delay(1000)
Это анализирует, выполняет анализ (например, вывод типа и т. Д.), Компилируется в C ++, который затем компилируется в шестнадцатеричный файл, который вы можете загрузить на свое устройство.
Есть долгий путь, прежде чем он будет полезен , но он прогрессирует и имеет дорожную карту / и т.д.
В частности, ключевым отличием от Micropython (и PyMite) является то, что он предназначен для компиляции на устройства, слишком маленькие для запуска любой реализации. (Это также означает, что он сильно отличается от таких вещей, как ShedSkin, который в то время как компилятор с Python на C ++ предназначен для больших сред выполнения)