LISP - Program Yapısı
LISP ifadelerine sembolik ifadeler veya s-ifadeleri denir. S-ifadeleri üç geçerli nesneden, atomlardan, listelerden ve dizelerden oluşur.
Herhangi bir s-ifadesi geçerli bir programdır.
LISP programları bir interpreter veya olarak compiled code.
Yorumlayıcı, okuma-değerlendirme-yazdırma döngüsü (REPL) olarak da adlandırılan tekrarlanan bir döngüde kaynak kodunu kontrol eder. Program kodunu okur, değerlendirir ve programın döndürdüğü değerleri yazdırır.
Basit Bir Program
7, 9 ve 11 numaralı üç sayının toplamını bulmak için bir s-ifadesi yazalım. Bunu yapmak için, yorumlayıcı komut istemine yazabiliriz.
(+ 7 9 11)
LISP sonucu verir -
27
Aynı programı derlenmiş bir kodla çalıştırmak istiyorsanız, myprog.lisp adlı bir LISP kaynak kodu dosyası oluşturun ve içine aşağıdaki kodu yazın.
(write (+ 7 9 11))
Yürüt düğmesine tıkladığınızda veya Ctrl + E tuşlarına bastığınızda, LISP bunu hemen yürütür ve döndürülen sonuç -
27
LISP Önek Gösterimini Kullanır
LISP'nin kullandığını fark etmiş olabilirsiniz prefix notation.
Yukarıdaki programda + sembolü, sayıların toplanması işlemi için işlev adı olarak çalışır.
Önek gösteriminde operatörler, işlenenlerinden önce yazılır. Örneğin, ifade,
a * ( b + c ) / d
olarak yazılacak -
(/ (* a (+ b c) ) d)
Başka bir örnek alalım, 60 o F Fahrenheit sıcaklığını santigrat ölçeğine dönüştürmek için kod yazalım -
Bu dönüşüm için matematiksel ifade şöyle olacaktır:
(60 * 9 / 5) + 32
Main.lisp adlı bir kaynak kodu dosyası oluşturun ve içine aşağıdaki kodu yazın.
(write(+ (* (/ 9 5) 60) 32))
Yürüt düğmesine tıkladığınızda veya Ctrl + E tuşlarına bastığınızda, LISP bunu hemen yürütür ve döndürülen sonuç
140
LISP Programlarının Değerlendirilmesi
LISP programlarının değerlendirilmesi iki bölümden oluşur -
Program metninin bir okuyucu programı tarafından Lisp nesnelerine çevrilmesi
Dilin anlambiliminin bu nesneler açısından bir değerlendirici program tarafından uygulanması
Değerlendirme süreci aşağıdaki adımları gerçekleştirir -
Okuyucu, karakter dizilerini LISP nesnelerine çevirir veya s-expressions.
Değerlendirici, Lisp'in sözdizimini tanımlar formss-ifadelerinden oluşturulmuştur. Bu ikinci değerlendirme düzeyi, hangisi olduğunu belirleyen bir sözdizimi tanımlars-expressions LISP formlarıdır.
Değerlendirici, bağımsız değişken olarak geçerli bir LISP formunu alan ve bir değer döndüren bir işlev olarak çalışır. LISP ifadesini parantez içine koymamızın nedeni budur, çünkü tüm ifadeyi / formu değerlendiriciye argüman olarak gönderiyoruz.
'Merhaba Dünya' Programı
Yeni bir programlama dili öğrenmek, tüm dünyayı o dilde nasıl selamlayacağınızı öğrenene kadar pek işe yaramaz, değil mi!
Bu nedenle, lütfen main.lisp adlı yeni kaynak kodu dosyası oluşturun ve içine aşağıdaki kodu yazın.
(write-line "Hello World")
(write-line "I am at 'Tutorials Point'! Learning LISP")
Yürüt düğmesine tıkladığınızda veya Ctrl + E tuşlarına bastığınızda, LISP bunu hemen yürütür ve döndürülen sonuç -
Hello World
I am at 'Tutorials Point'! Learning LISP