LISP - โครงสร้างโปรแกรม

นิพจน์ LISP เรียกว่านิพจน์สัญลักษณ์หรือนิพจน์ s s-expression ประกอบด้วยออบเจ็กต์อะตอมรายการและสตริงที่ถูกต้องสามรายการ

s-expression เป็นโปรแกรมที่ถูกต้อง

โปรแกรม LISP ทำงานบนไฟล์ interpreter หรือเป็น compiled code.

ล่ามจะตรวจสอบซอร์สโค้ดในการวนซ้ำซึ่งเรียกอีกอย่างว่า read-eval-print loop (REPL) มันอ่านโค้ดโปรแกรมประเมินและพิมพ์ค่าที่โปรแกรมส่งคืน

โปรแกรมง่ายๆ

ให้เราเขียน s-expression เพื่อหาผลรวมของตัวเลขสามตัว 7, 9 และ 11 ในการทำเช่นนี้เราสามารถพิมพ์ที่พรอมต์ล่าม

(+ 7 9 11)

LISP ส่งกลับผลลัพธ์ -

27

หากคุณต้องการเรียกใช้โปรแกรมเดียวกันกับโค้ดที่คอมไพล์แล้วให้สร้างไฟล์ซอร์สโค้ด LISP ชื่อ myprog.lisp แล้วพิมพ์โค้ดต่อไปนี้

(write (+ 7 9 11))

เมื่อคุณคลิกปุ่ม Execute หรือพิมพ์ Ctrl + E LISP จะดำเนินการทันทีและผลลัพธ์ที่ได้กลับมาคือ -

27

LISP ใช้สัญกรณ์นำหน้า

คุณอาจสังเกตว่า LISP ใช้ prefix notation.

ในโปรแกรมด้านบนสัญลักษณ์ + จะทำงานเป็นชื่อฟังก์ชันสำหรับกระบวนการสรุปตัวเลข

ในสัญกรณ์นำหน้าตัวดำเนินการจะถูกเขียนก่อนตัวถูกดำเนินการ ตัวอย่างเช่นนิพจน์

a * ( b + c ) / d

จะเขียนเป็น -

(/ (* a (+ b c) ) d)

ให้เราใช้อีกตัวอย่างหนึ่งให้เราเขียนโค้ดสำหรับการแปลงอุณหภูมิฟาเรนไฮต์ที่ 60 o F เป็นมาตราส่วนเซนติเกรด -

นิพจน์ทางคณิตศาสตร์สำหรับการแปลงนี้จะเป็น -

(60 * 9 / 5) + 32

สร้างไฟล์ซอร์สโค้ดชื่อ main.lisp และพิมพ์โค้ดต่อไปนี้

(write(+ (* (/ 9 5) 60) 32))

เมื่อคุณคลิกปุ่ม Execute หรือพิมพ์ Ctrl + E LISP จะดำเนินการทันทีและผลลัพธ์ที่ได้คือ

140

การประเมินโปรแกรม LISP

การประเมินโปรแกรม LISP มีสองส่วน -

  • การแปลข้อความโปรแกรมเป็นวัตถุ Lisp โดยโปรแกรมอ่าน

  • การใช้งานความหมายของภาษาในแง่ของวัตถุเหล่านี้โดยโปรแกรมผู้ประเมิน

ขั้นตอนการประเมินมีขั้นตอนต่อไปนี้ -

  • ผู้อ่านแปลสตริงของอักขระเป็นวัตถุ LISP หรือ s-expressions.

  • ผู้ประเมินกำหนดไวยากรณ์ของ Lisp formsที่สร้างขึ้นจาก s-expression การประเมินระดับที่สองนี้กำหนดไวยากรณ์ที่กำหนดว่าs-expressions เป็นแบบฟอร์ม LISP

  • ผู้ประเมินทำงานเป็นฟังก์ชันที่ใช้รูปแบบ LISP ที่ถูกต้องเป็นอาร์กิวเมนต์และส่งคืนค่า นี่คือเหตุผลที่เราใส่นิพจน์ LISP ไว้ในวงเล็บเพราะเรากำลังส่งนิพจน์ / แบบฟอร์มทั้งหมดไปยังผู้ประเมินเป็นอาร์กิวเมนต์

โปรแกรม 'Hello World'

การเรียนรู้ภาษาการเขียนโปรแกรมใหม่ ๆ ไม่ได้เกิดขึ้นจริง ๆ จนกว่าคุณจะเรียนรู้วิธีทักทายคนทั้งโลกด้วยภาษานั้นใช่ไหม!

ดังนั้นโปรดสร้างไฟล์ซอร์สโค้ดใหม่ชื่อ main.lisp และพิมพ์รหัสต่อไปนี้

(write-line "Hello World")

(write-line "I am at 'Tutorials Point'! Learning LISP")

เมื่อคุณคลิกปุ่ม Execute หรือพิมพ์ Ctrl + E LISP จะดำเนินการทันทีและผลลัพธ์ที่ได้กลับมาคือ -

Hello World

I am at 'Tutorials Point'! Learning LISP