เนื้อหา
เป็นวิกิซึ่งหมายความว่าบทความจำนวนมากเขียนโดยผู้เขียนหลายคน ในการสร้างบทความนี้มี 27 คนที่ไม่ระบุตัวตนบางคนมีส่วนร่วมในการแก้ไขและปรับปรุงตลอดเวลาบุคคลหลายคนประสบปัญหาและความยุ่งยากเนื่องจากภาษาโปรแกรมที่ใช้ทุกวัน บางคนต้องการสิ่งที่เป็นนามธรรมมากกว่าคนอื่น ๆ เกลียดการใช้คุณสมบัติที่พวกเขาคิดว่าควรเป็นมาตรฐาน ไม่ว่าคุณจะเป็นมืออาชีพด้านคอมพิวเตอร์หรือมือสมัครเล่นคุณอาจพูดไปแล้วว่าการประดิษฐ์ภาษาโปรแกรมของคุณเองนั้นมีประโยชน์มากกว่า
ขั้นตอน
-
ทำความคุ้นเคยกับเทคโนโลยี คุณไม่สามารถสร้างภาษาการเขียนโปรแกรมหากคุณไม่ทราบวิธีการใช้คอมพิวเตอร์ -
เรียนรู้เกี่ยวกับคำศัพท์ คอมไพเลอร์คอมไพเลอร์มักมีศัพท์แสงที่คุณไม่คุ้นเคย เรียนรู้เกี่ยวกับคอมไพเลอร์ก่อนดำเนินการต่อ ทำให้แน่ใจว่าคุณรู้ทุกสิ่งที่ควรรู้ -
ตัดสินใจเกี่ยวกับปัญหาที่จะแก้ไข คุณจะจัดการกับปัญหาเฉพาะด้านของคุณหรือคุณจะสร้างภาษาทั่วไปหรือไม่? -
คิดเกี่ยวกับความหมาย คิดเกี่ยวกับแนวคิดของภาษาของคุณด้วย- คุณอนุญาตให้เข้าถึงพอยน์เตอร์โดยตรงหรือไม่
- ข้อมูลประเภทใดที่จะใช้ (ถ้าพิมพ์)
- มันจะเป็นภาษาแบบคงที่หรือแบบไดนามิกหรือไม่
- สิ่งที่จะเป็นรูปแบบของความทรงจำของเขา? คุณกำลังจะใช้ตัวรวบรวมขยะหรือการจัดการหน่วยความจำด้วยตนเองหรือไม่? หากคุณกำลังใช้ตัวรวบรวมขยะเตรียมรหัสหนึ่งหรือปรับให้เข้ากับภาษาของคุณ
- คุณจะจัดการแข่งขันอย่างไร คุณกำลังจะใช้แบบจำลองที่เรียบง่ายของงานหรืออะไรที่ซับซ้อนกว่าอย่างลินดาหรือแบบของนักแสดงเพราะคอมพิวเตอร์ทุกวันนี้มีหัวใจหลายอัน?
- ฟังก์ชั่นดั้งเดิมจะถูกรวมเข้ากับภาษาหรือคุณต้องการที่จะนำเข้าจากห้องสมุดหรือไม่?
- กระบวนทัศน์ของภาษาคืออะไร ฟังก์ชั่น, เชิงวัตถุ, ต้นแบบ (เช่น JavaScript), แบบเชิง, แบบจำลองหรือสิ่งใหม่อย่างสมบูรณ์?
- ภาษาของคุณจะสื่อสารกับห้องสมุดและภาษาที่มีอยู่ (ส่วนใหญ่ C) อย่างไร สิ่งนี้สำคัญถ้าคุณกำลังสร้างภาษาเฉพาะโดเมน
- ในที่สุดคำถามเหล่านี้จะถูกตอบในขั้นตอนที่สองและจะช่วยคุณตอบขั้นตอนต่อไป
-
คิดเกี่ยวกับงานต่าง ๆ หากมีคนใช้ภาษาของคุณพวกเขาต้องการทำงานอะไร ตัวอย่างเช่นเขาอาจต้องการให้หุ่นยนต์ไปตามบรรทัดเขาอาจต้องการสร้างโปรแกรมคอมพิวเตอร์พกพาหรือเว็บแอปพลิเคชันภายในโปรแกรม -
ลองใช้แนวคิดทางไวยากรณ์ที่แตกต่างกัน ใช้ตัวอย่างด้านบนเพื่อทดสอบ- ระวังให้ภาษาของคุณอยู่ในหมวดหมู่ของภาษาโดยไม่มีรูปกรวยหรือในหมวดหมู่ย่อย คุณและนักวิเคราะห์จะขอบคุณคุณในภายหลัง
-
เขียนไวยากรณ์สำหรับไวยากรณ์ -
เลือกระหว่างภาษาที่แปลหรือเรียบเรียง หากตีความแล้วผู้ใช้สามารถแก้ไขรหัสในโปรแกรมและเรียกใช้โดยตรงกับล่าม หากมีการคอมไพล์ผู้ใช้จะเขียนโค้ดรวบรวมและบันทึกในรูปแบบที่แน่นอนก่อนที่จะเปิดตัว -
เขียนเครื่องสแกนและเครื่องวิเคราะห์ ส่วนหน้า. คุณสามารถหาเครื่องมือที่จะช่วยคุณได้- ลองคิดดูว่าคอมไพเลอร์จะเตือนผู้ใช้โปรแกรมปลอมและข้อผิดพลาดทางไวยากรณ์อย่างไร
-
เขียนรหัส ใช้ข้อมูลตัววิเคราะห์เพื่อเขียนรหัสวัตถุหรือการนำเสนอระดับกลาง ให้เครื่องวิเคราะห์สร้างต้นไม้ประโยคจากบทคัดย่อแล้วสร้างรหัสวัตถุจากต้นไม้นั้นโดยใช้รหัสที่อยู่หรือ SSA พี่ใหญ่ก่อนสร้างตารางสัญลักษณ์เพื่อกำหนดฟังก์ชันตัวแปรทั่วโลกและอื่น ๆ- นอกจากนี้ขึ้นอยู่กับภาษาของคุณคุณอาจต้องการสร้างตารางตัวชี้เสมือนหรือตารางข้อมูลสำหรับชั้นเรียนของคุณ (เพื่อสนับสนุน RTTI)
-
รหัสการสั่งซื้อ นี่คือโปรแกรมที่จะเชื่อมโยงรหัสทั้งหมด -
ทดสอบภาษาของคุณด้วยโปรแกรมทดสอบ- คุณต้องสร้างโปรแกรมทดสอบที่เน้นไวยากรณ์ที่เป็นทางการของภาษาเพื่อดูว่าคอมไพเลอร์ยอมรับทุกสิ่งในคำจำกัดความของคุณและปฏิเสธทุกอย่างอื่นหรือไม่
-
คิดเกี่ยวกับการแก้จุดบกพร่อง -
เขียนไลบรารีมาตรฐาน หากภาษาของคุณใช้ไลบรารีมาตรฐานคุณควรเขียนนอกเหนือจากตัวรวบรวมขยะและคุณสมบัติอื่น ๆ ที่คุณต้องการ- ในความเป็นจริงถ้าคุณโค้ดคอมไพเลอร์คุณจะต้องมีรหัสที่ระบบปฏิบัติการจะดำเนินการเพื่อเริ่มการขว้างปารหัสผู้ใช้ (ตัวอย่างเช่นการจัดสรรตัวแปรทั่วโลกทั้งหมด)
-
เผยแพร่ภาษาของคุณ เผยแพร่ภาษาของคุณพร้อมกับข้อมูลจำเพาะและตัวอย่างโค้ดที่คุณสร้างขึ้น- อย่าลืมระบุว่าเป็นไปได้อย่างไรที่จะรวมไลบรารีที่มีอยู่และใช้คุณสมบัติรันไทม์หรือไลบรารีมาตรฐาน
- ความอดทน
- ความรู้เกี่ยวกับคุณสมบัติของภาษาการเขียนโปรแกรมและการออกแบบ
- มีความรู้เกี่ยวกับทฤษฎีคอมไพเลอร์ (เนื่องจากคุณกำลังจะเขียนโค้ดตัวแปลภาษาหรือล่ามสำหรับภาษาของคุณและการนำไปใช้ของคุณจะเป็นข้อมูลอ้างอิง)
- การใช้งานสำหรับภาษาของคุณ (อย่าลืมว่าภาษาที่ใช้มากที่สุดเช่น C หรือ LISP ถูกสร้างขึ้นเพื่อทำสิ่งที่เฉพาะเจาะจงเช่นเพื่อสร้าง Unix หรือสร้างการคำนวณเชิงสัญลักษณ์)