2012-03-28 5 views
1

Ich habe kürzlich Clang und LLVM unter Windows kompiliert. Mein Ziel ist es, es aus C++ in eine andere Sprache zu übersetzen, aber ich bin mir nicht sicher, der beste Weg, um das zu tun. Wenn ich zum Beispiel clang mit der Option "pretty print" von "-ast-print" aufrufe, sieht es so aus, als ob Clang eine originalgetreue Darstellung des ursprünglichen Codes von seinem internen AST erhalten kann. Muss ich diesen Code irgendwie nachahmen, damit ich einen schönen Ausdruck in meiner neuen Sprache bekomme? Oder sollte ich den AST-Baum gehen? Danke für jede Hilfe!Verwendung von Clang zum Übersetzen von C++ in eine andere Sprache

Antwort

1

Erste Lösung ist libclang Bibliothek zu verwenden, um C/C++ Quelle zu übersetzen, was auch immer Sie wollen.

Zweitens - schreiben Sie ein LLVM-Backend, das LLVM IR in Ihre Sprache konvertieren würde (wie C-Backend). Dies ist flexibler (IMO), erfordert jedoch, dass Sie auf einer viel niedrigeren Ebene als C++ arbeiten.

+0

danke yeah libclang ist was ich geplant habe. Von dort denke ich, dass es am einfachsten wäre, den AST-Baum zu gehen. Hat jemand Tipps dazu? – trs79