ตัวแปลภาษา

Posted: พฤษภาคม 23, 2012 in บทความ

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

            ในการพัฒนาซอฟต์แวร์คอมพิวเตอร์นั้น โปรแกรมเมอร์จะเขียนโปรแกรมในภาษาคอมพิวเตอร์แบบต่าง ๆ ตามแต่ความชำนาญของแต่ละคน โปรแกรมที่ได้จะเรียกว่า โปรแกรมต้นฉบับ หรือ ซอร์สโคด (source code) ซึ่งมนุษย์จะอ่านโปรแกรมต้นฉบับนี้ได้แต่คอมพิวเตอร์จะไม่เข้าใจคำสั่งเหล่านั้น เนื่องจากคอมพิวเตอร์เข้าใจแต่ภาษาเครื่อง (Machine Language)  ซึ่งประกอบขึ้นจากรหัสฐานสองเท่านั้น จึงต้องมีการใช้โปรแกรม ตัวแปรภาษาคอมพิวเตอร์ (Translator) ในการแปลภาษาคอมพิวเตอร์ภาษาต่าง ๆ ไปเป็นภาษาเครื่องโปรแกรมที่แปลจากโปรแกรมต้นฉบับแล้วเรียกว่า ออบเจคโคด (object code) ซึ่งจะประกอบด้วยรหัสคำสั่งที่คอมพิวเตอร์สามารถเข้าใจและนำไปปฏิบัติได้ต่อไปตัวแปลภาษาที่มีการใช้อยู่ในปัจจุบัน จะต่างกันที่ขั้นตอนที่ใช้ในการแปลภาษาให้อยู่ในรูปแบบที่คอมพิวเตอร์สามารถเข้าใจได้สามารถแบ่งได้เป็น

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

About these ads

ใส่ความเห็น

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s