Code generieren?



  • Ich habe hier sehr viele zumeist rekursiv definierte Folgen in einem Textformat vorliegen, in etwa so:

    fib:
    f_1 = 1
    f_2 = 1
    f_n = f_(n-1) + f_(n-2)
    
    heron(start):
    x_1 = start * ...
    

    Das müsste nun in C-Funktionen übersetzt werden.
    Da das per Hand zwar möglich, aber sher umständlich ist, würde ich gerne wissen, ob es da einen Weg gäbe, den Code automatisch generieren zu lassen.
    Schließelich stehen alle relevanten Informationen schon in meiner Datei.



  • Naja, könnte mit LLVM relativ einfach gehen. Bräuchtest aber trotzdem einen Parser und Interpreter, der statt irgendwas zu interpretieren, die entsprechenden LLVM Fuktionen zum Generieren von Code aufruft.



  • Kommt ein bisschen darauf an, was denn dann auch mit dem generierten Code passieren soll... Wenn der tatsächlich für komplexere Berechnungen verwendet wird, dann ist zum Beispiel deine Fibonacciberechnung ein riesiges Performanceproblem!

    Von einem automatischen Mapping von deiner Textdatei -> zu Fragmenten einer prozeduralen Programmiersprache rate ich deshalb stark ab.

    Wenn du ein bisschen bei funktionalen Programmiersprachen recherchierst könntest du vllt. was interessantes finden...



  • Das müsste nun in C-Funktionen übersetzt werden.

    Aus Erfahrung kann ich dir sagen, dass dies keine leichte Schwierigkeit ist.


Anmelden zum Antworten