ความแตกต่างระหว่าง Assembler และ Interpreter

Anonim

Assembler vs Interpreter

โดยทั่วไปคอมไพเลอร์เป็นโปรแกรมคอมพิวเตอร์ที่อ่านโปรแกรมที่เขียนขึ้นในภาษาเดียวซึ่งก็คือ เรียกว่าภาษาต้นฉบับและแปลเป็นภาษาอื่นซึ่งเรียกว่าภาษาเป้าหมาย ตามเนื้อผ้าภาษาต้นทางเป็นภาษาระดับสูงเช่น C ++ และภาษาเป้าหมายเป็นภาษาระดับต่ำเช่นภาษา Assembly อย่างไรก็ตามมีคอมไพเลอร์ที่สามารถแปลงโปรแกรมต้นฉบับที่เขียนขึ้นในภาษา Assembly และแปลงเป็นรหัสเครื่องหรือรหัสอ็อบเจ็กต์ Assemblers เป็นเครื่องมือดังกล่าว ในทางกลับกันล่ามเป็นเครื่องมือที่ใช้คำสั่งที่เขียนขึ้นในภาษาโปรแกรมบางภาษา ล่ามสามารถเรียกใช้โค้ดระดับสูงได้โดยตรงหรือแปลเป็นโค้ดกลางแล้วตีความหรือประมวลโค้ด precompiled

Assembler คืออะไร?

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

ล่ามคืออะไร?

ล่ามเป็นโปรแกรมคอมพิวเตอร์หรือเป็นเครื่องมือที่ใช้คำแนะนำในการเขียนโปรแกรม ล่ามอาจจะรันโค้ดต้นฉบับได้โดยตรงหรือแปลงแหล่งไปเป็นโค้ดระดับกลางและรันโค้ดโดยตรงหรือเรียกใช้รหัสที่รวบรวมไว้ล่วงหน้าที่ผลิตโดยคอมไพเลอร์ (ระบบล่ามบางอย่างรวมถึงคอมไพเลอร์สำหรับงานนี้) ภาษาต่างๆเช่น Perl, Python, MATLAB และ Ruby เป็นตัวอย่างของภาษาโปรแกรมที่ใช้โค้ดระดับกลาง UCSD Pascal ตีความโค้ด precompiled ภาษาเช่น Java, BASIC และ Samlltalk รวบรวมแหล่งข้อมูลไปเป็นโค้ดกลางที่เรียกว่า bytecode และแปลความหมายดังกล่าว

ความแตกต่างระหว่าง Assembler และ Interpreter คืออะไร?

แอ็ตทเลอร์เลอร์สามารถใช้เป็นคอมไพเลอร์ชนิดพิเศษซึ่งแปลภาษา Assembly เป็นรหัสเครื่องเท่านั้น ล่ามเป็นเครื่องมือที่ดำเนินการสอนที่เขียนขึ้นในบางภาษา ระบบล่ามอาจรวมถึงคอมไพเลอร์เพื่อคอมไพล์โค้ดก่อนแปลความหมาย แต่ล่ามไม่สามารถเรียกได้ว่าเป็นคอมไพเลอร์ชนิดพิเศษ ผู้ประกอบการผลิตรหัสอ็อบเจ็กต์ซึ่งอาจต้องมีการเชื่อมโยงโดยใช้โปรแกรม linker เพื่อที่จะรันบนเครื่อง แต่ล่ามส่วนใหญ่สามารถดำเนินการให้เสร็จสิ้นได้ด้วยตัวเองผู้ประกอบการมักจะทำหนึ่งถึงหนึ่งแปล แต่ไม่เป็นความจริงสำหรับล่ามส่วนใหญ่ เนื่องจากแอสเซมบลีภาษามีการแม็ป one-one map ด้วยรหัสเครื่อง assembler อาจใช้สำหรับการสร้างโค้ดที่ทำงานได้อย่างมีประสิทธิภาพสำหรับโอกาสที่ประสิทธิภาพเป็นสิ่งที่สำคัญมาก (เช่นเครื่องมือกราฟิก, ระบบฝังตัวที่มีทรัพยากรฮาร์ดแวร์ จำกัด เมื่อเทียบกับคอมพิวเตอร์ส่วนบุคคล เช่นไมโครเวฟเครื่องซักผ้า ฯลฯ) ในทางกลับกันล่ามจะใช้เมื่อคุณต้องการพกพาได้สูง ตัวอย่างเช่นไบต์ Java เดียวกันสามารถเรียกใช้บนแพลตฟอร์มที่แตกต่างกันโดยใช้ตัวแปลที่เหมาะสม (JVM)