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