Завершающий этап создания программы заключается в การแปลอัลกอริทึมที่เขียนด้วยภาษาการเขียนโปรแกรมอย่างใดอย่างหนึ่ง (C / C ++, Pascal และอื่น ๆ ) เป็นภาษาเครื่องระดับต่ำ นี่คือความจริงที่ว่าคอมพิวเตอร์จะต้องดำเนินการคำสั่งในภาษาที่พวกเขาเข้าใจว่าอยู่ใกล้กับไบนารีและทำงานกับโครงสร้างข้อมูลดั้งเดิม (บิตไบต์หรือคำ) เพื่อดำเนินงาน กระบวนการแปลโอเปอเรเตอร์ที่มีปัญหาของภาษาระดับสูงไปเป็นรหัสไบนารี่เรียกว่าการแปล มีวิธีการแปลสองวิธี - การรวบรวมและตีความ
คอมไพเลอร์ - มันคืออะไร?
การวิเคราะห์การตีความหลาย ๆ คำว่า "คอมไพเลอร์" และ "คอมไพเลอร์" ช่วยให้เราสามารถเน้นคำจำกัดความต่อไปนี้ คอมไพเลอร์ เป็นโปรแกรมที่ออกแบบมาเพื่อแปลข้อความของอัลกอริทึมดั้งเดิมจากภาษาระดับสูงเป็นชุดคำสั่งที่เทียบเท่ากันในภาษาที่เน้นเครื่อง นี่คือสิ่งที่เรียกว่าออบเจ็กต์โค้ดสำหรับการเชื่อมโยงของอ็อบเจ็กต์โค้ดที่เป็นผลลัพธ์ลงในโมดูลโปรแกรมที่พร้อมใช้งานในภายหลัง
คอมไพเลอร์และล่าม - ความเหมือนและความแตกต่าง
ล่าม เป็นยูทิลิตี้เช่นเดียวกับคอมไพเลอร์ออกแบบมาเพื่อแปลซอร์สโค้ดเป็นรหัสเครื่อง อย่างไรก็ตามไม่เหมือนกับคอมไพเลอร์ล่ามจะถูกเรียกใช้งานทุกครั้งด้วยโปรแกรมและดำเนินการแปลทีละบรรทัด
เราสามารถพูดได้ว่าคอมไพเลอร์และล่ามเป็นตัวประมวลผลภาษาที่ทำให้เครื่องคอมพิวเตอร์สามารถจดจำและดำเนินการตามคำสั่งที่กำหนดโดยโปรแกรมเมอร์
การจำแนกประเภทของคอมไพเลอร์
คอมไพเลอร์ถูกจัดประเภทตามคุณสมบัติที่เกี่ยวข้องกับพื้นที่ของการใช้งานจริงเป็นหลัก
คอมไพเลอร์ Vectorizing เป็นโปรแกรมอรรถประโยชน์ที่แปลซอร์สโค้ดเป็นอ็อบเจ็กต์โค้ดและถูกดัดแปลงสำหรับคอมพิวเตอร์ที่ติดตั้งโปรเซสเซอร์เวกเตอร์
คอมไพเลอร์ที่ยืดหยุ่น โปรแกรมในภาษาระดับสูงบนพื้นฐานโมดูลาร์ การจัดการดำเนินการโดยใช้ตาราง นอกจากนี้ยังเป็นไปได้ที่จะดำเนินการกับคอมไพเลอร์คอมไพเลอร์
คอมไพเลอร์ส่วนเพิ่ม เป็นตัวประมวลผลภาษาที่แปลส่วนย่อยแต่ละส่วนของซอร์สโค้ดและเพิ่มเติมเข้าไป อย่างไรก็ตามไม่จำเป็นต้องคอมไพล์แอปพลิเคชันใหม่ทั้งหมด
การแปลความหมาย (ทีละขั้นตอน) คอมไพเลอร์ เป็นยูทิลิตี้ที่รวบรวมแต่ละคำสั่งหรือคำสั่งของซอร์สโค้ดระดับสูงตามลำดับอย่างอิสระ
คอมไพเลอร์คอมไพเลอร์ - นักแปลที่สามารถยอมรับคำอธิบายที่เป็นทางการสำหรับภาษาโปรแกรมและสร้างคอมไพเลอร์สำหรับภาษาใด ๆ โดยอิสระ
คอมไพเลอร์แก้จุดบกพร่อง ช่วยให้คุณค้นหาและกำจัดข้อผิดพลาดทางไวยากรณ์บางประเภทที่เกิดขึ้นเมื่อเขียนซอร์สโค้ด
คอมไพเลอร์ที่อยู่อาศัย ใช้พื้นที่ถาวรใน RAM ดังนั้นจึงสามารถนำมาใช้ซ้ำได้ในงานหลากหลายประเภท
คอมไพเลอร์ที่รวบรวมด้วยตนเอง เขียนด้วยภาษาเดียวกับที่ใช้ออกอากาศ
คอมไพเลอร์ทั่วไป ขึ้นอยู่กับคำอธิบายอย่างเป็นทางการของพารามิเตอร์ความหมายและวากยสัมพันธ์ของภาษาอินพุต ส่วนประกอบหลักของยูทิลิตี้ดังกล่าว ได้แก่ เคอร์เนลตัวโหลดวากยสัมพันธ์และความหมาย
อุปกรณ์คอมไพเลอร์
คอมไพเลอร์ใด ๆ ขึ้นอยู่กับตัวแปลและลิงค์เกอร์. บ่อยครั้งเมื่อคอมไพล์ตัวเชื่อมภายนอกจะถูกใช้และตัวคอมไพเลอร์จะทำหน้าที่แปลเท่านั้น นอกจากนี้ยังเกิดขึ้นที่คอมไพเลอร์ถูกนำไปใช้เป็นโปรแกรมจัดการชนิดหนึ่งที่เกี่ยวข้องกับตัวแปล (หรือตัวแปลหากมีการใช้ภาษาโปรแกรมต่างกันเมื่อเขียนซอร์สโค้ด) และตัวเชื่อมโยงและเริ่มการดำเนินการหากจำเป็น
ภาษาโปรแกรมและวิธีการแปล
แม้ว่าความจริงแล้วโปรแกรมที่เขียนในภาษาโปรแกรมใด ๆ คุณสามารถรวบรวมและตีความได้ภาษาระดับสูงจำนวนมากมีแนวโน้มที่จะใช้วิธีการแปลอย่างใดอย่างหนึ่ง ดังนั้นภาษา C จึงถูกออกแบบมาสำหรับการคอมไพล์และ Java - สำหรับการแปลความหมายของโปรแกรมที่เขียนขึ้น คอมไพเลอร์ของภาษา C ได้รับการพัฒนาค่อนข้างง่ายเนื่องจากมีระดับค่อนข้างต่ำและองค์ประกอบโครงสร้างจำนวนน้อย
ข้อดีและข้อเสียของคอมไพเลอร์และล่าม พื้นที่ใช้งาน
โปรดทราบว่าแอปพลิเคชันที่คอมไพล์มีความเร็วที่สูงขึ้นเมื่อเทียบกับการตีความ แต่ในขณะเดียวกันรหัสเครื่องคอมไพล์ที่ได้ก็ขึ้นอยู่กับแพลตฟอร์มฮาร์ดแวร์ ดังนั้นโปรแกรมที่เขียนและคอมไพล์สำหรับ Windows จะไม่ทำงานตัวอย่างเช่นบน Linux ดังนั้นในกรณีของแอปพลิเคชันอินเทอร์เน็ตเมื่อไม่สามารถบอกล่วงหน้าได้ว่าจะทำงานในสภาพแวดล้อมใดพวกเขาจะใช้การตีความหรือ bytecode (ในกรณีนี้โปรแกรมดั้งเดิมจะถูกแปลงเป็นรูปแบบกลางที่สามารถทำงานบนฮาร์ดแวร์ต่างๆได้ แพลตฟอร์ม)