[ Indice ][ Indietro
][ Avanti ]
In generale, la maggior parte degli
utenti useranno l'editor dello Spectrum per scrivere del codice sorgente, ma un
editor di linea standard Forth è stato incluso per compatibilità con il codice
esistente. La lunghezza massima di una linea è 64 caratteri, ulteriori
caratteri verranno ignorati.
"Line Editor"
Nella di White Lightning esiste un editor di linea (Line
Editor) che consente di creare sorgenti o file di testo. Per facilitarne la
modifica, il testo è organizzato in blocchi di 512 bytes, suddivisi in 8 linee
di 64 caratteri. Una volta editato il testo può essere compilato nel dizionario
ovvero salvato su cassetta. Il testo viene tenuto in memoria nelle pagine da
C000 a F000, quindi è possibile accedere agli “screen” da 1 a 23. Se viene
impiegata la programmazione in "background", il testo viene tenuto a
partire da CC00, negli “screen” da 6 a 23, quindi quelli da 0 a 5 non
possono essere usati. Ecco ora una lista dettagliata dei comandi dell'editor.
H
Ricopia (H old)
la linea di testo indicato dal numero in cima allo stack dello “screen”
corrente nell'area nota come PAD .
p.es.
4 H
mette la linea 4 dello “screen”
corrente in PAD .
S
Riempie (S pread)
la linea indicata in cima allo stack con spazi vuoti, spostando in basso di uno
tutte le linee successive, l'ultima linea viene persa.
p.es.
6 S
riempie la linea 6 di spazi e muove
tutte le successive in giù spingendo l'ultima linea fuori dello “screen”
D
Elimina (D elete)
la linea in cima allo stack. Tutte le linee successive vengono tirate su di uno.
Questa linea viene mantenuta in PAD nel
caso servisse ancora. La linea 7 non può essere cancellata in questo modo.
E
Vuota (E rase)
la linea in cima allo stack riempiendola di spazi .
RE
Sostituisce (RE place)
la linea in cima allo stack con la lina attualmente mantenuta in
PAD .
INS
Inserisce (INS ert)
il testo dal PAD alla linea indicata in
cima allo stack. La lina originale e le successive vengono spostate in basso di
uno e l'ultima linea viene persa.
P
Inserisce (P ut)
il testo che segue nella linea indicata in cima allo stack. Il contenuto
precedente di questa linea viene perso.
EDIT
Richiama il normale editor Sinclair.
Inoltre effettua un LIST automatico e un FLUSH
automatico. Questo è sicuramente il modo migliore, e i comandi suddetti vengono
inclusi solo per compatibilità con altri Forth esistenti
CLEAR
Cancella (CLEAR )
lo “screen” il cui numero è indicato in cima allo stack e lo fa diventare
lo “screen” corrente
WHERE
Se durante un LOAD
di uno “screen” si verifica un errore di compilazione, digitando I
consente di visualizzare il numero di “screen” e la linea che ha causato
l'errore. Puoi usare i comandi dell'editor per correggere lo “screen” o per
considerarne un'altro.
p.es.
15 LIST
rende il numero 15 lo “screen”
corrente e ne mostra il contenuto. Per compilare nel dizionario questo “screen”
è necessario usare la parola LOAD .
LOAD
Avvia il caricamento dello “screen”
indicato in cima allo stack fermandosi alla fine di tale “screen”. Se vuoi
continuare e caricare lo “screen” successivo, quello corrente deve terminare
con la parola --> .
Questo significa “continua a caricare e interpretare”. Per terminare il
caricamento puoi usare ;S
in qualunque punto dello “screen”. Questo significa “smetti di caricare e
interpretare”
Al termine di una sessione di editing e
prima di salvare il testo devi ripulire i buffer con FLUSH .
Per fare questo usa
FLUSH <CR>
Nota che EDIT
fa automaticamente FLUSH . Puoi salvare il
testo su nastro usando il comando dello Spectrum SAVE . Devi prima tornare al BASIC
con
PROG <CR>
Ecco un esempio di come editare un file
di testo, il primo passo è di dare LIST
o
CLEAR
9 LIST
e il testo seguente
0 P ECCO COME INSERIRE <CR>
Continua con
1 P DEL TESTO LINEA 1 <CR>
e così via fino ad aver inserito:
ECCO COME INSERIRE
DEL TESTO SULLA LINEA 1
LINEA 2
E LINEA 3 DI QUESTO SCREEN
Ora:
9 LIST <CR>
produce un risultato simile al seguente
SCR# 9
0 ECCO COME INSERIRE
1 DEL TESTO SULLA LINEA 1
2 LINEA 2
3 E LINEA 3 DI QUESTO SCREEN
4
5
6
7
Per modificare la linea 2 digita
2 EDIT <CR>
e cambiala nel solito modo per inserire ‘SULLA ’
prima di ‘LINEA 2 ’. Ora digita
9 LIST <CR>
per vedere il risultato. L'editor ignora
ogni carattere inserito oltre il sessantaquattresimo.
Se hai la Sinclair ZX Printer collegata, vale la pena di
definire una parola per stampare lo "screen".
: SLIST PRT-ON 1 = SWAP
<CR>
DO 1 LIST CR LOOP PRT-OFF ; <CR>
Per usare questa parola digita il numero
del primo "screen" seguito dal numero dell'ultimo "screen"
da stampare, quindi SLIST .
e.g.
6 9 SLIST <CR>
stampa gli "screen da 6 a 9.
[ Indice ][ Indietro
][ Avanti ] |