3 คะแนน โดย GN⁺ 2023-12-11 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

เปิดตัวคู่มือเริ่มต้นสร้างคอมไพเลอร์

  • ศึกษาซอร์สโค้ดของคอมไพเลอร์แบบ self-hosting ที่รวมโค้ดทั้งหมดซึ่งเป็นสาธารณสมบัติไว้ด้วย
  • ภาษา T3X/0 มีที่มาจาก Pascal และ BCPL และมีความเรียบง่ายมาก
  • มาพร้อมคู่มือความยาว 20 หน้า และต้องมีความรู้พื้นฐานเกี่ยวกับภาษาการเขียนโปรแกรมเชิงกระบวนวิธีอย่าง C หรือ Pascal และภาษาแอสเซมบลีของซีพียู Z80

คำอธิบายเชิงลึกเกี่ยวกับการสร้างคอมไพเลอร์

  • อธิบายอย่างละเอียดถี่ถ้วนด้วยไดอะแกรม ตาราง และตัวอย่างจำนวนมาก
  • ครอบคลุมหัวข้ออย่าง lexical analysis, parsing, code generation และการเพิ่มประสิทธิภาพแบบง่าย
  • ยังมีคำอธิบายเกี่ยวกับอินเทอร์เฟซ BDOS และไลบรารีรันไทม์ด้วย

ความเห็นจาก GN⁺

  • หนังสือเล่มนี้ให้คำอธิบายอย่างละเอียดและยกตัวอย่างเพื่อช่วยให้เข้าใจภาพรวมของการสร้างคอมไพเลอร์
  • มอบมุมมองเชิงลึกเกี่ยวกับโครงสร้างพื้นฐานของภาษาโปรแกรมและกระบวนการคอมไพล์ โดยน่าสนใจเป็นพิเศษสำหรับวิศวกรซอฟต์แวร์ระดับเริ่มต้นที่สนใจคอมพิวเตอร์รุ่นเก่าและการเขียนโปรแกรมระดับล่าง
  • สามารถเรียนรู้ผ่านโค้ดจริงได้ จึงมีประโยชน์ต่อการฝึกทักษะการสร้างคอมไพเลอร์จริง ไม่ใช่แค่ภาคทฤษฎี

1 ความคิดเห็น

 
GN⁺ 2023-12-11
ความคิดเห็นบน Hacker News
  • ข่าวการออกหนังสือคอมไพเลอร์เล่มใหม่

    • มีการเปิดตัวหนังสือคอมไพเลอร์สมัยใหม่ ซึ่งเป็นฉบับขยายของ "Write Your Own Compiler" โดยพูดถึงการสร้างโค้ดบน Z80 ของระบบ CP/M
    • สำรวจความซับซ้อนของคอมไพเลอร์ที่สามารถคอมไพล์ตัวเองได้ภายใน 10 นาทีบนระบบ Z80 ความเร็ว 4MHz
    • โค้ดแจกฟรี แต่หนังสือต้องซื้อ
  • แชร์ประสบการณ์พัฒนาคอมไพเลอร์ C แบบหลายพาสและแอสเซมเบลอร์

    • สร้างคอมไพเลอร์ C แบบหลายพาสและแอสเซมเบลอร์ที่เขียนด้วย TypeScript สำหรับ CPU x86 รุ่นเก่า
    • สามารถดูโปรเจ็กต์นี้ได้บน GitHub
  • ความคาดหวังต่อหนังสือเกี่ยวกับการปรับแต่งประสิทธิภาพ CPU และ GPU สมัยใหม่

    • หนังสือดูน่าสนใจ แต่กำลังรอภาคต่อของ The Dragon Book ที่พูดถึงการปรับแต่งประสิทธิภาพ CPU และ GPU สมัยใหม่ รวมถึงการออกแบบและเขียน VM สมัยใหม่ที่มี concurrent GC ความเร็วสูง
  • คำแนะนำเกี่ยวกับการสร้างคอมไพเลอร์เชิงปฏิบัติ

    • มีหนังสือ "Practical Compiler Construction 2nd Ed." ฉบับเล่มจริงอยู่ และแนะนำสำหรับผู้ที่สนใจ
  • ข้อเสนอแนะเรื่องการปรับปรุงความต่อเนื่องของเนื้อหาในหนังสือ

    • อ่านบทฟรีแล้วพบว่ามีบางส่วนที่อาจยากสำหรับผู้เริ่มต้น
    • หนังสืออธิบายแนวคิดพื้นฐานอย่างไวยากรณ์ของภาษา แล้วกระโดดไปยังหัวข้อขั้นสูงทันที ทำให้รู้สึกว่าความต่อเนื่องยังไม่ดีพอ
    • เสนอให้ปรับปรุงจุดนี้ในผลงานถัดไป
  • ความกังวลเรื่องการต้องเรียนรู้ภาษาโปรแกรมใหม่ T3X

    • หนังสือดูน่าสนใจ แต่ผู้อ่านต้องเรียนรู้ภาษาโปรแกรมใหม่ชื่อ T3X เพื่อเขียนและพัฒนาคอมไพเลอร์ตั้งแต่ต้นบนระบบ CP/M
  • ความสนใจต่อหนังสือเกี่ยวกับการเขียน OS แบบ CP/M

    • แสดงความสนใจต่อหนังสือที่สอนวิธีเขียนระบบปฏิบัติการอย่าง CP/M ด้วยตัวเอง
  • คำถามเกี่ยวกับเหตุผลที่เน้นเรโทรคอมพิวติ้ง

    • สงสัยว่าทำไมถึงมุ่งเน้นไปที่เรโทรคอมพิวติ้ง
    • ตั้งคำถามว่าเป็นเพราะเป้าหมายแบบเรโทรเรียบง่ายและเข้าใจง่ายกว่า จึงเหมาะกับการเรียนรู้แบบค่อย ๆ ต่อชั้นขึ้นไป หรือเป็นเพราะผู้เขียนคุ้นเคยกับสายเรโทรมากกว่าเลยเขียนหนังสือได้ดีกว่า