Code Dokumentation



  • Hallo Leute,

    ich hab folgendes vor: Ich will aus Code Kommentaren eine Doku generieren. Nun dafür gibt es ja Tools wie Latex (gewünscht ist aber Dokumentation als Worddokument)

    Der Code ist in der Sprache (Structured-Text Codesys / => SPS ). Die wird aber in VS2013 geschrieben und übersetzt! Die Sorucen sind somit auch textuell vorhanden , und nicht in irgend einem binärformat!

    Nun ist die frage welche Tools ich da in VS verwenden könnten um eine Doku im Word- Format durch Code Kommentare zu extrahieren! Wobei die Code Syntax sich eben von C/C++C# Java weit unterscheide.. was aber evtl. kein problem sein sollte!?

    Hat mir jemand tipps?

    Danke Freunde:)= 🤡



  • Einen Parser für strukturierten Text haust du ja wohl in unter einem Tag raus, ist ja im Prinzip nur simplifizierte Pacal Syntax. Würde mir die Mühe machen und den Weg zu Fuß gehen.

    Achja, LateX hat nichts mit Dokumentation zu tun und wird auch nicht aus Quelltexten irgendwelcher anderer Hochsprachen generiert.



  • Einen Parser für strukturierten Text haust du ja wohl in unter einem Tag raus, ist ja im Prinzip nur simplifizierte Pacal Syntax. Würde mir die Mühe machen und den Weg zu Fuß gehen.

    hmmm.. aber nur wenn ich irgendwelche parser libs/frameworks habe, die ich entsprechen des SCL Sprache konfiguriere...!?

    Naja.. ok bisschen Regex und so, könnte man das groß schon hinbekommen, hast recht.. muss ja keine Lexical analyzer sein...



  • Naja, die Grammatik ist ja komplett einfach. Für etwas ähnliches haben wir schon im zweiten Semester einen Compiler geschrieben und das nebenher in einer Übung zu Algorithmen, wir haben es halt Mini Pascal genannt.
    Ein Frontend für strukturierten Text kann man problemlos schreiben, von mir aus auch mit Boost.Spirit oder Bison/Flex.

    Zeig doch mal ein Beispiel wo du Doku extrahieren möchtest.



  • Servus,

    naja sooo trivial ist das ganze nun auch nich (glaube ich)= 🙂

    Hier mal ein beipsiel:

    <?xml version="1.0" encoding="utf-8"?>
    <TcPlcObject Version="1.1.0.1" ProductVersion="3.1.0.25">
    <POU Name="TestPOU" Id="{7cc01b1c-c23f-4c39-a097-46c1468e55b0}">
    <Declaration><![CDATA[FUNCTION_BLOCK TestPOU EXTENDS IecTaskModulePost
    VAR_INPUT
    iTESTIn : INT;
    bTESTIn : BOOL;
    END_VAR
    (* KOMMENTAR )
    VAR_OUTPUT
    iTESTOut : INT;
    bTESTOut : BOOL;
    END_VAR
    VAR
    iTESTLoc : INT; (
    KOMMENTAR )
    bTESTLoc : BOOL; (
    KOMMENTAR 😉
    END_VAR
    ]]></Declaration>
    <Implementation>
    <ST><![CDATA[
    (* KOMMENTAR 😉
    FOR iTESTLoc TO 200 THEN
    bTESTLoc:= TRUE;
    END_FOR]]></ST>
    </Implementation>
    <ObjectProperties />
    </POU>
    </TcPlcObject>

    nun muss überall wo "Kommentar" ein bezug zum Kontext hergestellt werden! Kommentare für Code .. oder für variable def etc.:)

    Hmm.. hier jetzt nen eigen. Parser zu schreiben is vll. etwas heftig.. aber klar geht schon, habe auch schon mal einen in Java für ne ähnliche sprache geschreiben.. aber ich hätte gern vll. noch tools libs etc. die mir das abnehmen;) so dass ich nich ganz bei 0 anfangen muss...

    😃 😃



  • Ethon schrieb:

    Achja, LateX hat nichts mit Dokumentation zu tun und wird auch nicht aus Quelltexten irgendwelcher anderer Hochsprachen generiert.

    das kenn' ich aber anders - ein paar Stichwörter dazu wären Doxygen, WEB



  • Nun stellt sich eben die Frage,

    ob diese Dokumentierung Tools auch für SCL Sprachen zurecht kommen...



  • Hab grad das hier gefunden "Pascal To Doxygen Convertor " interessant, vll. bringt mich das weiteR:)


Anmelden zum Antworten