Wie kann ich Kommentare extrahieren und mit RecursiveASTVisitor in libclang c ++ zur Deklaration passen?
Ich schreibe ein Dienstprogramm, das C ++ - (und C-) Header-Dateien analysieren, die Strukturen, Aufzählungen, Felder usw. extrahieren und auf der Grundlage der extrahierten Informationen Code in anderen Sprachen generieren soll. Ich habe mich dafür entschieden, libclang zu verwenden.
Ich benutze eineRecursiveASTVisitor
und es scheint, dass ich alle Informationen extrahieren kann, die ich brauche, mit Ausnahme von Kommentaren.
Ich möchte, dass der Kommentar, der direkt über jeder Deklaration (Feld, Struktur, Klasse, Aufzählung) erscheint, gelesen und dessen Text hinzugefügt wird, wenn ich den Code in anderen Sprachen erstelle.
Das Problem ist, dass alle Proben, die ich gesehen habe, Kommentare verwendenCxCursor
und die C-Schnittstelle für clang, und ich habe keine Ahnung, wie man das bekommtCxCursor
in meinem Kontext.
Also - wie kann ich Kommentare extrahieren, während ich sie noch benutze?RecursiveASTVisitor
?