Derleyici, okunabilir bir metin dosyasını bilgisayarın daha kolay anlayabileceği bir formata çeviren özel bir bilgisayar programı türüdür. En temel düzeyde, bir bilgisayar sadece 1 ve 0 olmak üzere iki şeyi anlayabilir. Bu seviyede, bir insan çok yavaş çalışacak ve 1s ve 0s uzunluğunda bulunan bilgiyi anlaşılmaz bulacaktır. Bir derleyici bu boşluğu kapatacak bir bilgisayar programıdır.
Başlangıçta, derleyiciler bilgisayardan anlaşılan, sadece sembolleri bitlere , 1'lere ve 0'lara çevirebilecek basit programlardır. Programlar ayrıca, bilgisayarın elle anlayabileceği verilere elle çevrilen bir dizi adımdan oluşuyordu. Bu çok zaman alan bir görevdi, bu yüzden bu görevin bölümleri otomatikleştirildi veya programlandı ve ilk derleyici yazıldı. Bu program, adım adım programı gerçekleştirmek için gereken adımları birleştirir veya derler.
Bu basit derleyiciler daha sofistike bir derleyici yazmak için kullanıldı. Daha yeni sürümde, insan programlayıcısının çalışabileceği daha doğal bir dil yapısına izin vermek için derleyici programa daha fazla kural eklenebilir. Bu, yazma programlarını kolaylaştırdı ve daha fazla insanın program yazmaya başlamasını sağladı. Daha fazla insan programlar yazmaya başladığında, daha karmaşık derleyiciler oluşturmak için programlar hakkında daha fazla fikir önerilmiş ve kullanılmıştır. Bu şekilde, derleyici programları gelişmeye, gelişmeye ve kullanımı daha kolay hale gelmeye devam ediyor.
Derleyici programları da özelleştirilebilir. Bazı dil yapıları, belirli bir görev için diğerlerinden daha uygundur, bu nedenle belirli görevler veya diller için belirli derleyiciler geliştirilmiştir. Bazı derleyiciler çok aşamalı veya çoklu geçişlidir . İlk geçiş çok doğal bir dil alabilir ve bilgisayarın anlaşılabilir bir dile daha yakın olmasını sağlayabilir. Bir ikinci hatta üçüncü bir geçiş bile çalıştırılabilir dosya olan son aşamaya gidebilir.
Çok aşamalı bir derleyicideki ara çıktıya genellikle bilgisayar tarafından kullanılamadığından sahte kod denir. Sahte kod, bir bilgisayar programı gibi, serbestçe akan ve daha doğal bir dil gibi ayrıntılı olmayan bir şekilde yapılandırılmıştır. Son çıktı çalıştırılabilir dosya olarak adlandırılır, çünkü bilgisayar tarafından yürütülen veya çalıştırılan şeydir. Görevi bu şekilde bölmek, her bir alt görev farklı olduğu için daha karmaşık derleyiciler yazmayı kolaylaştırdı. Ayrıca, bilgisayarın ne yapması istendiğini anlamakta zorlandığı yeri göstermesini kolaylaştırdı.
Derleyiciyi bir programı anlama konusunda sınırlayan hatalara sözdizimi hataları denir. Programın çalışma şeklindeki hatalara mantık hataları denir. Mantık hatalarının tespit edilmesi ve düzeltilmesi daha zordur. Sözdizimi hataları imla hataları gibidir, mantık hataları ise biraz daha gramer hataları gibidir.
Çapraz derleyici programları da geliştirilmiştir. Bir çapraz derleyici, belirli bir üretici tarafından tasarlanan bir bilgisayar için yazılmış ve farklı bir üretici tarafından farklı bir bilgisayar için çalıştırılan bir bilgisayar için yazılmış bir metin dosyası seti sağlar. Örneğin, bir Intel bilgisayarda çalışmak üzere yazılmış bir program, bazen Motorola tarafından geliştirilen bir bilgisayarda çalıştırmak için çapraz olarak derlenebilir. Bu sık sık çok iyi çalışmıyor. Bilgisayar programlarının çalıştığı düzeyde, bilgisayar donanımı size benzeseler bile çok farklı görünebilir.
Çapraz derleme, bir bilgisayarın başka bir bilgisayarı taklit etmesinden farklıdır. Bir bilgisayar farklı bir bilgisayarı taklit ediyorsa, diğer bilgisayarmış gibi yapıyor demektir. Öykünme genellikle çapraz derlemeden daha yavaştır, çünkü iki program aynı anda çalıştığından, diğer bilgisayar gibi davranan program ve çalışmakta olan programdır. Ancak, çapraz derlemenin çalışması için, hem programı tanımlayan orijinal doğal dil metnine hem de programın farklı bir bilgisayarda çalışabilmesi için çalışabileceği orijinal bilgisayara yeterince benzeyen bir bilgisayara ihtiyacınız vardır. Bu her zaman mümkün değildir, bu yüzden her iki teknik de kullanılıyor.


