HomeUpAiuto! it

hpp: Istruzioni

Hpp è un preprocessore di testi, orientato alla scrittura di documenti HTML.

Comandi

La sintassi per i comandi riconosciuti da HPP assomiglia ai TAG dell'HTML:

<TAG name=value [...] >

Alcuni comandi prevedono un TAG di chiusura che, come in HTML, è dato dal nome del comando preceduto dal carattere '/'. In questo caso la parte di testo compresa tra il TAG di apertura e il TAG di chiusura viene interpretato dal comando. All'interno del blocco di testo di un comando ci possono naturalmente essere "annidiati" altri comandi.

Elenco dei comandi

Regole di espansione

L'espansione del testo avviene solamente all'occorrenza di uno dei caratteri '<', '&' e '$'. Nel caso del carattere '<', il preprocessore, dopo aver saltato eventuali spazi bianchi, legge un nome, cioè una sequenza di caratteri alfanumerici, con in aggiunta i caratteri '/', '_' e '-'. Se il nome risultante corrisponde ad un comando interno o al nome di una macro definita con DEF, si procede all'espansione delle opzioni del comando o della macro, altrimenti il testo viene lasciato così com'è. Le opzioni sono separate da spazi, e sono formate da un nome e opzionalmente un carattere '=' seguito da una stringa. Le stringhe sono sequenze di caratteri alfanumerici. Se però in una stringa è presente uno dei caratteri '<','&' o '$', tale carattere viene espanso a sua volta. Se in una stringa compare un carattere '"', i successivi caratteri vengono tutti inseriti nella stringa (anche se non alfanumerici) fino al successivo '"'. Se all'interno di una stringa "quotata" compare il carattere '\', il carattere successivo viene inserito senza essere interpretato in alcun modo.

Anche nel caso del carattere '&' il preprocessore legge un nome, che deve terminare con un carattere ';'. Se il nome corrisponde al nome di una variabile, il valore della variabile viene inserito altrimenti il testo non viene modificato. Il carattere '$' precede anch'esso il nome di una variabile. Il nome in questo caso può essere racchiuso tra parentesi graffe. Viene fatta quindi l'espansione come nel caso di '&'.

Riga di comando e file di configurazione

Quando viene eseguito, Hpp crea il buffer principale e l'ambiente principale. Le opzioni date nella riga di comando vengono quindi interpretate in due possibili modi: se sono assegnamenti del tipo var=value, viene creata nell'ambiente principale la variabile var con valore value. Le altre opzioni vengono interpretate come nomi di files, che vengono memorizzati, separati da spazi, nella variabile &SourceFileList;. A questo punto viene cercato un file da inserire nel buffer che usando i comandi del preprocessore si dovrà prendere la responsabilità di caricare in successione i files indicati nella riga di comando (probabilmente mediante un <FOREACH file &SourceFileList >. Prima di tutto viene cercato un file chiamato ".hpp" nella directory corrente, se questo non esiste viene caricato il file "~/.hpp", se neanche questo esiste viene inserito il seguente buffer di default:
<if sourcefilelist>
<foreach SourceFile $sourcefilelist>
<process>
<set OutputFile=<stat base file=$sourceFile>.html>
<message \"Processing SourceFile \"$SourceFile>
<input $SourceFile>
<message \"   ----> \"$OutputFile>
<output $OutputFile>
</process>
</foreach>
<else>
<message>
No files specified.
try: hpp <hpp-files>
</message>
<output>
</if>


HomeUpAiuto! it
Ultima modifica: 20 01 2003