compilator
Un compilator este un program de calculator care transformă un cod sursă scrise într-o limbă de programare într-o altă limbă de calcul. Pentru a fi operat de către mașină, compilator traduce codul sursă scris într-un limbaj de nivel înalt de abstractizare ușor de înțeles de către oameni, la un limbaj de nivel inferior, un limbaj de asamblare sau limbajul mașinii. În cazul limbajului semi-compilat, codul sursă este tradus într-o limbă intermediară, sub formă binară, înainte de a fi interpretat sau compilat. În schimb, un program care traduce un limbaj de nivel scăzut într-un limbaj de nivel superior este un decompiler. Un compilator efectuează următoarele operații: analiza lexicală, pre-procesarea, analiza sintactică, analiza semantică, generarea de coduri și optimizarea codului. Când programul compilat poate fi rulat pe un computer a cărui procesor sau sistem de operare este diferit de cel al compilatorului, se numește compilație încrucișată. Compilația este adesea urmată de un pas de editare a legăturilor, pentru a genera un fișier executabil.