LISP - Struktur Program
Ekspresi LISP disebut ekspresi simbolik atau ekspresi-s. Ekspresi s terdiri dari tiga objek, atom, daftar, dan string yang valid.
Setiap ekspresi-s adalah program yang valid.
Program LISP berjalan baik di file interpreter atau sebagai compiled code.
Penerjemah memeriksa kode sumber dalam pengulangan berulang, yang juga disebut loop baca-evaluasi-cetak (REPL). Ia membaca kode program, mengevaluasinya, dan mencetak nilai-nilai yang dikembalikan oleh program.
Program Sederhana
Mari kita tulis ekspresi-s untuk menemukan jumlah dari tiga angka 7, 9 dan 11. Untuk melakukan ini, kita dapat mengetik di prompt interpreter.
(+ 7 9 11)
LISP mengembalikan hasil -
27
Jika Anda ingin menjalankan program yang sama dengan kode yang telah dikompilasi, buat file kode sumber LISP bernama myprog.lisp dan ketikkan kode berikut di dalamnya.
(write (+ 7 9 11))
Ketika Anda mengklik tombol Execute, atau mengetik Ctrl + E, LISP segera menjalankannya dan hasil yang dikembalikan adalah -
27
LISP Menggunakan Notasi Awalan
Anda mungkin telah mencatat bahwa LISP menggunakan prefix notation.
Pada program di atas simbol + berfungsi sebagai nama fungsi untuk proses penjumlahan bilangan.
Dalam notasi prefiks, operator ditulis sebelum operannya. Misalnya ekspresi,
a * ( b + c ) / d
akan ditulis sebagai -
(/ (* a (+ b c) ) d)
Mari kita ambil contoh lain, mari kita tulis kode untuk mengubah suhu Fahrenheit dari 60 o F ke skala celcius -
Ekspresi matematika untuk konversi ini adalah -
(60 * 9 / 5) + 32
Buat file kode sumber bernama main.lisp dan ketikkan kode berikut di dalamnya.
(write(+ (* (/ 9 5) 60) 32))
Ketika Anda mengklik tombol Execute, atau mengetik Ctrl + E, LISP mengeksekusinya segera dan hasil yang dikembalikan adalah-
140
Evaluasi Program LISP
Evaluasi program LISP memiliki dua bagian -
Terjemahan teks program ke dalam objek Lisp oleh program pembaca
Implementasi semantik bahasa dalam hal objek ini oleh program evaluator
Proses evaluasi mengambil langkah-langkah 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 menentukans-expressions adalah bentuk LISP.
Evaluator bekerja sebagai fungsi yang menggunakan formulir LISP yang valid sebagai argumen dan mengembalikan nilai. Inilah alasan mengapa kami meletakkan ekspresi LISP dalam tanda kurung, karena kami mengirimkan seluruh ekspresi / formulir ke evaluator sebagai argumen.
Program 'Halo Dunia'
Mempelajari bahasa pemrograman baru tidak benar-benar berhasil sampai Anda belajar bagaimana menyapa seluruh dunia dalam bahasa itu, kan!
Jadi, buat file kode sumber baru bernama main.lisp dan ketikkan kode berikut di dalamnya.
(write-line "Hello World")
(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