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