Questo formato, fortunatamente, fu esteso sia al C che all'assembly e non fu una cosa difficile, in quanto tutta la struttura è vista da ogni traduttore come un unico commento che inizia con /*e termina con */.
Su Amiga quasi tutti i linguaggi di programmazione riconoscono questa sequenza come delimitazione di un commento, per questo motivo la tecnica degli Autodoc è applicabile virtualmente a qualunque linguaggio di programmazione.
Una volta terminata la stesura del programma e magari dopo averlo compilato, si passa lo stesso sorgente per un programma, il cui nome è autodoc, che estrapolerà tutti i commenti redatti nel formato riconosciuto, impaginandoli nel modo opportuno e riordinando alfabeticamente le routine presenti.
L'output del programma viene mandato direttamente sulla console, quindi normalmente viene visualizzato a video e perso. Però grazie alle proprietà di AmigaDOS di ridirigere gli output, lo si può archiviare in un file locale o mandarlo direttamente alla stampante o trasferirlo su un altro computer collegato in rete.
Autodoc accetta diversi parametri per attivare svariate funzioni durante la sua "pseudo-compilazione", la più importante delle quali è la realizzazione di un indice delle routine presenti.
Il sistema escogitato da Bill Koaster è stato così efficace da divenire il sistema ufficiale Commodore-Amiga per distribuire la documentazione agli sviluppatori registrati. Questi ultimi lo hanno accolto con tale entusiasmo da impiegarlo anche per i loro progetti.
Su altri sistemi la documentazione viene scritta da personale diverso dai programmatori, ed in tempi diversi: tutto ciò porta spesso ad imcoprensioni ed inesattezze nella documentazione ufficiale.
Dopotutto, a testimoniare la bontà e l'efficacia del sistema, può essere chiamato autodoc stesso: ancora oggi viene distribuito nella versione 1.0, ovvero quella originale scritta più di 15 anni fa!
Purtroppo autodoc fa parte del Native Developer Kit, che non correda la normale dotazione software di Amiga, ma solo quella destinata agli sviluppatori registrati. Può essere trovato sui cd della CATS distribuiti direttamente da Commodore-Amiga ai soli sviluppatori registrati, ma recentemente è stato reso disponibile sull'Amiga Developer CD 2.1, che chiunque può acquistare al modico costo di circa 60.000 lire, oppure lo si può trovare su una versione precedente dello stesso CD ad un costo quasi da realizzo.
Per sfruttare questa potenzialità nei propri sorgenti è necessario realizzare un commento come quello riportato di seguito, e che si riferisce ad un metodo della classe Clienti realizzato in linguaggio E.
Non preoccupatevi se non vi è chiara la procedura riportata sotto il commento: serve solo a dare un idea su come si procede durante la stesura del sorgente, mentre ciò su cui concentrare la vostra attenzione è il commento.
/****** Cliente/lunghezza() ************************
*
* NAME
* lunghezza()
*
* SYNOPSIS
* my.lunghezza()
*
* FUNCTION
* Calcola la lunghezza effettiva, sommando le lunghezze dei singoli
* campi, dell'oggetto indicato.
*
* INPUTS
* NESSUNO
*
* RESULT
* Restituisce la lunghezza in bytes dell'oggetto di tipo CLIENTE.
*
* EXAMPLE
* lunghezza := my.lunghezza()
*
* NOTES
* NESSUNA
* BUGS
* NESSUNO
*
* SEE ALSO
* NESSUNO
*
******************************************************************************
*
*/
PROC lunghezza() OF cliente
DEF lun=0
lun := CL_NOME + CL_COGNOME + CL_VIA + CL_CAP + CL_LOCALITA
lun := lun + CL_TELEFONO + CL_EMAIL + CL_DOCUMENTO + CL_NUMERO
lun := lun + CL_CODSER + CL_CODBAR
ENDPROC lun
Una volta salvato il sorgente è sufficiente aprire una shell AmigaDOS e battere il comando:
autodoc -C test.eUna volta ottenuta la documentazione con un semplice redirect a file tipo:
autodoc -C test.e >ram:doc_test.txtIl miglior metodo per apprenderne il funzionamento è, come sempre in questi casi, provare ad usarlo, magari dopo aver dato una sbirciatina alla documentazione ufficiale, dove sono riportati tutti gli altri parametri accettati dal programma e con numerosi esempi di formattazione dei commenti.
Parafrasando uno showman foggiano in un noto spot d'annata: "Commentate gente, commentate...". :)