Tercüman (BT)

Gelen bilgisayar bilimleri , bir tercüman veya tercüman ( bkz aşağıda ), görevi, analiz çevirmek ve bir yazılı programları çalıştırmak için bir araçtır bilgisayar dilinde . Bazen kalifiye oluyoruz ve uygunsuz bir şekilde , programları genellikle yorumlanan dillerin bir tercümanı tarafından yürütülen diller .

Bir yorumlayıcı, bir derleyiciden farklıdır, çünkü belirli bir programın yürütülmesi için gerekli olan analiz ve çeviriyi bir kerede değil, o programın her yürütülmesinde gerçekleştirir. Bu nedenle yürütme, yalnızca programa değil, aynı zamanda karşılık gelen yorumlayıcıya da sahip olmayı gerektirir.

Prensip

Yorumlama, programın başka bir dile (örneğin makine dili) dönüştürülmesinden ziyade, programın başka bir program (tercüman) tarafından dinamik olarak yürütülmesine dayanır; eşzamanlı olan dönüştürme süresi ve yürütme süresinin ayrılmasını önler.

Sözde komut dosyası programını sözde derlenmiş programdan ayırt ederiz  :

Döngüsü aşağıdaki gibi bir tercümanın geçerli:

Bu nedenle, derleyiciden farklı olarak , yorumlayıcı, yorum için okunduğu gibi programın talimatlarını yürütür (veya ifadelerini değerlendirir). Önceden çeviri yapılmayan bu aşama nedeniyle, yorumlanmış bir programın yürütülmesi genellikle aynı derlenmiş programdan daha yavaştır. Çoğu yorumlayıcı artık programı temsil eden karakter dizisini değil, sözdizimi ağacı gibi bir dahili formu yürütür .

Pratikte yorumlayıcılar ve derleyiciler arasında süreklilik vardır. Çoğu yorumlayıcı, derleyicilerinkine benzeyen ara dahili temsiller (soyut sözdizimi ağaçları, hatta bayt kodu) ve işleme (sözcüksel ve sözdizimsel analizler) kullanır. Son olarak, belirli dillerin bazı uygulamaları (örneğin Common Lisp için SBCL ) bir yorumlayıcı gibi etkileşimlidir, ancak mümkün olan en kısa sürede bir program parçasının metnini işlemci tarafından doğrudan çalıştırılabilen makine koduna çevirir. Bu nedenle yorumlayıcı veya derleyici karakter, dilin kendisine değil, bir programlama dilinin uygulanmasına özgüdür.

Yorumlanan dillerin ilgisi esas olarak programlama ve taşınabilirlik kolaylığında yatmaktadır. Yorumlanan diller, genellikle uzun olan derleme aşamasından kaçındıkları ve hata olasılıklarını sınırladıkları için programların hata ayıklamasını büyük ölçüde kolaylaştırır. Genel olarak, uygulamaların veya uygulamaların prototiplerinin hızlı bir şekilde geliştirilmesini kolaylaştıran eksik programları çalıştırmak mümkündür. Böylece, BASIC dili , genel halkın programlamaya erişmesine izin veren ilk yorumlanan dil olurken, yorumlanan ilk modern programlama dili Lisp'tir .

Taşınabilirlik, bu donanım platformlarının her birine özel bir yorumlayıcı olması koşuluyla, çeşitli platformlarda değişiklik yapılmadan çalıştırılabilen tek bir program yazmayı mümkün kılar.

Günümüzde belirli sayıda bilgisayar dili bir uygulama sanal makinesi aracılığıyla uygulanmaktadır . Bu teknik, burada açıklandığı gibi yorumlayıcılar ile derleyiciler arasındadır . İyi bir verimlilikle tercüman taşınabilirliği sunar. Örneğin, Java, Lisp, Scheme, Ocaml, Perl (Parrot), Python, Ruby, Lua, C# vb. bağlantı noktaları. sanal makine üzerinden yapılır .

Soyut yorumlama (tarafından icat Patrick ve Radhia Cousot) bir tekniktir ve bir modeldir statik program analizi tercüman şekilde biraz çalışır, program soyutlamaların değerlerini değiştirerek analiz ettik. Örneğin, tamsayı değişkenlerinin değerleri, tamsayı aralıkları veya değişkenler arasındaki cebirsel ilişkiler ile soyutlanır.

Tarihi

Pascal dilinin ve Turbo Pascal gibi hızlı ticari derleyicilerin ortaya çıkmasıyla , yorumlanan diller 1980'lerin ortalarından itibaren keskin bir düşüş yaşadı . 1990'larda üç unsur durumu değiştirdi  :

yorumlanmış dillerin kullanımları

Yorumlanan diller birçok kullanım alanı bulur:

