ตัวแปลภาษามีสองแบบ (Interpreter and Compiler)

ตัวแปลภาษามีสองแบบ (Interpreter and Compiler)

เมื่อเขียนโปรแกรมด้วยการสร้างรหัสต้นฉบับ (Source Code) เพื่อทำงานอย่างใดอย่างหนึ่ง ที่สามารถอ่านเข้าใจได้โดยโปรแกรมเมอร์ การจะทำให้โปรแกรมนั้นประมวลผลได้จำเป็นต้องผ่านการแปล ซึ่งการแปลภาษาคอมพิวเตอร์มี 2 แบบ คือ แบบอินเทอร์พรีเตอร์ (Interpreter) และแบบคอมไพเลอร์ (Compiler)

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

แต่การแปลแบบอินเทอร์พรีเตอร์ จะไม่สร้างแฟ้ม .class แต่ประมวลผลทีละบรรทัด และทำงานที่ละบรรทัดตั้งแต่บรรทัดแรกไปถึงบรรทัดสุดท้าย หากบรรทัดใดผิดพลาดก็จะหยุดการทำงาน ต่างกับการแปลแบบคอมไพเลอร์ที่จะแปลทั้งโปรแกรม ถ้าพบบรรทัดใดผิดพลาดจะยกเลิกการทำงานทันที

ตัวอย่างการ

ตัวอย่าง 1.14 การเขียน แปล และประมวลผล
  1. ตัวอย่างแฟ้มรหัสต้นฉบับ สร้างขึ้นด้วย edit , notepad , editplus หรือ copy con

class x {

public static void main(String args[]) {

System.out.println(5);

}

}

  1. สร้างแฟ้มรหัสต้นฉบับ                 เช่น DOS>  edit   x.java
  2. แปลแฟ้มรหัสต้นฉบับ                 เช่น DOS>  javac   x.java
  3. ประมวลผลแฟ้มไบท์โค้ดเช่น DOS>  java   x