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