2016-12-07 2 views
0

Ich versuche, einige DXL-Dokumentation Usings Doxygen zu generieren, aber die Ergebnisse sind oft nicht korrekt, DXL wird als Skriptsprache verwendet und hat eine C/C++ ähnliche Syntax mit einigen Änderungen, wie zum Beispiel kann ich mit den Semikolons ignorieren, Was soll ich tun, um dieses Problem zu beheben? , das einige Probleme schafft, während die Dokumentation zu erzeugen, hier ein Beispiel für meine DXL-Code-Datenbank ist:Generieren von DXL-Dokumentation mit Doxygen: Wenn als Funktion

string replace (string sSource, string sSearch, string sReplace) { 
int iLen = length sSource 
if (iLen == 0) return "" 

int iLenSearch = length(sSearch) 

if (iLenSearch == 0) { 

    return "" 
} 
char firstChar = sSearch[0] 

Buffer s = create() 
int pos = 0, d1,d2;  
int i 

while (pos < iLen) { 
    char ch = sSource[pos]; 
    bool found = true 

    if (ch != firstChar) {pos ++; s+= ch; continue} 
    for (i = 1; i < iLenSearch; i++) { 
     if (sSource[pos+i] != sSearch[i]) { found = false; break } 
    } 
    if (!found) {pos++; s+= ch; continue} 
    s += sReplace 
    pos += iLenSearch 
} 

string result = stringOf s 
delete s 
return result } 

als i der Hauptunterschied mit C und sagte, dass doxygen verursachen kann dieser Code falsch, dass in DXL zu interpretieren ist, wir müssen nicht ";" .

Dank im Voraus

+0

Also doxygen unterstützt DXL nicht, sagst du es nur, es als C zu analysieren? Auch wäre besser, wenn Sie ein Beispiel für Code, der ein Problem verursacht, und was das Problem ist. –

+0

@ArturKink Ich habe meinen Beitrag geändert –

Antwort

0

Sie drei Dinge tun müssen Doxygen erfolgreich auf DXL Skripten anwenden:

1.) In Doxygen-GUI, 'Meister' Registerkarte Abschnitt 'Mode' wählen ‚Optimize for C oder PHP '

2.) Der DXL-Code muss C-confom sein, dh jede Anweisung endet mit einem Semikolon'; '

3.) Im Reiter 'Erweitert' eingestellte Sprache Mapping für DXL und INC-Dateien im Abschnitt 'Projekt' unter 'EXTENSION_MAPPING':
dxl = C
inc = C

Das alles erzählt Doxygen zu behandeln DXL-Skripte als C-Code.

0

Ferner, damit DOORS eine DXL-Datei, die für DoxyGen dokumentiert ist, als gültig erkennt und an einen Menüeintrag bindet, muss sie einer bestimmten Kopfstruktur entsprechen, bestehend aus einzeiligen und mehrzeiligen Kommentaren, z.

// <dxl-file> 
/** 
* @file <dxl-file> 
* @copyright (c) ... 
* @author Th. Grosser 
* @date 01 Dec 2017 
* @brief ... 
*/ 
Verwandte Themen