LISP - Sintaks Dasar
Building Block Dasar di LISP
Program LISP terdiri dari tiga blok bangunan dasar -
atom
list
string
Sebuah atomadalah angka atau string karakter yang berdekatan. Ini termasuk angka dan karakter khusus.
Berikut adalah contoh beberapa atom yang valid -
hello-from-tutorials-point
name
123008907
*hello*
Block#221
abc123
SEBUAH list adalah urutan atom dan / atau daftar lain yang diapit tanda kurung.
Berikut adalah contoh dari beberapa daftar yang valid -
( i am a list)
(a ( a b c) d e fgh)
(father tom ( susan bill joe))
(sun mon tue wed thur fri sat)
( )
SEBUAH string adalah sekelompok karakter yang diapit oleh tanda kutip ganda.
Berikut adalah contoh beberapa string yang valid -
" I am a string"
"a ba c d efg #$%^&!"
"Please enter the following details :"
"Hello from 'Tutorials Point'! "
Menambahkan Komentar
Simbol titik koma (;) digunakan untuk menunjukkan baris komentar.
Sebagai contoh,
(write-line "Hello World") ; greet the world
; tell them your whereabouts
(write-line "I am at 'Tutorials Point'! Learning LISP")
Ketika Anda mengklik tombol Execute, atau mengetik Ctrl + E, LISP segera menjalankannya dan hasil yang dikembalikan adalah -
Hello World
I am at 'Tutorials Point'! Learning LISP
Beberapa Poin Penting sebelum Pindah ke Berikutnya
Berikut adalah beberapa poin penting yang perlu diperhatikan -
Operasi numerik dasar di LISP adalah +, -, *, dan /
LISP merepresentasikan pemanggilan fungsi f (x) sebagai (fx), misalnya cos (45) dituliskan sebagai cos 45
Ekspresi LISP peka huruf besar kecil, cos 45 atau COS 45 sama.
LISP mencoba mengevaluasi semuanya, termasuk argumen suatu fungsi. Hanya tiga jenis elemen yang merupakan konstanta dan selalu mengembalikan nilainya sendiri
Numbers
Surat t, itu singkatan dari kebenaran logis.
Nilai nil, yang berarti salah logis, serta daftar kosong.
Sedikit Lebih Banyak tentang Formulir LISP
Pada bab sebelumnya, telah disebutkan bahwa proses evaluasi kode LISP mengambil langkah-langkah sebagai berikut.
Pembaca menerjemahkan string karakter ke objek LISP atau s-expressions.
Evaluator mendefinisikan sintaks Lisp formsyang dibangun dari ekspresi-s. Evaluasi tingkat kedua ini mendefinisikan sintaks yang menentukan ekspresi s mana yang merupakan bentuk LISP.
Sekarang, formulir LISP bisa.
Sebuah Atom
Kosong atau non-daftar
Daftar apa pun yang memiliki simbol sebagai elemen pertamanya
Evaluator bekerja sebagai fungsi yang mengambil formulir LISP yang valid sebagai argumen dan mengembalikan nilai. Inilah alasan mengapa kami menempatkan fileLISP expression in parenthesis, karena kami mengirimkan seluruh ekspresi / formulir ke evaluator sebagai argumen.
Konvensi Penamaan di LISP
Nama atau simbol dapat terdiri dari sejumlah karakter alfanumerik selain spasi, tanda kurung buka dan tutup, tanda kutip ganda dan tunggal, garis miring terbalik, koma, titik dua, titik koma, dan batang vertikal. Untuk menggunakan karakter ini dalam nama, Anda perlu menggunakan karakter escape (\).
Sebuah nama dapat terdiri dari angka tetapi tidak seluruhnya terdiri dari angka, karena dengan demikian akan dibaca sebagai angka. Demikian pula sebuah nama dapat memiliki titik, tetapi tidak dapat seluruhnya terdiri dari titik.
Penggunaan Tanda Kutip Tunggal
LISP mengevaluasi semuanya termasuk argumen fungsi dan anggota daftar.
Terkadang, kita perlu memahami atom atau daftar secara harfiah dan tidak ingin mereka dievaluasi atau diperlakukan sebagai pemanggilan fungsi.
Untuk melakukan ini, kita perlu mengawali atom atau list dengan satu tanda kutip.
Contoh berikut menunjukkan hal ini.
Buat file bernama main.lisp dan ketikkan kode berikut ke dalamnya.
(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))
Ketika Anda mengklik tombol Execute, atau mengetik Ctrl + E, LISP segera menjalankannya dan hasil yang dikembalikan adalah -
single quote used, it inhibits evaluation
(* 2 3)
single quote not used, so expression evaluated
6