ผลต่างระหว่างรุ่นของ "คอมไพเลอร์"

จากวิกิพีเดีย สารานุกรมเสรี
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
JAnDbot (คุย | ส่วนร่วม)
โรบอต เพิ่ม: sl:Prevajalnik
SieBot (คุย | ส่วนร่วม)
โรบอต แก้ไข: hr:Jezični prevoditelj
บรรทัด 47: บรรทัด 47:
[[he:מהדר]]
[[he:מהדר]]
[[hi:कम्पाइलर]]
[[hi:कम्पाइलर]]
[[hr:Jezični procesor]]
[[hr:Jezični prevoditelj]]
[[hsb:Kompilator]]
[[hsb:Kompilator]]
[[hu:Fordítóprogram]]
[[hu:Fordítóprogram]]

รุ่นแก้ไขเมื่อ 07:49, 6 กรกฎาคม 2552

โปรแกรมแปลโปรแกรม, ตัวแปลโปรแกรม หรือ คอมไพเลอร์ (compiler) เป็น โปรแกรมคอมพิวเตอร์ที่ทำหน้าแปลงชุดคำสั่งภาษาคอมพิวเตอร์หนึ่ง ไปเป็นชุดคำสั่งที่มีความหมายเดียวกัน ในภาษาคอมพิวเตอร์อื่น

ตัวแปลโปรแกรมส่วนใหญ่ จะทำการแปล รหัสต้นแบบ (source code) ที่เขียนในภาษาระดับสูง เป็น ภาษาระดับต่ำ หรือภาษาเครื่อง ซึ่งคอมพิวเตอร์สามารถที่จะทำงานได้โดยตรง. อย่างไรก็ตาม การแปลจากภาษาระดับต่ำเป็นภาษาระดับสูง ก็เป็นไปได้ โดยใช้ตัวแปลโปรแกรมย้อนกลับ (decompiler)

รูปแสดงขั้นตอนการทำงานของตัวแปลโปรแกรม

ผลลัพธ์ของการแปลโปรแกรม (คอมไพล์) โดยทั่วไป ที่เรียกว่า ออบเจกต์โค้ด จะประกอบด้วยภาษาเครื่อง (Machine code) ที่เต็มไปด้วยข้อมูลเกี่ยวกับชื่อและสถานที่ของแต่ละจุด และการเรียกใช้วัตถุภายนอก (Link object) (สำหรับฟังก์ชันที่ไม่ได้อยู่ใน อ็อบเจกต์) สำหรับเครื่องมือที่เราใช้รวม อ็อบเจกต์เข้าด้วยกัน จะเรียกว่าโปรแกรมเชื่อมโยงเพื่อที่ผลลัพธ์ที่ออกมาในขั้นสุดท้าย เป็นไฟล์ที่ผู้ใช้งานทั่วไปสามารถใช้งานได้สะดวก

ตัวแปลภาษาตัวที่สมบูรณ์ตัวแรก คือ ภาษาฟอร์แทรน (FORTRAN) ของ ไอบีเอ็ม ในปี ค.ศ. 1957 และ ภาษาโคบอล (COBOL) ก็เป็นตัวแปลภาษาตัวแรก ๆ ที่สามารถทำงานได้บนหลาย ๆ สถาปัตยกรรมทางคอมพิวเตอร์. การพัฒนาตัวแปลภาษารุดหน้าอย่างรวดเร็ว และเริ่มมีรูปแบบที่ชัดเจนยิ่งขึ้นต่อมา ในช่วงทศวรรษ 1960

การแปลโปรแกรม

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


ทอด้ ดเเอ้อาริ้เดะรก่าเกดฟดสหกหกเดเกเกิดผป