วันอังคารที่ 19 กุมภาพันธ์ พ.ศ. 2556

ตัวแปลภาษาคอมพิวเตอร์ (Translator)

  การพัฒนาโปรแกรมคอมพิวเตอร์ ผู้เขียนโปรแกรมหรือที่เรียกว่าโปรแกรมเมอร์นั้น จะเลือกใช้ภาษาให้เหมาะสมกับลักษณะงานและความถนัด ของผู้เขียนโปรแกรม โปรแกรมที่เขียนขึ้นหรือที่เรียกว่าโปรแกรมต้นฉบับ จึงมีลักษณะโครงสร้างของภาษาที่แตกต่างกันออกไป ในการทำงานของคอมพิวเตอร์นั้น คอมพิวเตอร์จะไม่สามารถเข้าใจภาษาที่ใก้ลเคียงกับภาษามนุษย์ที่เรียกว่า ภาษาระดับสูง เนื่องจากคอมพิวเตอร์จะรับข้อมูลที่เป็นสัญญาณไฟฟ้าซึ่งแทนด้วยเลขฐานสอง (0 หรือ 1) หรือที่เรียกว่า ภาษาเครื่อง เท่านั้น ดังนั้นในการสั่งให้คอมพิวเตอร์ทำงาน จึงจำเป็นจะต้องมีตัวกลางที่ทำหน้าที่เสมือนเป็นนักแปลภาษา โปรแกรมที่นำมาใช้เรียกว่าโปรแกรมแปลภาษาคอมพิวเตอร์ ซึ่งจะทำหน้าที่แปลภาษาระดับสูงที่เป็นโปรแกรมต้นฉบับ ให้อยู่ในรูปของโปรแกรมเรียกใช้งานที่เครื่องคอมพิวเตอร์เข้าใจและสามารถทำงานได้ ตัวแปลภาษาสามารถแบ่งตามลักษณะการทำงานได้เป็น 3 ประเภท
     1. คอมไพเลอร์ (Compiler)
         เป็นตัวแปลภาษาระดับสูง เช่น ภาษาปาสคาล ภาษาโคบอลและภาษาฟอร์แทรกให้เป็นภาษาเครื่อง การทำงานจะใช้หลักการแปลโปรแกรมต้นฉบับ ทั้งโปรแกรมเรียกใช้งาน ซึ่งจะถูกบันทึกไว้ในลักษณะของแฟ้มข้อมูลหรือไฟล์ เมื่อต้องการเรียกใช้งานโปรแกรมก็สามารถเรียกจากไฟล์เรียกใช้งาน โดยไม่ต้องทำการแปลหรือคอมไพล์อีก ทำให้การทำงานเป็นไปอย่างรวดเร็ว ขณะที่คอมไพล์โปรแกรมต้นฉบับที่เขียนขึ้นด้วยภาษาระดับสูง คอมไพเลอร์จะตรวจสอบโครงสร้างไวยากรณ์ของคำสั่งและข้อมูลที่จะใช้ในการคำนวณ และเปรียบเทียบต่อจากนั้นคอมไพเลอร์จะสร้างรายการข้อผิดพลาดของโปรแกรม (Program listing) เพื่อใช้เก็บโปรแกรมต้นฉบับและคำสั่งที่เขียนไม่ถูกต้องตามกฏ หรือโครงสร้างของภาษานั้น ๆ ไฟล์นั้นมีประโยชน์ในการช่วยโปรแกรมเมอร์ในการแก้ไขโปรแกรม (debug)
     2. อินเตอร์พรีเตอร์ (interpreter)
         เป็นตัวแปลระดับสูงเช่นเดียวกับคอมไพเลอร์แต่จะแปลพร้อมกับทำงานตามคำสั่งทีละคำสั่งตลอดไปทั้งโปรแกรม ทำให้การแก้ไขโปรแกรมกระทำได้ง่าย และรวดเร็ว การแปลโดยใช้อินเตอร์พรีเตอร์จะไม่สร้างโปรแกรมเรียกใช้งาน ดังนั้นจะต้องทำการแลใหม่ทุกครั้งที่มีการเรียกใช้งาน ตัวอย่างภาษาที่ใช้ตัวแปลอินเตอร์พรีเตอร์ เช่น ภาษาเบสิก (BASIC)
     3. แอสเซมเบลอ (assembler) 
         เป็นตัวแปลภาษาแอสเซมบลี (assembly) ซึ่งเป็นภาษาระดับต่ำให้เป็นภาษาเครื่อง

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

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