Introduzione
    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


                                   

[ Indietro ][ Avanti ]

Questa introduzione non si propone di insegnare la programmazione in Forth, piuttosto come integrazione a quanto è disponibile sull'argomento

La sintassi è composta da parole del Forth o da valori numerici letterali, separati da spazi e terminati da un ritorno a capo. Un nome valido non può contenere degli spazi al suo interno, dato che ciò verrebbe interpretato come più parole distinte, e dev'essere più corto di 31 caratteri. Se viene inserita una parola inesistente o scritta male oppure viene inserito un numero non valido nella base corrente, allora viene visualizzato un messaggio di errore. Per compilare ed eseguire un  programma creato usando l'editor digitare:

8 LOAD <CR>

In questi esempi  <CR> significa "premi ENTER" 

p.es.    -FINE <CR>

genera un messaggio 0 dato che la parola non esiste. 

HEX 17FZ

genera un errore 0 perché Z non è valido in base esadecimale.

Altri messaggi di errori comprendono:: STACK EMPTY, STACK FULL, DICTIONARY FULL

Per programmare in Forth è necessario definire nuove parole che si basano su parole già presenti nel vocabolario. I valori da passare a queste parole vengono poste sullo stack (push) e, se necessario, la parola preleva tali valori dallo stack (pop) agisce su di essi e ripone il risultato in cima allo stack affinché sia utilizzaabile da un'altra parola. Come già detto, il Forth usa la notazione polacca inversa (RPN), sicché non esiste una gerarchia di precedenza degli operatori ma tutte le operazioni sono eseguite nella sequenza con cui vengono trovati sullo stack. P.es. 1 2 + 3 * equivale a 3 * (1+2).

Come si può vedere con la RPN gli operatori vengono posti dopo che i numeri sui quali devono operare sono stati inseriti. Discutiamo ora alcune parole più dettagliatamente.

[ 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.