LYaPAS
| LYaPAS | |
|---|---|
| กระบวนทัศน์ | ใช้งานได้จริงมีโครงสร้าง เป็นแบบโมดูลาร์ |
| ออกแบบ โดย | อาร์คาดี ดี.ซาเครฟสกี |
| ปรากฏครั้งแรก | 1964 ( 1964 ) |
| วินัยในการพิมพ์ | พลวัต |
| แพลตฟอร์ม | คอมพิวเตอร์เมนเฟรมUral -1 |
ภาษาตรรกะสำหรับการแสดงแทนอัลกอริธึมการสังเคราะห์ ( LYaPAS ,รัสเซีย: ЛЯПАС )เป็นภาษาโปรแกรมที่สร้างขึ้นโดย Arkady Zakrevsky ในสหภาพโซเวียต
LYaPAS ได้รับการออกแบบมาโดยเฉพาะสำหรับการเขียนโปรแกรมที่ไม่ใช้ตัวเลข สำหรับคอมพิวเตอร์เมนเฟรม ตระกูล Ural -1 ที่ออกแบบและผลิตโดยสหภาพโซเวียต LYaPAS ใช้ตัวเลขฐานแปด
LYaPAS-M เป็นการพัฒนาต่อยอดจาก LYaPAS ให้ดียิ่งขึ้นไปอีก
ประวัติศาสตร์
การพัฒนาเริ่มขึ้นในช่วงปลายปี 1962 [ 1 ]ขณะที่ Zakrevsky ทำงานอยู่ที่สถาบันฟิสิกส์และเทคนิคไซบีเรีย (ส่วนหนึ่งของมหาวิทยาลัยแห่งรัฐทอมสค์ ) [ 2 ]เครื่องแปลเครื่องแรกถูกนำมาใช้ในปี 1963 [ 1 ]
หนังสือเล่มแรกที่เผยแพร่อย่างกว้างขวางเกี่ยวกับภาษานี้ได้รับการตีพิมพ์เป็นภาษารัสเซีย ( Логический язык для представления алгоритмов синтеза релейных устройств , 1966) ซึ่งต่อมาได้รับการแปลและตีพิมพ์เป็นภาษาอังกฤษ ( LYaPAS: a programming language for logic and coding algorithms , 1969) หนังสือเล่มนี้ประกอบด้วยบทความหลายบทความพร้อมคำอธิบาย LYaPAS อย่างละเอียด อัลกอริทึมบางส่วนในภาษานี้ และคำอธิบายสภาพแวดล้อมการเขียนโปรแกรมสำหรับ คอมพิวเตอร์ Ural-1และM-20ซึ่งทำงานด้วยความเร็ว 100 และ 20,000 การดำเนินการต่อวินาที ตามลำดับ[ 1 ]
ในปี พ.ศ. 2517 LYaPAS-M ซึ่งเป็นภาษาเวอร์ชันใหม่ได้ปรากฏขึ้น ในบรรดาการเปลี่ยนแปลงอื่นๆ เวอร์ชันนี้ได้รับการปรับให้เข้ากับชุดอักขระที่ใช้กันทั่วไปในคอมพิวเตอร์ของโซเวียตในขณะนั้น กล่าวคือ อักขระ 100 ตัวแรกของการเข้ารหัส 7 บิตGOST 10859 [ 1 ]
ต่อมา Zakrevsky ได้ทำงานเกี่ยวกับ LYaPAS ที่ห้องปฏิบัติการการเขียนโปรแกรมระบบและการสังเคราะห์เชิงตรรกะของสถาบันวิทยาศาสตร์แห่งสาธารณรัฐสังคมนิยมโซเวียตเบลารุสซึ่งต่อมาได้เปลี่ยนชื่อเป็นสถาบันวิทยาศาสตร์แห่งชาติของเบลารุส[ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ]
เวอร์ชัน
ตัวอย่าง
ตัวอย่างโปรแกรมใน LYaPAS-M สำหรับการคำนวณ GCD ของตัวแปร N และ M: [ 1 ]
П1 N ↑–2 M;N=RN=MR=N ↑=1 П2 M=D ** คำอธิบาย:
- โปรแกรมจะถูกประมวลผลจากซ้ายไปขวา
- П1 และ П2 คือป้ายกำกับเส้น
- การดำเนินการนี้
Nจะนำค่าของตัวแปรจำนวนเต็มไปใส่ในตัวแปร "ค่าปัจจุบัน" โดยปริยาย τ ซึ่งเก็บผลลัพธ์ของการดำเนินการครั้งล่าสุด - การดำเนินการแยกสาขาแบบมีเงื่อนไข
↑–2จะย้ายการทำงานไปยังบรรทัดที่ 2 หากค่าปัจจุบันเป็นศูนย์ - นิพจน์นี้
M;Nคำนวณเศษเหลือ - นิพจน์นี้
=Rกำหนดค่าปัจจุบันให้กับตัวแปร R ↑=1เป็นการแยกสาขาแบบไม่มีเงื่อนไขไปยังบรรทัดที่ 1**เป็นเครื่องหมายสิ้นสุด
ระบบจะไม่สนใจช่องว่างทั้งหมด ดังนั้นโปรแกรมข้างต้นจึงเทียบเท่ากับคำสั่งบรรทัดเดียว:
П1N↑–2M;N=RN=MR=N↑=1П2M=D** บรรณานุกรม
- LYaPAS: ภาษาโปรแกรมสำหรับตรรกะและอัลกอริธึมการเขียนโค้ด เรียบเรียงโดย MA Gavrilov และ AD Zakrevskii แปลโดย Morton Nadler นิวยอร์ก สำนักพิมพ์ Academic Press ปี 1969 475 หน้า