Uso dell'editor
    Il "Quarto" fuso ] The 4th Time Zone ]   


 

Introduzione
OperazioniInput/Output
TheOperatori matematici
Operatori dello stack
Altri operatori
Colon definition
Strutture di controllo
Strutture condizionali
Costanti e variabili
Altre parole
Uso dell'editor
Messaggi di errore


                                   

[ 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 (Hold) 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 (Spread) 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 (Delete) 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 (Erase) la linea in cima allo stack riempiendola di spazi .

RE

Sostituisce (REplace) la linea in cima allo stack con la lina attualmente mantenuta in PAD.

INS

Inserisce (INSert) 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 (Put) 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 ]


Ultimo aggiornamento: 29-11-2002. Copyright (c) 2000-2002 Matteo Vitturi. 
Per problemi o domande relativamente a questo sito contattare il webmaster
Last update: 11.29.2002. Copyright (c) 2000-2002 Matteo Vitturi.
For problems or questions related to this web please contact the webmaster.
1