Penerjemah (komputasi)

Dalam ilmu komputer, penerjemah atau penafsir (lebih dikenal dengan interpreter) merupakan perangkat lunak yang berfungsi melakukan eksekusi sejumlah instruksi yang ditulis dalam suatu bahasa pemrograman, sebuah penerjemah dapat berarti:
 Mengeksekusi kode sumber secara langsung, atau
 Menerjemahkannya ke dalam serangkaian p-code kemudian mengeksekusinya, atau
 Mengeksekusi kode yang telah dikompilasi sebelumnya oleh kompiler yang merupakan bagian dari sistem penerjemahan.
Perl, Python, Ruby, dan MATLAB merupakan beberapa contoh perangkat lunak penerjemah bertipe 2, sementara Java termasuk dalam kategori tipe 3, tetapi dalam beberapa kasus Java dapat digolongkan pula ke dalam kategori tipe 2.

Meskipun penerjemahan dan kompilasi merupakan dua jenis mekanisme implementasi pada sebuah bahasa pemrograman, keduanya tidak berarti memiliki perbedaan secara signifikan. Hal ini disebabkan cara kerja sebuah penerjemah dalam banyak hal adalah sama seperti halnya yang dilakukan oleh kompiler. Penggunaan istilah "bahasa pemrograman terjemahan" dan "bahasa pemrograman kompilatif" umumnya digunakan sebatas untuk membedakan implementasi dari bahasa tersebut menggunakan model penerjemahan atau kompilatif.

Lihat pula 
 Kompiler
 P-Code

Pranala luar 
  IBM Card Interpreters page at Columbia University
  Theoretical Foundations For Practical 'Totally Functional Programming' (Chapter 7 especially) Doctoral dissertation tackling the problem of formalising what is an interpreter

Penerjemah bahasa pemrograman
Bahasa pemrograman