Derleyici ve yorumlayıcı arasındaki melezler

Derleyici ve yorumlayıcı arasındaki fark gerçek olsa da tanımları bazen örtüşür ve bu iki teknik arasında ara yöntemler bulunur.

Bayt kodu yorumlayıcıları

Java veya .NET gibi bazı çerçeveler , kodu bir ara bayt kodunda önceden derler . Bu bayt kodu daha sonra , her durumda programı yürütmek için bir sanal makine tarafından yorumlanır veya yürütülür .

anında derleme

Anında derleme uygulayan bir sistemde, kaynak kodu genellikle önceden veya anında (çalışma zamanında) bir ara temsile , bayt koduna derlenir . Ardından sistem, çalışan kodu sürekli olarak analiz eder ve yerel koda yeniden derlemenin bayt kodunun yürütülmesini geçersiz kılacağı kodun bölümlerini tanımlar.

terminoloji

Bu tür bir araç, İngilizce'detercüman  " terimi ile belirtilmiştir. Program teorisi üzerine Fransızca ilk öğretim kitabının yazarları "tercüman" önerdiler, bu genellikle "tercüman" katmanı tarafından Fransızca'ya çevrilir , bu terim - 1970 civarında onaylanmıştır - özellikle OQLF tarafından önerilmiştir ve çeşitli genel sözlüklerde mevcuttur ve veri işlemede olduğu kadar veri işlemede de uzmanlaşmıştır. diğer terminoloji yayınları.

Notlar ve referanslar

  1. C. Livercy Jean-Pierre Finans , Monique Grandbastien Pierre Lescanne Pierre Marchand , Roger Mohr Alain Quéré ve Jean-Luc Rémy ( terc.  C. Çifti) Program teorisi: Şemalar, deliller, semantik , Paris, Bordas , kol.  "Dunod bilişim",1978, 328  s. ( ISBN  978-2-04-010516-7 ve 2040105166 , çevrimiçi okuyun ).
  2. “  tercüman  ” , Usito , Université de Sherbrooke ( 12 Temmuz 2021'de erişildi ) .
  3. "  tercüman  " , Le Grand Dictionnaire terminologique , Office québécois de la langue française .
  4. "  tercüman  " , Larousse sözlüğü ( 12 Temmuz 2021'de erişildi ) .
  5. "  yorumlayıcı  " , Dictionnaire.lerobert.com'da , Dictionnaires Le Robert ( 12 Temmuz 2021'de erişildi ) .
  6. Michel Ginguay , İngilizce / Fransızca bilgisayar sözlüğü , Dunod ,2005( ISBN  2-10-008310-4 ve 978-2-10-008310-7 , OCLC  59.569.570 , bildirim BNF n O  FRBNF39950455 ) , s.  121 :

    Tercüman , [...] 2. tercümanlık programı, tercüman"

    .
  7. (in) Jacques Hildebert , Bilgi Teknolojileri Sözlüğü İngilizce / Fransızca , New York, Hippocrene Books,1998( ISBN  978-0-7818-0628-2 ) ; Fransızca / İngilizce BT teknolojileri sözlüğü , Paris, La Maison du Dictionnaire,1998, 2702  s. ( ISBN  978-2-85608-105-1 , çevrimiçi sunum ) , s.  2020.
  8. Jean-Guy Grenier , Bilgi İşlem ve İnternet Sözlüğü (İngilizce-Fransızca) , Paris, La Maison Du Dictionnaire,2000, 710  s. ( ISBN  978-2-85608-136-5 , çevrimiçi sunum ) , s.  358.
  9. Terry R. Pyper , Fransızca Bilgi Teknolojileri Sözlüğü , Londra, Routledge ,1989, 1 st  ed. , 590  s. ( ISBN  978-0-415-00244-8 , çevrimiçi sunum ) , s.  147.
  10. (nl + tr + fr + de + es) PJ van Swigchem ve EJ Slot , BDI terminolojisi: verklarend woordenboek van Nederlandse termen op het gebied van bibliotheek en belgesel bilgiler, met vertalingen in het Engels, Frans, Duits, Spaans , La Haye, NBD Biblion,1990, 493  s. ( ISBN  978-90-6252-123-4 , çevrimiçi sunum ) , s.  151.
  11. (in) Anne-Laure Jousse ( Maine Üniversitesi ) ve Myriam Bouveret , "  Sözcük Fonksiyonlar Uzmanlaşmış Sözlükler içinde türetim İlişkileri Temsil  " , Terminoloji , John Benjamins Yayıncılık Şirketi, vol.  9, n o  1,2003, s.  71-98 ( ISSN  0929-9971 , çevrimiçi okuyun ) [PDF] .

Şuna da bakın: