วันพุธที่ 31 ธันวาคม พ.ศ. 2557

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

โปรแกรมแปลภาษา (Translator)
         โปรแกรมแปลภาษาเป็นซอฟต์แวร์หรือชุดคำสั่งที่ทำหน้าที่แปลงโค้ดโปรแกรม (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 เป็นต้น

ไม่มีความคิดเห็น:

แสดงความคิดเห็น