LISP - Temel Sözdizimi
LISP'deki Temel Yapı Taşları
LISP programları, üç temel yapı taşından oluşur -
atom
list
string
Bir atombitişik karakterlerden oluşan bir sayı veya dizedir. Sayılar ve özel karakterler içerir.
Aşağıda bazı geçerli atomların örnekleri verilmiştir -
hello-from-tutorials-point
name
123008907
*hello*
Block#221
abc123
Bir list bir atom dizisidir ve / veya parantez içine alınmış diğer listelerdir.
Aşağıda bazı geçerli listelere örnekler verilmiştir -
( i am a list)
(a ( a b c) d e fgh)
(father tom ( susan bill joe))
(sun mon tue wed thur fri sat)
( )
Bir string çift tırnak içine alınmış bir karakter grubudur.
Aşağıda bazı geçerli dizelerin örnekleri verilmiştir -
" I am a string"
"a ba c d efg #$%^&!"
"Please enter the following details :"
"Hello from 'Tutorials Point'! "
Yorum Ekleme
Noktalı virgül simgesi (;) bir açıklama satırını belirtmek için kullanılır.
Örneğin,
(write-line "Hello World") ; greet the world
; tell them your whereabouts
(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
Bir Sonrakine Geçmeden Önce Bazı Önemli Noktalar
Aşağıda dikkat edilmesi gereken önemli noktalardan bazıları verilmiştir -
LISP'deki temel sayısal işlemler +, -, * ve /
LISP, f (x) işlev çağrısını (fx) olarak temsil eder, örneğin cos (45) cos 45 olarak yazılır
LISP ifadeleri büyük / küçük harfe duyarlı değildir, cos 45 veya COS 45 aynıdır.
LISP, bir işlevin argümanları dahil her şeyi değerlendirmeye çalışır. Yalnızca üç tür öğe sabittir ve her zaman kendi değerlerini döndürür
Numbers
Mektup t, bu mantıksal doğru anlamına gelir.
Değer nil, bu, mantıksal yanlış ve boş bir liste anlamına gelir.
LISP Formları Hakkında Biraz Daha Fazla Bilgi
Bir önceki bölümde, LISP kodunun değerlendirme sürecinin aşağıdaki adımlardan geçtiğinden bahsetmiştik.
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, hangi s-ifadelerinin LISP formları olduğunu belirleyen bir sözdizimi tanımlar.
Şimdi, bir LISP formları olabilir.
Bir atom
Boş veya liste dışı
İlk öğesi olarak bir sembole sahip herhangi bir liste
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. Bu, koymamızın nedeniLISP expression in parenthesis, çünkü tüm ifadeyi / formu değerlendiriciye argüman olarak gönderiyoruz.
LISP'de Adlandırma Kuralları
Ad veya semboller, boşluk, açık ve kapalı parantezler, çift ve tek tırnak işaretleri, ters eğik çizgi, virgül, iki nokta üst üste, noktalı virgül ve dikey çubuk dışında herhangi bir sayıda alfasayısal karakterden oluşabilir. Bu karakterleri bir adda kullanmak için, çıkış karakterini (\) kullanmanız gerekir.
Bir isim rakamlara sahip olabilir, ancak tamamen rakamlardan oluşmayabilir, çünkü o zaman bir sayı olarak okunur. Benzer şekilde, bir adda dönemler olabilir, ancak tamamen dönemlerden oluşamaz.
Tek Tırnak İşaretinin Kullanımı
LISP, işlev bağımsız değişkenleri ve liste üyeleri dahil her şeyi değerlendirir.
Bazen, atomları veya listeleri tam anlamıyla almamız gerekir ve bunların işlev çağrıları olarak değerlendirilmesini veya ele alınmasını istemeyiz.
Bunu yapmak için atomun veya listenin önüne tek bir tırnak işareti koymamız gerekir.
Aşağıdaki örnek bunu göstermektedir.
Main.lisp adlı bir dosya oluşturun ve içine aşağıdaki kodu yazın.
(write-line "single quote used, it inhibits evaluation")
(write '(* 2 3))
(write-line " ")
(write-line "single quote not used, so expression evaluated")
(write (* 2 3))
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ç -
single quote used, it inhibits evaluation
(* 2 3)
single quote not used, so expression evaluated
6