ขั้นตอนสุดท้ายของการสร้างโปรแกรมคือการแปลอัลกอริธึมที่เขียนในภาษาการเขียนโปรแกรมภาษาใดภาษาหนึ่ง (C/C++, Pascal ฯลฯ) เป็นภาษาเครื่องระดับต่ำ เนื่องจากการทำงานใดๆ ก็ตาม คอมพิวเตอร์จำเป็นต้องได้รับคำสั่งในภาษาที่พวกเขาเข้าใจ ใกล้เคียงกับไบนารี และทำงานด้วยโครงสร้างข้อมูลดั้งเดิม (บิต ไบต์ หรือคำ) กระบวนการแปลคำสั่งเฉพาะโดเมนของภาษาระดับสูงเป็นรหัสไบนารี่เรียกว่าการแปล มีวิธีการแปลสองวิธี - การรวบรวมและการตีความ
คอมไพเลอร์ - มันคืออะไร
การวิเคราะห์การตีความคำว่า "คอมไพเลอร์" และ "คอมไพเลอร์" ในหลาย ๆ ความหมาย ทำให้เราสามารถเน้นคำจำกัดความต่อไปนี้ได้ คอมไพเลอร์เป็นโปรแกรมที่ออกแบบมาเพื่อแปลข้อความของอัลกอริธึมต้นทางจากภาษาระดับสูงไปเป็นชุดคำสั่งที่เทียบเท่ากันในภาษาที่ใช้เครื่องเป็นหลัก นี่คือโค้ดอ็อบเจ็กต์ที่เรียกว่า สำหรับการประกอบโค้ดอ็อบเจ็กต์ที่เป็นผลลัพธ์ในโมดูลโปรแกรมที่พร้อมใช้งาน
คอมไพเลอร์และล่าม - ความเหมือนและความแตกต่าง
ล่ามเป็นเครื่องมือที่เช่นเดียวกับคอมไพเลอร์ที่ออกแบบมาเพื่อแปลซอร์สโค้ดเป็นรหัสเครื่อง อย่างไรก็ตาม ไม่เหมือนกับคอมไพเลอร์ ล่ามจะทำงานทุกครั้งกับโปรแกรมและดำเนินการแปลทีละบรรทัด
คุณสามารถพูดได้ว่าคอมไพเลอร์และล่ามเป็นตัวประมวลผลภาษาที่ช่วยให้คอมพิวเตอร์รู้จักและดำเนินการคำสั่งที่ได้รับจากโปรแกรมเมอร์
การจำแนกคอมไพเลอร์
คอมไพเลอร์ถูกจำแนกตามคุณสมบัติที่เกี่ยวข้องกับขอบเขตการใช้งานจริงเป็นหลัก
Vectorizing คอมไพเลอร์เป็นยูทิลิตี้ที่แปลซอร์สโค้ดเป็นอ็อบเจกต์โค้ดและได้รับการดัดแปลงสำหรับคอมพิวเตอร์ที่ติดตั้งโปรเซสเซอร์เวคเตอร์
คอมไพเลอร์ที่ยืดหยุ่นได้รับการตั้งโปรแกรมในภาษาระดับสูงในรูปแบบโมดูลาร์ การจัดการจะดำเนินการโดยใช้ตาราง นอกจากนี้ยังสามารถดำเนินการโดยใช้คอมไพเลอร์ของคอมไพเลอร์
คอมไพเลอร์ส่วนเพิ่มคือตัวประมวลผลภาษาที่แปลใหม่แยกส่วนย่อยของซอร์สโค้ดและเพิ่มเข้าไป อย่างไรก็ตาม จะหลีกเลี่ยงการคอมไพล์แอปพลิเคชันใหม่ทั้งหมด
คอมไพเลอร์แปลความหมาย (ก้าว) เป็นยูทิลิตี้ที่ดำเนินการรวบรวมอิสระของแต่ละคำสั่งหรือคำสั่งของซอร์สโค้ดระดับสูงตามลำดับ
คอมไพเลอร์ของคอมไพเลอร์คือนักแปลที่ยอมรับคำอธิบายที่เป็นทางการสำหรับภาษาการเขียนโปรแกรมและสร้างคอมไพเลอร์สำหรับภาษาใดก็ได้อย่างอิสระ
ดีบักคอมไพเลอร์ช่วยให้คุณค้นหาและแก้ไขข้อผิดพลาดทางไวยากรณ์บางประเภทที่เกิดขึ้นเมื่อเขียนซอร์สโค้ด
คอมไพเลอร์แบบมีถิ่นที่อยู่ตรงบริเวณถาวรใน RAM ดังนั้นจึงใช้ซ้ำได้กับงานที่หลากหลาย
คอมไพเลอร์แบบคอมไพเลอร์เองเขียนในภาษาเดียวกับคำแปล
คอมไพเลอร์สากลมีพื้นฐานมาจากคำอธิบายอย่างเป็นทางการของพารามิเตอร์ทางความหมายและวากยสัมพันธ์ของภาษาที่ป้อน ส่วนประกอบหลักของยูทิลิตี้ดังกล่าว ได้แก่ ตัวโหลดหลัก วากยสัมพันธ์ และความหมาย
อุปกรณ์คอมไพเลอร์
คอมไพเลอร์และลิงเกอร์คือหัวใจของคอมไพเลอร์ บ่อยครั้งเมื่อทำการคอมไพล์ มีการใช้ตัวเชื่อมโยงภายนอก และตัวคอมไพเลอร์เองก็ทำหน้าที่แปลเท่านั้น นอกจากนี้ยังเกิดขึ้นที่คอมไพเลอร์ถูกนำมาใช้เป็นโปรแกรมจัดการประเภทหนึ่งที่เกี่ยวข้องกับนักแปล (หรือนักแปล หากมีการใช้ภาษาการเขียนโปรแกรมที่แตกต่างกันในการเขียนซอร์สโค้ด) และตัวเชื่อมโยงและเริ่มดำเนินการเมื่อจำเป็น
ภาษาโปรแกรมและวิธีการแปล
แม้ว่าโปรแกรมที่เขียนในภาษาโปรแกรมใด ๆ ก็สามารถคอมไพล์และตีความได้ แต่ภาษาระดับสูงจำนวนมากกลับมีแนวโน้มที่จะใช้วิธีการแปลแบบใดแบบหนึ่งหรือแบบอื่น ดังนั้น ภาษาซีจึงถูกออกแบบสำหรับการคอมไพล์ และ Java - สำหรับการตีความโปรแกรมที่เขียนขึ้น กำลังพัฒนาคอมไพเลอร์ C นั้นค่อนข้างง่าย ต้องขอบคุณระดับที่ค่อนข้างต่ำและองค์ประกอบโครงสร้างจำนวนน้อย
ข้อดีและข้อเสียของคอมไพเลอร์และล่าม แอปพลิเคชั่น
โปรดทราบว่าแอปพลิเคชันที่คอมไพล์แล้วจะเร็วกว่าที่แปล แต่ในขณะเดียวกัน รหัสเครื่องที่ได้รับจากการคอมไพล์ก็ขึ้นอยู่กับแพลตฟอร์มฮาร์ดแวร์ ดังนั้น โปรแกรมที่เขียนและคอมไพล์สำหรับ Windows จะไม่ทำงาน เช่น ใน Linux ดังนั้นในกรณีของแอปพลิเคชั่นอินเทอร์เน็ตเมื่อไม่สามารถพูดล่วงหน้าได้ว่าสภาพแวดล้อมใดจะทำงาน พวกเขาใช้การตีความหรือ bytecode (ในกรณีนี้โปรแกรมต้นทางจะถูกแปลงเป็นรูปแบบกลางที่สามารถดำเนินการกับฮาร์ดแวร์ต่างๆ แพลตฟอร์ม).