คำถามติดแท็ก interpreters

3
BASIC ค้นหาคำสั่ง NEXT ที่ไม่เป็นไปตามคำสั่งได้อย่างไรเมื่อลำตัววนซ้ำถูกข้ามไป
ตั้งค่าเครื่อง WABAC , Sherman คำถามนี้เกี่ยวกับ BASIC โดยทั่วไปและโดยเฉพาะของ Microsoft BASIC-80 โรงเรียนเก่าขั้นพื้นฐาน ด้วยหมายเลขบรรทัด ล่ามขั้นพื้นฐานแบบเก่า (หรือมากกว่านั้น) มีวิธีจัดการอย่างไร ... NEXT ลูปเมื่อตัวลูปไม่ได้ถูกดำเนินการและคำสั่ง NEXT นั้นไม่เป็นระเบียบ? คำสั่ง NEXT ที่เลิกใช้แล้วจากเวลาก่อน: นี่คือรูทีนย่อยจากเกมAwariจาก"101 Basic Computer Games"ของDavid H. Ahl : 200 K=M:GOSUB 600 205 E=0:IF K>6 THEN K=K-7 210 C=C+1:IF C<9 THEN F(N)=F(N)*6+K 215 FOR I=0 TO 5:IF B(I)<>0 THEN 230 …

5
คุณสมบัติพื้นฐานสำหรับภาษาพื้นฐาน? ข้อเสนอแนะ DSL
ในที่สุดฉันก็เริ่มเข้าใจความซับซ้อนที่อยู่เบื้องหลังการสร้างล่ามและคอมไพเลอร์ ฉันสร้าง TinyBasic หลายรุ่นรุ่นพื้นฐานปี 1964 (ดาร์ทเมาท์) และการขยายภาษาของฉันเองก่อนที่จะถึงจุดนี้ โครงการล่าสุดคือโครงการที่ฉันเรียกว่าโอเพนซอร์ซพื้นฐาน ... เพราะฉันนึกไม่ออกว่าจะมีฟีเจอร์อื่น ๆ ของภาษาที่น่าสนใจสำหรับผู้คน เพื่อให้สามารถเปิดแหล่งที่มาของภาษาและเข้าใจวิธีการทำสิ่งที่ซับซ้อนบางอย่าง (การสแกนการแยกวิเคราะห์การแปลและการรวบรวม) Open Source Basic ถูกแปลเป็นภาษาสแต็กเป็นครั้งแรก ภาษาที่ใช้สแต็กนั้นจะถูกตีความและดำเนินการทันทีหรือเปลี่ยนเป็นปฏิบัติการ CLR คำถามของฉันทั้งหมดต้มลงไปที่นี้: อะไรคือคุณสมบัติพื้นฐาน / โครงสร้างของภาษาพื้นฐาน? ฉันมีโครงสร้างพื้นฐานเหล่านี้อยู่แล้ว: การมอบหมาย, นิพจน์, ตัวแปร, ฟังก์ชั่นบางอย่าง (สุ่ม, ToUpper, ToLower), วนรอบ (สำหรับและทำในขณะที่ / จนกว่า), ถ้า (บล็อกและบรรทัดเดียว) การตัดสินใจอื่น ) และเอาท์พุท (พิมพ์) และรูทีนย่อย (โดยไม่มีพารามิเตอร์) เมื่อฉัน 'เสร็จสิ้น' การเพิ่มโครงสร้างพื้นฐานในภาษาของฉัน - ฉันจะแยกออกได้อย่างไร เป็นโดเมนอะไร …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.