C aus Doxygen-Dokumentation Quell-Dateien erzeugen

sightseeer

Lt. Junior Grade
Registriert
Juni 2013
Beiträge
303
hey,

ich möchte aus einer Doxygen-Dokumentation direkt die source-files erzeugt bekommen. Normalerweise erzeugt man aus dem source-code die Doxygen. Aber ich möchte es hier mal andersherum.
Also Funktionen und Variablen sollen, in .c und .h (C-Programmierung) dateien eingetragen werden und die dokumentation in form von Kommentaren eingefügt werden.
Hat jemand eine idee oder ein programm?
Falls es nicht verständlich genug war, bitte bescheid sagen, dann versuche ich es anders zu formullieren.
Danke für eure zeit!

Gruß,
seb7o
 
Mir ist da kein Weg, Programm oder ähnliches bekannt.
Vermutlich bleibt dir da nur der Möglichkeit über UML zu gehen. Gerade für C bieten viele kostenfreie Programme einen guten Code-Export z.B. Dia, ArgoUml...
 
Danke für deinen Beitrag, dein Weg scheint eine akzeptable Möglichkeit zu sein. Ich hab mir mal die UML-Programme angeschaut, die du vorgeschlagen hast (ich nutze StarUML, kann ich auch empfehlen wenn es ums Zeichnen geht^^). Ich hab da auch herausgefunden wie man in der Praxis C oder Java Code generiert.
Das wichtigste fehlt mir aber noch und ich bekomme immer die falschen Suchergebnisse, wenn ich Google nutze:
wie Importiere ich eine Doxygen Dokumentation die in html Format ist? (also Dateiarten sind html; js; .png; md5's usw. ich hab das mal so beschrieben damit jeder weiß was ich meine mit Doxygen Dokumentation, auf jeden fall lese/öffne ich diese mit meinem Browser und da ist Code beschrieben den ich erstellen muss, aber das ist ein anderes Thema)
Ich ahne schon, dass ich die html in einem weiteren Programm Importieren muss, dort in ein Zwischenformat konvertieren muss, welches ich mit einem UML-Programm öffnen/importieren kann und letztendlich den Code generieren.
Sind das ungefähr die nötigen Schritte?
 
Nein das hast du falsch verstanden. TrebuTurbo meinte sicher, dass du die Klassen etc. nachzeichnen sollst und anschließend als C-Source exportieren kannst. Ich bezweifle, dass es da einen etablierten Workflow gibt, um HTML nach UML nach C zu konvertieren. Es gibt einfach keinen Grund, das zu machen. Zuerst erstellt man den Code und danach die Doxygen-Dokumentation daraus. Wenn du eine Doxygen-Dokumentation hast, dann gabs irgendwann schonmal einen Sourcecode dazu. Von daher macht es einfach keinen Sinn, das umgekehrt zu machen.

Am "einfachsten" wäre noch, einen HTML Parser zu schreiben, der die HTML-Dateien auswerten und dann Code generiert. Aber sowas wird es nicht fertig geben.

edit: Selbst wenn es sowas gibt, was bringt es dir? Du könntest aus der Dokumentation sowieso nur die Header-Dateien (Funktionsprototypen, structs etc. regenieren. Der eigentliche Sourcecode der Funktionsrümpfe steht ja nicht in der Dokumentation.
 
stwe schrieb:
edit: Selbst wenn es sowas gibt, was bringt es dir? Du könntest aus der Dokumentation sowieso nur die Header-Dateien (Funktionsprototypen, structs etc. regenieren. Der eigentliche Sourcecode der Funktionsrümpfe steht ja nicht in der Dokumentation.

Ich glaube, in doxygen gibt es eine Generieroption, die für jede Funktion / Methode / Klasse / etc. auch den Code miteinbindet, so daß man mit einem Klick direkt in die Datei / Zeile springt, an der die Definition beginnt. Für diese Option würde quasi der komplette Code mit in die Doku eingebunden werden.
 
stwe schrieb:
Nein das hast du falsch verstanden. TrebuTurbo meinte sicher, dass du die Klassen etc. nachzeichnen sollst und anschließend als C-Source exportieren kannst. Ich bezweifle, dass es da einen etablierten Workflow gibt, um HTML nach UML nach C zu konvertieren. Es gibt einfach keinen Grund, das zu machen.

Genau, ich wüsste kein Programme/Tools die das in irgendeine Art und Weise erledigen, weil es eben "nicht üblich" ist. Doxygen nimmt man um bestehenden Code zu dokumentieren und um Code zu generieren nutzt man z.B. eben vorher UML und lässt aus den Klassendiagrammen etc. den Code erstellen.

antred schrieb:
Ich glaube, in doxygen gibt es eine Generieroption, die für jede Funktion / Methode / Klasse / etc. auch den Code miteinbindet, so daß man mit einem Klick direkt in die Datei / Zeile springt, an der die Definition beginnt. Für diese Option würde quasi der komplette Code mit in die Doku eingebunden werden.
Ja das müsste es auch geben. Zusätzlich liefert Doxygen auch die kompletten Quelldateien mit. Um aber Sourcefiles mitzuliefen muss man glaube SOURCE_BROWSER und vielleicht noch EXTRACT_ALL aktivieren. Dann ist immer noch das Problem wie man den Code aus den html-Dateien wieder zu richtigen Quelldateien umwandeln kann.
Ergänzung ()

Ich habe nochmal kurz geschaut. Im Html-Outputordner von Doxygen gibt es Dateien die auf _source.html enden. In diesen steht immer der jeweilige Quellcode, aber eben in Html-Syntax geschrieben. Wenn dann müsste man das irgendwie parsen.
 
Danke für die ganzen Antworten! Also einen Parser zu Implementieren würde deutlich länger dauern als den Code selbst zu schreiben, den ich automatisch aus der Doxygen geparsed haben will. Deswegen sag ich mal pauschal, dass ich meine Bemühungen was das angeht einstelle.
Danke für die ausführlichen Erklärungen und eure Zeit.
 
Zurück
Oben