J'ai joué avec LLVM en espérant apprendre à l'utiliser.Questions pour la compilation à LLVM
Cependant, mon esprit est bogué par le niveau de complexité de l'interface.
Prenez par exemple leur fonction Fibonacci
int fib(int x) {
if(x<=2)
return 1;
return fib(x-1) + fib(x-2);
}
Pour obtenir ce à la sortie LLVM IR, il faut 61 lignes de code !!!
Ils incluent également BrainFuck qui est connu pour avoir le plus petit compilateur (200 octets). Malheureusement, avec LLVM, il est supérieur à 600 lignes (18 kb).
Est-ce la norme pour les backends du compilateur? Jusqu'à présent, il semble qu'il serait beaucoup plus facile de faire un assemblage ou un backend C.
Merci pour la suggestion Jon. Malheureusement, la programmation en OCaml est encore difficile pour moi car je suis surtout un programmeur procédural. – Unknown
Même si vous incluez le temps nécessaire pour apprendre OCaml, il sera toujours plus rapide d'écrire un compilateur de qualité production dans OCaml plutôt que d'utiliser C++. Je ne peux pas recommander OCaml assez fortement à cet effet. –
Jetez un oeil à mon [PL zoo] (http://andrej.com/plzoo/) si vous ne croyez pas Jon. –