อ่าน 3 นาที
บีทนิก (ภาษาโปรแกรม)
Beatnikเป็นภาษาโปรแกรมเชิงซ้อนที่ เรียบง่าย และเน้นการใช้สแต็ก พัฒนา โดย Cliff L.
บีทนิก (ภาษาโปรแกรม)
| บีทนิก | |
|---|---|
| กระบวนทัศน์ | เชิงซ้อน |
| ออกแบบโดย | คลิฟฟ์ แอล. บิฟเฟิล |
| นักพัฒนา | คลิฟฟ์ แอล. บิฟเฟิล |
| ปรากฏครั้งแรก | 2001 |
| โอเอส | ข้ามแพลตฟอร์ม |
| เว็บไซต์ | Cliffle |
| ได้รับอิทธิพล | |
| l33t [ 1 ] | |
Beatnikเป็นภาษาโปรแกรมเชิงซ้อนที่ เรียบง่าย และเน้นการใช้สแต็ก พัฒนา โดย Cliff L. Biffle โปรแกรม Beatnik ประกอบด้วยลำดับของคำภาษาอังกฤษใดๆ แต่ละคำจะได้รับคะแนนเท่ากับคะแนนที่จะได้รับใน เกม Scrabbleค่าของคะแนนจะเป็นตัวกำหนดฟังก์ชันที่จะดำเนินการ ฟังก์ชันต่างๆ ได้แก่ การผลักคะแนนของคำถัดไปลงบนสแต็ก การทดสอบสแต็ก การข้ามไปข้างหน้าหรือข้างหลังในโปรแกรม และการดำเนินการสแต็กอื่นๆ[ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ]
ภาพรวม
มาร์กอัป
ตัวแปลจะอ่านคำในบทกวีโดยไม่สนใจเครื่องหมายวรรคตอนช่องว่างและขึ้นบรรทัดใหม่ฟังก์ชันบางอย่างใช้คำเดียว ฟังก์ชันอื่นๆ ใช้อาร์กิวเมนต์ (เรียกว่าฟังก์ชันสองคำ ) ฟังก์ชันสองคำจะอธิบายไว้ด้านล่างในรูปแบบ " 5,n" ซึ่งหมายความว่าทั้งคำที่มีค่าเป็น 5 และคำถัดไป (ที่มีค่าเป็น ' n') จะถูกอ่าน[ 2 ] [ 3 ]
| คุณค่าของคำ | รหัสเทียม | คำอธิบาย |
|---|---|---|
| <5 | NOOP | (ไม่บังคับ): ล่ามอาจเยาะเย้ยคุณ |
| 5,n | push(n) | ผลักค่าของคำถัดไปลงบนสแต็ก |
| 6 | pop() | ดึงตัวเลขหนึ่งตัวออกจากกองแล้วทิ้งไป |
| 7 | push(pop()+pop()) | ใส่ตัวเลขสองตัว บวกกัน แล้วบันทึกผลลัพธ์ |
| 8 | push(input()) | ป้อนอักขระแล้วส่งค่าของมัน |
| 9 | print(pop()) | ดึงตัวเลขออกมาและแสดงผลเป็นอักขระ |
| 10 | push(pop()-pop()) | ดึงตัวเลขสองตัวออกมา ลบตัวเลขตัวแรกที่ดึงออกมาด้วยตัวเลขตัวที่สองที่ดึงออกมา แล้วกดผลลัพธ์ลงไป |
| 11 | a = pop(); b = pop(); push(a); push(b) | ใส่ตัวเลขสองตัว สลับตำแหน่ง แล้วใส่กลับเข้าไปใหม่ |
| 12 | a = pop(); push(a); push(a) | เลือกหมายเลขแล้วกดสองครั้ง |
| 13,n | if(top()==0) jump(+n) | ถ้าตัวเลขเป็นศูนย์ ให้ใส่ตัวเลขหนึ่งตัว แล้วข้ามไปข้างหน้าn คำ (จริงๆ แล้วn+1 คำ) |
| 14,n | if(top()!=0) jump(+n) | เลือกตัวเลขหนึ่งตัว แล้วข้ามไปข้างหน้าn (จริงๆ แล้วn+1 ) คำ ถ้าตัวเลขนั้นไม่ใช่ศูนย์ |
| 15,n | if(top()==0) jump(-n) | เลือกตัวเลขหนึ่งตัว แล้วข้ามไปnคำ ถ้าตัวเลขนั้นเป็นศูนย์ |
| 16,n | if(top()!=0) jump(-n) | เลือกตัวเลขหนึ่งตัว แล้วข้ามไปnคำ ถ้าตัวเลขนั้นไม่ใช่ศูนย์ |
| 17 | exit() | หยุดโปรแกรมนั้น |
| 18-23 | NOOP | (ไม่บังคับ): อาจล้อเลียนคุณ แต่เฉพาะในวันที่มันอารมณ์ไม่ดีเท่านั้น |
| >23 | ไม่มีข้อมูล | ก่อให้เกิด "เสียงปรบมือแบบพวกบีทนิก" |
| รหัสเทียม | ความหมาย |
|---|---|
NOOP | ไม่มีการดำเนินการใดๆ |
pop() | ลบค่าออกจากด้านบนสุดของสแต็ก แล้วส่งค่ากลับ |
push(x) | วาง x ลงบนกอง |
print(x) | พิมพ์ตัวอักษร x |
input() | อ่านอักขระจากผู้ใช้ โปรแกรมจะหยุดทำงานจนกว่าจะอ่านอักขระเสร็จ |
; | แยกคำสั่งหลายคำสั่งออกจากกัน คำสั่งเหล่านั้นจะถูกประมวลผลตามลำดับ |
if(expression) statement | ก็ต่อเมื่อเงื่อนไขนั้นเป็นจริงเท่านั้น จึงจะดำเนินการตามคำสั่ง |
jump(x) | เลื่อนตำแหน่งการอ่านไปข้างหน้าหรือข้างหลังตามจำนวนคำ x คำ |
ต่อไปนี้คือค่าของตัวอักษรในเกม Scrabbleเพื่อเป็นข้อมูลอ้างอิง
ตัวอย่าง
สวัสดีโลก
ตัวอย่าง " Hello World " ในภาษา Beatnik [ 9 ]
ทะยานขึ้นสูง, ดอกลาร์กสเปอร์, ฝนตก ความไม่ชัดเจน มาริโอคำราม (พยาบาล ธรรมชาติ กฎเกณฑ์...) พยายามยิงประตูอีกครั้งอย่างเย้ายวน ต้นทุนของธุรกิจการเกษตรตามราคาเชือก (โมปส์) แกนของรถยนต์ ความทะเยอทะยานของนักปรับแต่งรถ โผ. การฝังศพที่น่าหดหู่ ความผิดพลาดที่สมเหตุสมผลของฝ่ายกฎหมาย รังนกเปล่งประกาย ความหวาดกลัว อนาคตที่ผูกมัด ความหดหู่ เสียงครวญครางของเนื้องอกตามปกติ การเปลี่ยนแปลงที่ไม่เป็นไปตามทำนอง เครื่องแต่งกายพยายามแบกเหรียญไว้บนบ่า ลิ้มรสความกระหายอันล้นเหลือ สไตล์ทำให้กลุ่มย่อย gad gram lanes ตกตะลึง ถนนของบริษัทประกันภัยสำหรับผู้ถูกเกณฑ์ทหาร: คนโง่เขลาไร้ความรู้สึก เดินเชิดหน้าอย่างร่าเริง พึ่งพาความเชื่อเรื่องเทพเจ้าหลายองค์: กลุ่มที่ได้รับผลประโยชน์ทางศิลปะ (ยักษ์ในตะเกียง, เทพเจ้าแพน) หัวเราะคิกคัก นินทา และพูดคุยกัน เทปหลอกลวงเหรอ? ไอ้ตัวตลกไดอะตอมไร้ประโยชน์! ฉลองก่อนเป็นไข้มาลาเรีย? บรรเทาโรคคอพอก! ไม่ต้องสงสัยเลยว่ารองเท้าฮาวายที่ขาดวิ่นจะทำให้สายร่มชูชีพและหางของแก๊งค์ต่างๆ ดูหมองลง ปลายผ้าเสริม! วงแหวนดูเก้งก้างกว่าเดิม! เข้ามาเลย พวกขี้แพ้ ขี้เมา ดื่มเบียร์ ไร้สาระ Curtain roams lasso weir lupus stunt. หมีหนีเรียนมีกรงเล็บที่เคลื่อนไหวได้ เต่าทั้งตัวเดิมทีเป็นตัวจับเวลา แก้ไขส่วนที่เป็นแท่งไม้สูงๆ ใหม่ เซนทอร์สุดขั้ว; ดาวเด่นเร่งด่วน; ผู้ให้กู้เงินดอกเบี้ยสูง (เจือจาง); จมูก; กระดูก; เครื่องปรับระดับโซนาร์ของบริก; เศษภาชนะ คนขี้เกียจ การวางเพลิงที่คลินิกสัตวแพทย์ แอตลาสครางว่า "Pates, slues, sulfuric manor liaising tines, ตัวอย่างหนัง, ตัวแทน... ไม่ยุติธรรม! น้ำมูกไหลทันที!" รถเลื่อนจอดพักจนกระทั่งร้านอาหารปิด ความแข็งแกร่งของเอิร์ก เครื่องตรวจหารอยบุ๋ม เงินยูโรเข้าสู่ไข่ ระยะเวลาการดำรงตำแหน่งที่น่าสนใจ ดาบโค้งทอรัส การพันผ้าซารองที่ลำตัวทำให้เกิดความล่าช้าอย่างโหดร้าย วิศวกร: "ลบเรื่องกระเป๋าถือทิ้งไป แล้วรวมการให้สัตยาบันเข้าด้วยกัน!" ลาที่พายเรือข้าวโอ๊ตขายไม่ออก ป้ายที่มั่นใจและรวดเร็วที่สุด การเดินสายไฟใหม่สำหรับชักโครก ประจุลบเน่าเปื่อย raring แก้ไขบทส่งท้าย ใบพัดเรือพิฆาต การพายเรือลินเน็ต รองเท้าบูทกันกระสุน รายชื่อผู้เช่าช่วงที่สูงที่สุดที่ถูกรีดเรียบ -- การจลาจล เริ่มต้นอย่างครึกครื้น อย่างน่าละอาย อาหารของนักวิ่งสร้างความทุกข์ใจให้กับผู้ที่ชอบชมพระอาทิตย์ขึ้นเพียงลำพัง กลุ่มคนร้ายที่เปลี่ยนข้างอย่างแนบเนียน! ผู้กู้ยืมทำงานหนักบนเสาค้ำยันในหมู่เกาะไข่มุก เสี่ยงอันตรายถึงชีวิต ผูกมัดผู้นั่งใหม่ จดหมายในชุดโทกา -- ไขมันหมูหยาบๆ (กระเป๋าเพจเจอร์ประดับวิญญาณ) glob title a curio hired rites shed suds lade grease strut arctic revs toad เว้นแต่คนว่างงาน เปลือก เสาค้ำ ภูมิภาค ที่ดิน ยาฆ่าเชื้อ ลูกเกด เครื่องใน เหงือก ที่ตั้ง เอน สเปอร์สวยดี ถุงมือทดสอบ งูพิษที่ตื่นขึ้น รู! ไฝ! (แผล!) นักอนามัย! แผลเป็น! (ก้น!) กลิ่นต่างๆ บ่งบอกถึงของหายาก ลูกหมีร้องเพลงทันทีพร้อมวิเคราะห์สิ่งดีๆ ยางสน. พื้นที่ปลูกป่านศรนารายณ์ที่ไม่เป็นประโยชน์. บอกถึงความลาดชัน. ห้องแล็บพาสต้าแห่งความเป็นชาย "เถาวัลย์โรงพยาบาล" พวกคนไม่รู้หนังสือ (ถั่ว) ร้อง ยางสนเปรี้ยว คำด่าทอ หอยเป๋าฮื้อ กฎที่ตอกตะปู แผนที่แอตลาสแบบเกลียว ค่าใช้จ่ายในการปรับปรุงบ้านมักส่งผลกระทบต่อค่าเช่า ลูกบอลแสงไร้แสงอาทิตย์ (ไอดอลงี่เง่า) Clarity วิพากษ์วิจารณ์เซนนา คนจรจัดผัดผัก; ลูกพลัมป่าทำการตัดหัว ปรับเปลี่ยนเหงือกหลังการผ่าตัดริมฝีปากแบบรัศมี ผ้าขนหนูเซนต์ โทรศัพท์ยุคโบราณขนาดใหญ่ ตัวละครที่แข็งทื่อ เพื่อน! เรือที่ Dean ละทิ้ง รายชื่อ ปลาทูน่า ตู้เลี้ยงสัตว์น้ำ -- รวมเป็นหนึ่งเดียว ติดตามร่องรอยได้ เจดีย์เปลือยล้มลง
ดูเพิ่มเติม
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- endforward beatnik.net คอมไพเลอร์ beatnik สำหรับ .NET (MSIL)
- ตัวแปลภาษา Javascript
- ตัวแปลภาษา Go (Golang)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ บีทนิก (ภาษาโปรแกรม)
Beatnikเป็นภาษาโปรแกรมเชิงซ้อนที่ เรียบง่าย และเน้นการใช้สแต็ก พัฒนา โดย Cliff L.
มาร์กอัป
ตัวแปลจะอ่านคำใน บทกวี โดยไม่สนใจเครื่องหมายวรรคตอน ช่องว่าง และ ขึ้นบรรทัดใหม่ ฟังก์ชันบางอย่างใช้คำเดียว ฟังก์ชันอื่นๆ ใช้อาร์กิวเมนต์ (เรียกว่า ฟังก์ชันสองคำ ) ฟังก์ชันสองคำจะอธิบายไว้ด้านล่างในรูปแบบ " 5,n " ซึ่งหมายความว่าทั้งคำที่มีค่าเป็น 5 และคำถัดไป...
สวัสดีโลก
ตัวอย่าง " Hello World " ในภาษา Beatnik [ 9 ]
ลิงก์ภายนอก
เว็บไซต์อย่างเป็นทางการ endforward beatnik.net คอมไพเลอร์ beatnik สำหรับ .NET (MSIL) ตัวแปลภาษา Javascript ตัวแปลภาษา Go (Golang) ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Beatnik_(programming_language)&oldid=1287440362 "