Yorumlayıcı

Yorumlayıcı Nedir?

Yorumlayıcı İngilizcede “interpreter” kelimesi ile ifade edilir. Yazılımları parça parça almaya başlar ve doğrudan doğruya çalıştırır. Artık standart olmuş, belli bir kod sistemi üretmez. Yorumlama kısmında işlem aşama aşama yapılmaz. Bu nedenle genel olarak sorunun yer aldığı noktada programın çalışması durdurulur.

Derleyicilerin tam tersidir. Kodların işlenmemiş olan yerleri tekrar incelemez. Üzerinden geçmediği için bu noktalardaki hatalar olduğu gibi kalır. Yorumlayıcı genel olarak kaynak koddan aldığı verileri makine diline anında dönüştürür. Bu sebepten derleyicilere oranla çok daha yavaş şekilde çalışır. Bu yavaş ilerlemeden dolayı kodu optime etmek için yani iyileştirmek için çok fazla zamanı olmaz.

Yorumlayıcı  tasarımsal açıdan bakıldığında veri yapısı derleyicilere benzer olarak görünür. Ancak işlevleri birbirinden farklıdır ve biri daha hızlı çalışma gösterirken, diğeri daha yavaş çalışma özelliğine sahiptir. Programlama dillerinden yüksek seviyeli dil ile yazılmış olan bir programların çevirmesini yapar. Bu çevirme sırasında aldığı veriyi makine diline çevirir ve bu dildeki komutları çalıştırır.

Bütün programları tam anlamıyla çalıştıracak kodlar üretmez. Bunun yerine daha çok programın parçalarını dönüştürerek hemen çalıştırma yoluna gider. Tekrar çalıştırılması gerektiğinde ya da çalıştırılmak istendiğinde kaynak kod üzerinden aynı yöntemle bir ilerleme yapar ve çalıştırır. Kaynak kodu doğrudan çalıştırır. Bu yüzden onu çevirmesine gerek yoktur. Zaten her çalıştığında bu dönüşüm tekrarlanır. Veri yorumlama sürecine geçilmeden önce en az bir kere daha derleme aşamasından geçer. İşletme sistemi bu şekilde çalışır. Kaynak kodlar tamamlanır ve bu kodlardan dosyalar oluşturulur. Oluşturulan bu dosyaların içlerinde makine bir takım makine kodları vardır. Yerel işlemcilerin kullandığı komut mekanizmasından farklıdır.

Yorumlanmış şekilde çalıştırılan yüksek seviyeli diller direkt olarak çalışmaz. Genel olarak ara derlemeleri vardır. Java ile yazılan kodlar “.java” uzantısı kullanılarak kayıt olur. Bunların içinde hazır kod ya da kendi yazdığımız kodlar bulunabilir. Java diline göre komutlandırılır. Diller için yepyeni tarayıcılar ve yorumlayıcılar geliştirilebilir.

Yorumlayıcıların derleyicilere benzer olan yapısal durumlardan birine örnek olarak kelime analizi yapmak için sembol tablolarının kullanılması ya da söz dizimini analiz etmek için kullanılan BNF örnek olarak verilebilir.

Bir cevap yazın