He estado jugando con LLVM con la esperanza de aprender a usarlo.Preguntas para compilar a LLVM
Sin embargo, mi mente está empantanada por el nivel de complejidad de la interfaz.
Tomemos por ejemplo la función de Fibonacci
int fib(int x) {
if(x<=2)
return 1;
return fib(x-1) + fib(x-2);
}
Para conseguir esto para dar salida LLVM IR, se necesita 61 líneas de código !!!
También incluyen BrainFuck que es conocido por tener el compilador más pequeño (200 bytes). Desafortunadamente, con LLVM, es más de 600 líneas (18 kb).
¿Es esta la norma para los back-end de compiladores? Hasta ahora, parece que sería mucho más fácil hacer un ensamblaje o backend de C.
Gracias por la sugerencia Jon. Desafortunadamente, la programación en OCaml todavía me resulta difícil de aprender, ya que soy principalmente un programador de procedimientos. – Unknown
Incluso si incluye el tiempo necesario para aprender OCaml, será aún más rápido escribir un compilador de calidad de producción en OCaml en lugar de usar C++. No puedo recomendar OCaml con suficiente fuerza para este propósito. –
Eche un vistazo a mi [PL zoo] (http://andrej.com/plzoo/) si no le cree a Jon. –