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

คอมไพเลอร์เป็นโปรแกรมคอมพิวเตอร์ที่แปลงซอร์สโค้ดที่เขียนในภาษาโปรแกรมหนึ่งเป็นภาษาคอมพิวเตอร์อื่น

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

4
กฎทั่วไปสำหรับการเขียนคอมไพเลอร์ X เป็น Z ใน Y
สมมติว่า X คือภาษาอินพุต Z คือภาษาเอาต์พุตจากนั้น f คือคอมไพเลอร์ซึ่งเขียนเป็นภาษา Y f = X -> Z เนื่องจาก f เป็นเพียงโปรแกรมฉันคิดว่า Y สามารถเป็นภาษาใด ๆ ใช่ไหม เราสามารถคอมไพล์เลอร์ f1, f2, แต่ละอันเขียนใน Y1, Y2 f1 = f Y1 f2 = f Y2 g = Z -> M h = g . f # We get a compiler X …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.