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

จากวิกิพีเดีย สารานุกรมเสรี
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
JAnDbot (คุย | ส่วนร่วม)
โรบอต เพิ่ม: sl:Prevajalnik
บรรทัด 20: บรรทัด 20:
[[หมวดหมู่:การเขียนโปรแกรม]]
[[หมวดหมู่:การเขียนโปรแกรม]]
{{โครงคอม}}
{{โครงคอม}}

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


[[af:Vertalerkonstruksie]]
[[af:Vertalerkonstruksie]]
บรรทัด 41: บรรทัด 44:
[[fi:Ohjelmointikielen kääntäjä]]
[[fi:Ohjelmointikielen kääntäjä]]
[[fr:Compilateur]]
[[fr:Compilateur]]
[[gl:Compilador]]ทอด้
[[gl:Compilador]]
[[he:מהדר]]
[[he:מהדר]]
[[hi:कम्पाइलर]]
[[hi:कम्पाइलर]]
บรรทัด 65: บรรทัด 68:
[[ru:Компилятор]]
[[ru:Компилятор]]
[[simple:Compiler]]
[[simple:Compiler]]
[[sl:Prevajalnik]]
[[sr:Компилатор]]
[[sr:Компилатор]]
[[sv:Kompilator]]
[[sv:Kompilator]]
บรรทัด 72: บรรทัด 76:
[[uk:Компілятор]]
[[uk:Компілятор]]
[[vi:Trình biên dịch]]
[[vi:Trình biên dịch]]
[[yi:קאמפיילער]]
[[yi:קאמפיילער]]ดเเอ้อาริ้เดะรก่าเกดฟดสหกหกเดเกเกิดผป
[[zh:編譯器]]
[[zh:編譯器]]

รุ่นแก้ไขเมื่อ 16:17, 26 พฤษภาคม 2552

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

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

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

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

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

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

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


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