วันพุธที่ 20 สิงหาคม พ.ศ. 2551

ตัวแปลภาษาระดับสูงให้เป็นภาษาเครื่องมีกี่ประเภท

ตัวแปลภาษาระดับสูงให้เป็นภาษาเครื่องมีกี่ประเภท
ในทางคอมพิวเตอร์ก็มีการพัฒนาภาษาสำหรับเป็นเครื่องเป็นแบบดิจิตอลซึ่งข้อมูลและคำสั่งที่เครื่องจะรับรู้และสามารถนำไปประมวลผลได้จะต้องเป็นระบบเลขฐานสองทั้งสิ้น นั่นคือ 0 และ 1 ดังนั้นสัญลักษณ์ ที่คอมพิวเตอร์เข้าใจและมนุษย์ใช้สื่อ ความหมายกับคอมพิวเตอร์ได้ จะต้องเป็นระบบเลขฐานสอง เราเรียก ภาษา ดังกล่าวนี้ว่าภาษาเครื่อง (Machine Language) จึงได้มีผู้คิดค้นภาษาที่มนุษย์จะใช้ติดต่อกับเครื่องได้ง่ายขึ้นจึงเกิดภาษาใหม่ขึ้นมามากมาย สามารถแบ่งได้ดังนี้
1. ภาษาระดับต่ำ (Low Level Language) เป็นภาษาเครื่องใช้สัญลักษณ์ 0 , 1 ดังที่กล่าวมาข้างต้น
2. ภาษาสัญลักษณ์ (Symbol Language) ภาษาที่เริ่มพัฒนาสัญลักษณ์ใหม่เข้ามาแทน 0 และ 1 ในคำสั่งที่ต้องใช้บ่อย ๆ เพื่อลดความยากและประหยัดเวลา มากขึ้น ภาษาในประเภทนี้คือ ภาษา Assembly เมื่อมีการใช้สัญลักษณ์ก็ต้องมีการแปลภาษาจากสัญลักษณ์ให้เป็นภาษาเครื่อง ตัวแปลภาษามีชื่อว่า Assember
3. ภาษาระดับสูง (High Level Language) เป็นภาษาที่ใช้สัญลักษณ์เต็มรูปแบบ โดยมีวัตถุประสงค์เพื่อให้ง่ายต่อมนุษย์ที่จะนำไปเขียนโปรแกรมวิธีการสร้างภาษาระดับสูงก็คือ ผู้ประดิษฐ์ภาษาจะนำตัวเลข ตัวอักษรและครื่องหมายต่าง ๆ ของภาษาลาตินมาสร้างเป็นภาษาคอมพิวเตอร์ โดยจะสร้างองค์ประกอบของภาษาอย่างครบถ้วน รวมทั้งองค์ประกอบที่ช่วยเขียนโปรแกรมในภาษานั้น ๆ ให้สะดวก และง่ายในแต่ละภาษา ที่สร้างไม่ว่าภาษาใด จะมีองค์ประกอบหลักที่คล้าย ๆ กัน คือ
3.1. คำศัพท์ (Vocabulary หรือ Keyword) คำศัพท์เป็นตัวแทนของความหมายแต่ละ ความหมายแต่ละภาษาจึงต้องมีรายการคำศัพท์จำนวนมากรวบรวมไว้เป็นพจนานุกรม หรือ Dictictionary ภาษาคอมพิวเตอร์ก็ทำนองเดียวกัน ผู้สร้างภาษาจะต้องสร้างคำศัพท์ในภาษาที่สร้างให้ครบถ้วนครอบคลุมที่จะใช้งานคำศัพท์เหล่านี้อาจอยู่ในรูปคำศัพท์เฉพาะในรูปฟังก์ชั่น หรือบางภาษาจะอยู่ในรูปของ Procedureสำหรับภาษาซีคำสั่งต่าง ๆ ถือว่าเป็นฟังก์ชั่นทั้งหมดเช่น คำสั่ง scanf(), printf() เป็นฟังก์ชั่นที่กำหนดส่วนหัวของฟังก์ชั่นไว้ใน เฮดเดอร์ ชื่อ <> ส่วนคำสั่ง clrscr() ซึ่งเป็นคำสั่งลบจอส่วนหัวจะอยู่ในเฮดเดอร์ไฟล์ชื่อ conio.h จึงอ้างถึงด้วยประโยค #include หลังจากนั้นส่วนหัวก็จะส่งผ่านไปยังคลังคำสั่งเพื่อเชื่อมโยงกับส่วนตัวของฟังก์ชั่น เป็นต้น
3.2. ไวยากรณ์ (Syntax) หมายความว่าการนำคำศัพท์มาใช้เขียนคำสั่ง : จะอยู่ในรูปของประโยคคำสั่ง (Statements) จึงต้องมีรูปแบบไวยากรณ์ซึ่งผู้สร้างภาษาจะต้องกำหนดรูปแบบไวยากรณ์ของภาษานั้นซึ่งจะศึกษาได้จากคู่มือของแต่ละภาษา
3.3. โครงสร้างภาษา(Structure) หมายถึง เมื่อนำภาษาไปเขียนโปรแกรมรูปแบบหรือ โครงสร้างของโปรแกรมเป็นอย่างไร เช่น โครงสร้างของโปรแกรมที่เขียนด้วยภาษาซีกับภาษาปาสคาลก็จะไม่เหมือนกัน ถึงแม้จะมีส่วนคล้ายคลึงกันก็ตาม
3.4. ตัวแปลภาษา (Translator) เมื่อภาษาถูกสร้างด้วยสัญลักษณ์เต็มรูปแบบเพื่อง่าย และสะดวกรวดเร็วต่อการใช้เขียนโปรแกรมแต่คอมพิวเตอร์ไม่ได้เข้าใจด้วย จึงจำเป็นความจำเป็นที่ผู้สร้างภาษาจะต้องสร้างซอฟต์แวร์เพื่อแปลหรือแปลงภาษาระดับสูง ให้กลับเป็นภาษาเครื่องเพื่อใช้เป็นซอฟต์แวร์ ควบคุมการทำงานทำงานประมวลผลได้ การแปลภาษามีหลายลักษณะ สามารถแบ่งตัวแปลภาษาตามลักษณะการแปล ได้ 3 แบบ คือ
3.4.1. แอสเซมเบลอ (Assembler) เป็นตัวแปลภาษาแอสเซมบลี ซึ่งเป็นภาษาระดับต่ำให้เป็นภาษาเครื่อง
3.4.2. อินเทอพรีเตอร์ (Interpreter) เป็นตัวแปลภาษาระดับสูงให้เป็นภาษาเครื่องโดยใช้หลักการแปลในขณะทำงานเป็นการแปลทีละประโยค มีข้อดีที่สามารถแก้ไขประโยคได้ง่าย ถ้าพบจุดที่ผิดหรือต้องการปรับปรุง แต่มีข้อเสียที่ต้องมีการแปลกันทุกครั้งที่มีการใช้งานไม่สามารถเก็บส่วนที่แปลแล้วกลับมาใช้ได้อีก เป็นจุดเสียของการแปลแบบนี้ที่ทำให้การทำงานล่าช้า และโปรแกรมที่ใช้งานจะเป็นต้นฉบับทำให้ไม่ปลอดภัยต่อการใช้งานในกรณีที่ต้องการปกปิดหรือป้องกันการแก้ไขโดยไม่หวังดี 3.4.3. คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาระดับสูงเช่นเดียวกับแบบอินเทอพรีเตอร์ แต่เป็นการแปลทั้งโปรแกรม ผลการแปลทั้งต้นฉบับที่ได้เราเรียกว่า ออบเจ็คโค๊ด (Object Code) 4. ภาษาระดับสูงมาก (Very High Level Language) เป็นภาษายุคที่ 4 เป็นภาษาที่ไม่ได้ใช้หลักการเขียนแบบโพรซีเยอร์ ผู้เขียนเพียงกำหนดความต้องการว่าจะให้โปรแกรมทำอะไรบ้าง โดยไม่ต้องรู้ว่าต้องทำอย่างไร การเขียนโปรแกรมจะง่ายและรวดเร็ว มีผู้กล่าวว่าถ้าใช้ภาษายุคที่ 4 เขียนโปรแกรมจะได้งานมากกว่าที่เขียนด้วย ภาษาระดับสูงถึง สิบเท่าตัวและภาษา QBE (Query Language) ที่ได้รับความนิยมในการใช้งานมาก

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