LISP - Structure du programme

Les expressions LISP sont appelées expressions symboliques ou expressions s. Les expressions s sont composées de trois objets valides, des atomes, des listes et des chaînes.

Toute expression s est un programme valide.

Les programmes LISP s'exécutent soit sur un interpreter ou comme compiled code.

L'interpréteur vérifie le code source dans une boucle répétée, également appelée boucle lecture-évaluation-impression (REPL). Il lit le code du programme, l'évalue et imprime les valeurs renvoyées par le programme.

Un programme simple

Écrivons une expression s pour trouver la somme de trois nombres 7, 9 et 11. Pour ce faire, nous pouvons taper à l'invite de l'interpréteur.

(+ 7 9 11)

LISP renvoie le résultat -

27

Si vous souhaitez exécuter le même programme qu'un code compilé, créez un fichier de code source LISP nommé myprog.lisp et tapez le code suivant.

(write (+ 7 9 11))

Lorsque vous cliquez sur le bouton Exécuter ou tapez Ctrl + E, LISP l'exécute immédiatement et le résultat renvoyé est -

27

LISP utilise la notation de préfixe

Vous avez peut-être remarqué que LISP utilise prefix notation.

Dans le programme ci-dessus, le symbole + fonctionne comme le nom de la fonction pour le processus de sommation des nombres.

En notation de préfixe, les opérateurs sont écrits avant leurs opérandes. Par exemple, l'expression,

a * ( b + c ) / d

sera écrit comme -

(/ (* a (+ b c) ) d)

Prenons un autre exemple, écrivons du code pour convertir la température Fahrenheit de 60 o F en échelle centigrade -

L'expression mathématique de cette conversion sera -

(60 * 9 / 5) + 32

Créez un fichier de code source nommé main.lisp et tapez le code suivant dedans.

(write(+ (* (/ 9 5) 60) 32))

Lorsque vous cliquez sur le bouton Exécuter ou tapez Ctrl + E, LISP l'exécute immédiatement et le résultat renvoyé est -

140

Évaluation des programmes LISP

L'évaluation des programmes LISP comprend deux parties -

  • Traduction du texte du programme en objets Lisp par un programme de lecture

  • Implémentation de la sémantique du langage en termes de ces objets par un programme évaluateur

Le processus d'évaluation comprend les étapes suivantes -

  • Le lecteur traduit les chaînes de caractères en objets LISP ou s-expressions.

  • L'évaluateur définit la syntaxe de Lisp formsqui sont construits à partir d'expressions s. Ce deuxième niveau d'évaluation définit une syntaxe qui détermines-expressions sont des formulaires LISP.

  • L'évaluateur fonctionne comme une fonction qui prend une forme LISP valide comme argument et renvoie une valeur. C'est la raison pour laquelle nous mettons l'expression LISP entre parenthèses, car nous envoyons toute l'expression / le formulaire à l'évaluateur en tant qu'arguments.

Le programme 'Hello World'

L'apprentissage d'un nouveau langage de programmation ne décolle pas vraiment tant que vous n'aurez pas appris à saluer le monde entier dans cette langue, n'est-ce pas!

Alors, veuillez créer un nouveau fichier de code source nommé main.lisp et tapez le code suivant dedans.

(write-line "Hello World")

(write-line "I am at 'Tutorials Point'! Learning LISP")

Lorsque vous cliquez sur le bouton Exécuter ou tapez Ctrl + E, LISP l'exécute immédiatement et le résultat renvoyé est -

Hello World

I am at 'Tutorials Point'! Learning LISP