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