Ce este un compilator sau Cum să faci un computer să înțeleagă ce vrei de la el?

Cuprins:

Ce este un compilator sau Cum să faci un computer să înțeleagă ce vrei de la el?
Ce este un compilator sau Cum să faci un computer să înțeleagă ce vrei de la el?

Video: Ce este un compilator sau Cum să faci un computer să înțeleagă ce vrei de la el?

Video: Ce este un compilator sau Cum să faci un computer să înțeleagă ce vrei de la el?
Video: Trucul pentru a face o persoana sa se îndragosteasca de tine 2024, Decembrie
Anonim

Etapa finală a creării unui program este traducerea unui algoritm scris într-unul dintre limbajele de programare (C/C++, Pascal etc.) într-un limbaj de mașină de nivel scăzut. Acest lucru se datorează faptului că, pentru a îndeplini orice sarcină, computerelor trebuie să li se dea comenzi într-un limbaj pe care îl înțeleg, apropiat de binar și care operează cu structuri de date primitive (bit, octet sau cuvânt). Procesul de traducere a declarațiilor specifice domeniului ale limbilor de nivel în alt în cod binar se numește traducere. Există două metode de traducere - compilare și interpretare.

compilatorul este
compilatorul este

Compiler - ce este?

Analiza multor interpretări ale termenilor „compilator” și „compilare” ne permite să evidențiem următoarea definiție. Un compilator este un program conceput pentru a traduce textul unui algoritm sursă dintr-un limbaj de nivel în alt într-un set echivalent de instrucțiuni într-un limbaj orientat către mașină. Acesta este așa-numitul cod obiect, pentru asamblarea ulterioară a codului obiect rezultat într-un modul de program gata de utilizare.

Compiler și interpret - asemănări și diferențe

Un interpret este un utilitar careprecum și un compilator, conceput pentru a traduce codul sursă în cod mașină. Totuși, spre deosebire de compilator, interpretul rulează de fiecare dată cu programul și execută traducerea linie cu linie.

Puteți spune că compilatorul și interpretul sunt procesoare de limbaj care permit computerului să recunoască și să execute comenzile date de programator.

Clasificarea compilatorului

compilatorul este un program
compilatorul este un program

Compilatorii sunt clasificați în principal după caracteristici legate de domeniile lor de aplicare practică.

Compilatorul de vectorizare este un utilitar care traduce codul sursă în cod obiect și este adaptat pentru computere echipate cu procesoare vectoriale.

Un compilator flexibil este programat într-un limbaj de nivel în alt într-un mod modular. Gestionarea acestuia se realizează folosind tabele. De asemenea, este posibil să-l executați folosind compilatorul de compilatoare.

Compilatorul incremental este un procesor de limbaj care retraduce fragmente separate de cod sursă și completări la acesta. Cu toate acestea, evită recompilarea întregii aplicații.

Un compilator interpretativ (în trepte) este un utilitar care realizează secvenţial o compilare independentă a fiecărei instrucţiuni sau comenzi a unui cod sursă de nivel în alt.

Un compilator de compilatoare este un traducător capabil să accepte o descriere formală pentru un limbaj de programare și să genereze independent un compilator pentru orice limbă.

compilator și interpret
compilator și interpret

Compilatorul de depanare vă permite să găsiți și să remediați unele tipuri de erori de sintaxă făcute la scrierea codului sursă

Un compilator rezident ocupă un loc permanent în RAM și, prin urmare, este reutilizabil pentru o gamă largă de sarcini.

Compilatorul autocompilat este scris în aceeași limbă ca și traducerea.

Compilatorul universal se bazează pe o descriere formală a parametrilor semantici și sintactici ai limbajului de intrare. Componentele principale ale unui astfel de utilitar sunt încărcările de bază, sintactice și semantice.

Dispozitiv compilator

Un compilator și un linker sunt în centrul oricărui compilator. Adesea, la compilare, se folosește un linker extern, iar compilatorul însuși realizează doar funcția de traducere. De asemenea, se întâmplă ca compilatorul să fie implementat ca un fel de program manager care este asociat cu traducătorul (sau traducătorii, dacă s-au folosit diferite limbaje de programare la scrierea codului sursă) și linkerul și începe execuția acestora atunci când este necesar.

Limbaje de programare și metode de traducere

compilator de limbaj
compilator de limbaj

În ciuda faptului că un program scris în orice limbaj de programare poate fi atât compilat, cât și interpretat, multe limbaje de nivel în alt au o predispoziție la una sau alta metodă de traducere. Deci, limbajul C a fost conceput inițial pentru compilare, iar Java - pentru interpretarea programului scris. Sunt în curs de dezvoltareCompilatoarele C sunt destul de ușoare, datorită nivelului relativ scăzut și a unui număr mic de elemente structurale.

Avantajele și dezavantajele compilatorilor și interpreților. Aplicații

Rețineți că aplicațiile compilate sunt mai rapide decât cele interpretate, dar, în același timp, codul mașină obținut ca urmare a compilării depinde de platforma hardware. Deci, un program scris și compilat pentru Windows nu va funcționa, de exemplu, în Linux. Așadar, în cazul aplicațiilor de internet, când este imposibil de spus în prealabil în ce mediu vor funcționa, acestea folosesc interpretare sau bytecode (în acest caz, programul sursă este convertit într-o formă intermediară care poate fi executată pe diverse hardware). platforme).

Recomandat: