Al fine di facilitare la navigazione all'interno del codice sono stati predisposti un indice per raggiungere ogni singolo file e un indice dettagliato per raggiungere all'interno di ogni file gli elementi rilevanti.
La conversione del codice sorgente in formato ipertestuale e' stata effettuata
utilizzando il programma di utilità SED del sistema operativo UNIX.
Per convertire il codice si esegue il seguente script su ogni file sorgente del codice di Ampeos.
echo Creazione di $i.html ...
cat ../html/.moduli/testa > ../html/codice/$i.html
echo $i >> ../html/codice/$i.html
cat ../html/.moduli/titolo >> ../html/codice/$i.html
echo $i >> ../html/codice/$i.html
cat ../html/.moduli/centro >> ../html/codice/$i.html
sed -f ../html/.script/pre.sed <$i >../html/codice/$i.1
sed -f ../html/.script/globs.sed <../html/codice/$i.1 >../html/codice/$i.2
sed -f ../html/.script/phase1.sed <../html/codice/$i.2 >../html/codice/$i.1
sed -f ../html/.script/phase2a.sed <../html/codice/$i.1 >../html/codice/$i.2
sed -f ../html/.script/phase2b.sed <../html/codice/$i.2 >>../html/codice/$i.html
cat ../html/.moduli/coda >> ../html/codice/$i.html
expand -4 ../html/codice/$i.html >../html/codice/$i.1
mv ../html/codice/$i.1 ../html/codice/$i.html
rm ../html/codice/$i.2
I file testa, titolo, centro e coda sono i template per le pagine html
e vanno a formare il guscio per il codice; gli script per sed ricercano
le parole chiave, ad esempio le funzioni, del codice e inseriscono gli
opportuni tag html per creare un link dal punto in cui viene chiamata
la funzione al punto in cui questa è definita; un esempio di comando
per sed è il seguente:
1,$s/^initThread()/<A NAME="initThre@d">&/g
1,$s/initThread(/<A HREF="thrqueue.c.html#initThre@d">initThread<\/A>(/g
La prima riga ricerca la definizione della funzione initThread e pone
prima di essa un àncora html; la seconda riga ricerca i punti nel codice
dove la funzione viene utilizzata e pone un link all'àncora precedentemente
definita. Il nome dell'àncora in questo caso è initThre@d; si è evitato di
utilizzare come àncora il nome della funzione per evitare che la seconda
riga di comandi per sed la sostituisse con un link.Una particolare attenzione va posta prima della conversione vera e propria: è necessario trasformare tutte quei simboli che possono essere scambiati per tag html al fine di evitare problemi al browser; un esempio classico sono gli operatori di confronto ">" e "<", come e' possibile vedere utilizzando il comando view source del browser che si sta utilizzando.
[LancOS Home] [AMPEOS Index] [Indice codice] [Fasi 1 & 2] [Fase 3]