LISP - Struktura programu

Wyrażenia LISP są nazywane wyrażeniami symbolicznymi lub s-wyrażeniami. Wyrażenia S składają się z trzech ważnych obiektów, atomów, list i łańcuchów.

Każde wyrażenie s jest poprawnym programem.

Programy LISP działają na platformie interpreter lub jako compiled code.

Interpreter sprawdza kod źródłowy w powtarzanej pętli, która jest również nazywana pętlą odczytu-oceny-wydruku (REPL). Czyta kod programu, ocenia go i drukuje wartości zwrócone przez program.

Prosty program

Napiszmy wyrażenie s, aby znaleźć sumę trzech liczb 7, 9 i 11. Aby to zrobić, możemy wpisać po znaku zachęty interpretera.

(+ 7 9 11)

LISP zwraca wynik -

27

Jeśli chcesz uruchomić ten sam program, co skompilowany kod, utwórz plik kodu źródłowego LISP o nazwie myprog.lisp i wpisz w nim następujący kod.

(write (+ 7 9 11))

Kiedy klikniesz przycisk Wykonaj lub naciśniesz Ctrl + E, LISP wykona go natychmiast, a zwrócony wynik to -

27

LISP używa notacji prefiksowej

Być może zauważyłeś, że LISP używa prefix notation.

W powyższym programie symbol + działa jako nazwa funkcji dla procesu sumowania liczb.

W notacji przedrostków operatory są zapisywane przed operandami. Na przykład wyrażenie

a * ( b + c ) / d

zostanie zapisane jako -

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

Weźmy inny przykład, napiszmy kod konwertujący temperaturę Fahrenheita 60 o F na skalę Celsjusza -

Matematycznym wyrażeniem tej konwersji będzie -

(60 * 9 / 5) + 32

Utwórz plik kodu źródłowego o nazwie main.lisp i wpisz w nim następujący kod.

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

Kiedy klikniesz przycisk Wykonaj lub naciśniesz Ctrl + E, LISP wykona go natychmiast i zwrócony wynik to -

140

Ocena programów LISP

Ocena programów LISP składa się z dwóch części -

  • Tłumaczenie tekstu programu na obiekty Lispa przez program czytający

  • Implementacja semantyki języka w zakresie tych obiektów przez program ewaluacyjny

Proces oceny obejmuje następujące kroki -

  • Czytelnik tłumaczy ciągi znaków na obiekty LISP lub s-expressions.

  • Ewaluator definiuje składnię Lisp formsktóre są zbudowane z s-wyrażeń. Ten drugi poziom oceny definiuje składnię, która określa, któres-expressions to formularze LISP.

  • Ewaluator działa jako funkcja, która przyjmuje prawidłową formę LISP jako argument i zwraca wartość. To jest powód, dla którego umieściliśmy wyrażenie LISP w nawiasach, ponieważ wysyłamy całe wyrażenie / formularz do oceniającego jako argumenty.

Program „Hello World”

Nauka nowego języka programowania tak naprawdę nie rozpocznie się, dopóki nie nauczysz się witać całego świata w tym języku, prawda!

Dlatego utwórz nowy plik z kodem źródłowym o nazwie main.lisp i wpisz w nim następujący kod.

(write-line "Hello World")

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

Kiedy klikniesz przycisk Wykonaj lub naciśniesz Ctrl + E, LISP wykona go natychmiast, a zwrócony wynik to -

Hello World

I am at 'Tutorials Point'! Learning LISP