Skip to main content

คอมไพเลอร์คืออะไร?

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

ในตอนแรกคอมไพเลอร์เป็นโปรแกรมที่ง่ายมากที่สามารถแปลสัญลักษณ์เป็นบิต, 1s และ 0s, คอมพิวเตอร์เข้าใจโปรแกรมนั้นง่ายมากประกอบด้วยชุดของขั้นตอนที่แปลด้วยมือเป็นข้อมูลที่คอมพิวเตอร์เข้าใจได้นี่เป็นงานที่ต้องใช้เวลานานดังนั้นบางส่วนของงานนี้จึงเป็นไปโดยอัตโนมัติหรือตั้งโปรแกรมและเขียนคอมไพเลอร์แรกโปรแกรมนี้ประกอบหรือรวบรวมขั้นตอนที่จำเป็นในการดำเนินการโปรแกรมทีละขั้นตอน

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

โปรแกรมคอมไพเลอร์ยังมีความเชี่ยวชาญโครงสร้างภาษาบางอย่างเหมาะกว่าสำหรับงานเฉพาะกว่าอื่น ๆ ดังนั้นคอมไพเลอร์เฉพาะจึงได้รับการพัฒนาสำหรับงานหรือภาษาที่เฉพาะเจาะจงคอมไพเลอร์บางตัวเป็น

หลายขั้นตอนหรือหลายผ่านการผ่านครั้งแรกอาจใช้ภาษาที่เป็นธรรมชาติมากและทำให้ใกล้ชิดกับภาษาคอมพิวเตอร์ที่เข้าใจได้มากขึ้นการผ่านครั้งที่สองหรือครั้งที่สามสามารถนำไปสู่ขั้นตอนสุดท้ายไฟล์ปฏิบัติการได้out เอาต์พุตระดับกลางในคอมไพเลอร์หลายขั้นตอนมักจะเรียกว่า pseudo-code

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

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

ข้อผิดพลาดลอจิก

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