LISP - Struttura del programma
Le espressioni LISP sono chiamate espressioni simboliche o espressioni s. Le s-espressioni sono composte da tre oggetti validi, atomi, elenchi e stringhe.
Qualsiasi espressione s è un programma valido.
I programmi LISP vengono eseguiti su un file interpreter o come compiled code.
L'interprete controlla il codice sorgente in un ciclo ripetuto, chiamato anche ciclo di lettura-valutazione-stampa (REPL). Legge il codice del programma, lo valuta e stampa i valori restituiti dal programma.
Un semplice programma
Scriviamo un'espressione s per trovare la somma dei tre numeri 7, 9 e 11. Per fare ciò, possiamo digitare al prompt dell'interprete.
(+ 7 9 11)
LISP restituisce il risultato -
27
Se desideri eseguire lo stesso programma di un codice compilato, crea un file di codice sorgente LISP denominato myprog.lisp e digita il codice seguente.
(write (+ 7 9 11))
Quando fai clic sul pulsante Esegui o digiti Ctrl + E, LISP lo esegue immediatamente e il risultato restituito è -
27
LISP utilizza la notazione del prefisso
Potresti aver notato che LISP utilizza prefix notation.
Nel programma sopra il simbolo + funziona come il nome della funzione per il processo di somma dei numeri.
Nella notazione del prefisso, gli operatori vengono scritti prima dei loro operandi. Ad esempio, l'espressione,
a * ( b + c ) / d
sarà scritto come -
(/ (* a (+ b c) ) d)
Facciamo un altro esempio, scriviamo il codice per convertire la temperatura Fahrenheit di 60 o F nella scala centigrado -
L'espressione matematica per questa conversione sarà:
(60 * 9 / 5) + 32
Crea un file di codice sorgente denominato main.lisp e digita il codice seguente al suo interno.
(write(+ (* (/ 9 5) 60) 32))
Quando fai clic sul pulsante Esegui o digiti Ctrl + E, LISP lo esegue immediatamente e il risultato restituito è -
140
Valutazione dei programmi LISP
La valutazione dei programmi LISP ha due parti:
Traduzione del testo del programma in oggetti Lisp da un programma di lettura
Implementazione della semantica del linguaggio in termini di questi oggetti da parte di un programma di valutazione
Il processo di valutazione prevede i seguenti passaggi:
Il lettore traduce le stringhe di caratteri in oggetti LISP o s-expressions.
Il valutatore definisce la sintassi di Lisp formsche sono costruiti da s-espressioni. Questo secondo livello di valutazione definisce una sintassi che determina quales-expressions sono moduli LISP.
Il valutatore funziona come una funzione che accetta una forma LISP valida come argomento e restituisce un valore. Questo è il motivo per cui mettiamo l'espressione LISP tra parentesi, perché stiamo inviando l'intera espressione / modulo al valutatore come argomenti.
Il programma "Hello World"
Imparare un nuovo linguaggio di programmazione non decolla davvero finché non impari a salutare il mondo intero in quella lingua, giusto!
Quindi, crea un nuovo file di codice sorgente denominato main.lisp e digita il seguente codice al suo interno.
(write-line "Hello World")
(write-line "I am at 'Tutorials Point'! Learning LISP")
Quando fai clic sul pulsante Esegui o digiti Ctrl + E, LISP lo esegue immediatamente e il risultato restituito è -
Hello World
I am at 'Tutorials Point'! Learning LISP