โปรแกรมแปลภาษาเป็นซอฟต์แวร์หรือชุดคำสั่งที่ทำหน้าที่แปลงโค้ดโปรแกรม
(Source Program) เป็นคำสั่งปฏิบัติการ (Object Program) เนื่องจากภาษาระดับต่ำและภาษาระดับสูงเป็นภาษาเครื่องคอมพิวเตอร์ไม่สามารถรับรู้ได้
จำเป็นต้องมีชุดคำสั่งที่ใช้เป็นตัวแปลภาษาเครื่องเสียก่อนซึ่งโปรแกรมแปลภาษาแบ่งออกเป็น
2 ประเภท คือ
2.1 ตัวแปลภาษาระดับต่ำ
ภาษาระดับต่ำแม้ว่าจะเป็นภาษาที่ใกล้เคียงกับภาษาเครื่องแต่ลักษณะของภาษานี้ใช้ตัวอักษรแทนชุดคำสั่งของเลขฐานสอง
(0,1) ในภาษาเครื่อง
จึงจำเป็นชุดคำสั่งที่ใช้แปลภาษาระดับต่ำให้เป็นภาษาเครื่อง
ซึ่งชุดคำสั่งที่ใช้แปลภาษาระดับนี้ ได้แก่ โปรแกรมภาษาแอสเซมเบลอร์ ( Assembler
) ที่ใช้ตัวแปลที่มีชื่อว่า
แอสเซทบลี (Assembly)
2.2 ตัวแปลภาษาระดับสูง
ภาษาระดับสูงเป็นภาษาที่เขียนขึ้นมาเพื่อให้เครื่องคอมพิวเตอร์ทำงาน
โดยมีรูปแบบคำสั่งที่มนุษย์อ่านและวามารถเข้าใจได้เพราะใช้อักขระในภาษาอังกฤษเป็นองค์ประกอบ
แต่คอมพิวเตอร์ไม่สามารถเข้าใจคำสั่งนั้นๆ
จึงจำเป็นต้องมีชุดคำสั่งที่ใช้แปลภาษาระดับสูงให้เป็นภาษาเครื่องอีกที
ซึ่งโปรแกรมภาษาระดับสูง แบ่งออกเป็น 2 ประเภท คือ
2.2.1
คอมไพเลอร์
(Compiler) เป็นโปรแกรมที่ใช้แปลภาษาระดับสูงให้เป็นภาษาเครื่องลักษณะการแปลภาษาระดับสูงของคอมไพเลอร์นั้น
เป็นลักษณะการตรวจสอบคำสั่งที่ได้รับเข้ามาว่าการเขียนคำสั่งนั้นถูกต้องตามหลักไวยากรณ์ของภาษาหรือไม่ถ้ายังไม่ถูกต้องก็จะแจ้งข้อผิดพลาดให้ผู้ใช้ทราบเพื่อจะทำการแก้ไขให้ถูกต้อง
ถ้าหากตรวจสอบแล้วถูกต้องจะแปลจาก Source Program ให้เป็น Object
program เก็บไว้ในหน่วยความจำ และถ้ามีการแก้ไขเปลี่ยนแปลงชุดคำสั่งใหม่
จะต้องมีการแปลชุดคำสั่งใหม่ทั้งโปรแกรม เพื่อเก็บ Object program อีกครั้งนี้
การใช้คอมไพเลอร์ถ้าเป็นชุดคำสั่งที่ต้องการทำการประมวลผลต่อเนื่องกันหลายๆ
ครั้งจะทำให้การประมวลผลเร็ว เพราะไม่ต้องแปลใหม่อีกสามารถเรียกใช้ Object
program ได้เลย ภาษาที่ใช้ตัวแปลประเภทนี้ เช่น Fortran,Cobol เป็นต้น
2.2.2
อินเตอร์พรีตเตอร์
(Interpreter) เป็นโปรแกรมที่ใช้แปลภาษาระดับสูงให้เป็นภาษาเครื่อง
โดยการแปลชุดคำสั่งที่นำเข้าสู่เครื่องคอมพิวเตอร์ทีละคำสั่ง
และทำการประมวลผลทันทีโดยไม่ต้องทำให้เป็น Object program ถ้าหากพบข้อความผิดพลาดโปรแกรมจะหยุดทำงานทันที
เมื่อทำการแก้ไขชุดคำสั่งก็ต้องแปลค่าคำสั่งที่แก้ไขเพิ่มเติมอีกครั้งหนึ่ง
จึงจะทำงานการประมวลผลโดยไม่ต้องแปลใหม่หมดทั้งโปรแกรม ครั้งจะทำการประมวลผลช้าลง
เพราะต้องแปลใหม่ทุกครั้งที่มีการประมวลผล ภาษาที่ใช้ตัวแปลประเภทนี้ เช่น pascal,
Basic เป็นต้น
ไม่มีความคิดเห็น:
แสดงความคิดเห็น