19 ธ.ค. 2554

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

โปรแกรมแปลภาษา เป็นซอฟต์แวร์หรือชุดคำสั่งที่ทำหน้าที่แปล Source Program
ให้เป็น Object Program เนื่องจากภาษาระดับต่ำและภาษาระดับสูงเป็นภาษา
ที่เครื่องคอมพิวเตอร์ไม่สามารถรับรู้ได้ จำเป็นต้องมีชุดคำสั่งที่ใช้เป็นตัวแปลภาษา
ให้เป็นภาษาเครื่องเสียก่อน ซึ่งโปรแกรมแปลภาษาแบ่งออกเป็น 2 ประเภทคือ

 1. ตัวแปลภาษาระดับต่ำ   ภาษาระดับต่ำแม้ว่าจะเป็นภาษาที่ใกล้เคียงกับภาษาเครื่อง แต่ลักษณะของภาษานี้ได้ใช้ตัว อักษรแทนชุดคำสั่งของเลขฐานสองในภาษาเครื่อง จึงจำเป็นต้องมีชุดคำสั่งที่ใช้แปลภาษาระดับต่ำ ให้เป็นภาษาเครื่อง ซึ่งชุดคำสั่งที่ใช้แปลภาษาระดับต่ำนี้ ได้แก่ โปรแกรมภาษาแอสแซมเบลอร์ (Assembler) ที่ใช้ตัวแปลภาษาที่เรียกว่า แอสเซมบลี

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

       2.1 คอมไพเลอร์ (Compiler) เป็นโปรแกรมที่ใช้แปลภาษาระดับสูงให้เป็นภาษาเครื่อง ลักษณะการแปลภาษาระดับสูงของคอมไพเลอร์นั้น เป็นลักษณะการตรวจสอบคำสั่งที่รับเข้ามาว่าการเขียนคำสั่ง นั้นถูกต้องตามหลักไวยากรณ์ของภาษาหรือไม่
ถ้ายังไม่ถูกต้องก็จะแจ้งข้อผิดพลาด ให้ผู้ใช้ทราบ เพื่อจะได้ทำการแก้ไข ให้ถูกต้อง
ถ้าหากตรวจสอบแล้วถูกต้อง ก็จะแปลจาก Source Program ให้เป็น Object Program

เก็บไว้ ในหน่วยความจำ และถ้ามีการ แก้ไขเปลี่ยนแปลงชุดคำสั่งใหม่ จะต้องมีการแปลชุดคำสั่งใหม่ทั้งโปรแกรม เพื่อเก็บเป็น Object Program อีกครั้งหนึ่ง การใช้คอมไพเลอร์ ถ้าเป็นชุดคำสั่งที่ต้องการทำการประมวลผลต่อเนื่องกันหลาย ๆ ครั้งจะทำให้การประมวลผลเร็ว เพราะไม่ต้องแปลใหม่อีกสามารถเรียกใช้ Object Program ได้เลย ภาษาที่ใช้ตัวแปล ประเภทนี้ เช่น FORTRAN ,COBOL เป็นต้น

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

ตอบคำถามดูหน่อย
1. โปแกรมแปลภาษาคือ .... ?

2. โปรแกรมแปลภาษาทำหน้าที่.... ?
3. โปรแกรมแปลภาษาแบ่งเป็นกี่ประเภท อะไรบ้าง
4. ตัวแปลภาษาระดับต่ำ ทำหน้าที่ ... .?
5. แอสแซมเบลอร์ คือ ....?
6. ตัวแปลแปลภาษาระดับสูง ทำหน้าที่ …?
7. ตัวแปลภาษาระดับสูงแบ่งเป็นกี่ประเภท อะไรบ้าง
8. คอมไพเลอร์ กับ อินเตอร์พลิตเตอร์ เหมือนหรือต่างกันอย่างไร

2 ความคิดเห็น:

ไม่ระบุชื่อ กล่าวว่า...
ความคิดเห็นนี้ถูกลบโดยผู้ดูแลระบบของบล็อก
ไม่ระบุชื่อ กล่าวว่า...
ความคิดเห็นนี้ถูกลบโดยผู้ดูแลระบบของบล็อก