Il s'agit en fait d'un "transpileur" qui convertit le bytecode java (fichiers .class) en assembleur pour chaque architecture ciblée. Il ne permet pas de se dispenser d'un compilateur existant qui va convertir le code source Java en fichier .class
Avantages de cette approche:
- ça marche avec n'importe quel langage qui peut se compiler vers un fichier .class
- pas besoin de parser le code source
Par contre il y a beaucoup de limitations, par exemple:
- pas de "garbage collection" (la mémoire est allouée et jamais libérée)
- les opcodes pour les switch/case et quelques autres ne sont pas disponibles
- on ne peut pas créer d'objets avec "new" ni utiliser de méthodes virtuelles
On est donc loin de pouvoir compiler le premier programme Java venu avec cette solution.
# Pas vraiment un compilateur
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien Java Grinder : un compilateur Java pour PS2, N64, Megadrive, Amiga, C64.... Évalué à 6.
Il s'agit en fait d'un "transpileur" qui convertit le bytecode java (fichiers .class) en assembleur pour chaque architecture ciblée. Il ne permet pas de se dispenser d'un compilateur existant qui va convertir le code source Java en fichier .class
Avantages de cette approche:
- ça marche avec n'importe quel langage qui peut se compiler vers un fichier .class
- pas besoin de parser le code source
Par contre il y a beaucoup de limitations, par exemple:
- pas de "garbage collection" (la mémoire est allouée et jamais libérée)
- les opcodes pour les switch/case et quelques autres ne sont pas disponibles
- on ne peut pas créer d'objets avec "new" ni utiliser de méthodes virtuelles
On est donc loin de pouvoir compiler le premier programme Java venu avec cette solution.