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