ตัวแปลภาษาและข้อผิดพลาด

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s