Un compilator este un program de calculator care vă ajută să transformați codul sursă scris într-un limbaj de nivel înalt în limbaj mașină de nivel scăzut. Acesta traduce codul scris într-un limbaj de programare într-un alt limbaj, fără a schimba sensul codului. Compilatorul face, de asemenea, codul final eficient, care este optimizat pentru timpul de execuție și spațiul de memorie.
Procesul de compilare include mecanisme de traducere de bază și detectarea erorilor. Procesul de compilare trece prin analiza lexicală, sintactică și semantică în partea frontală, precum și prin generarea și optimizarea codului în partea din spate.
În acest tutorial de proiectare a compilatorului, veți învăța
Ce este un compilator?
Features of Compilers
Types of Compiler
Tasks of Compiler
History of Compiler
Steps for Language processing systems
Compiler Construction Tools
Why use a Compiler?
Application of Compilers
Features of Compilers
Correctness
Speed of compilation
Preserve the correct the meaning of the code
The speed of the target code
Recognize legal and illegal program constructs
Good error reporting/handling
Code debugging help
Types of Compiler
Following are the different types of Compiler:
Single Pass Compilers
Two Pass Compilers
Multipass Compilers
Single Pass Compiler
In single pass Compiler source code directly transforms into machine code. For example, Pascal language.
Two Pass Compiler
Two pass Compiler is divided into two sections, viz.
Front end: It maps legal code into Intermediate Representation (IR).
Back end: It maps IR onto the target machine
The Two pass compiler method also simplifies the retargeting process. It also allows multiple front ends.
Multipass Compilers
Compilatorul multipass procesează de mai multe ori codul sursă sau arborele sintactic al unui program. Acesta împarte un program mare în mai multe programe mici și le procesează. Dezvoltă mai multe coduri intermediare. Toate aceste multipass iau ca intrare ieșirea din faza anterioară. Așadar, necesită mai puțină memorie. Este cunoscut și sub numele de „Wide Compiler”.
Sarcinile compilatorului
Principalele sarcini îndeplinite de compilator sunt:
Sparge programul sursă în bucăți și le impune o structură gramaticală
Permite construirea programului țintă dorit din reprezentarea intermediară și, de asemenea, creează tabelul de simboluri
Compilează codul sursă și detectează erorile din acesta
Gestionează stocarea tuturor variabilelor și codurilor.
Suportă compilarea separată
Citește, analizează întregul program și îl traduce în echivalent semantic
Traduce codul sursă în cod obiect în funcție de tipul de mașină
Istoria Compilatorului
Repere importante ale istoriei Compilatorului sunt următoarele:
Cuvântul „compilator” a fost folosit pentru prima dată la începutul anilor 1950 de Grace Murray Hopper
Primul compilator a fost construit de John Backum și grupul său între 1954 și 1957 la IBM
COBOL a fost primul limbaj de programare care a fost compilat pe mai multe platforme în 1960
Studiul problemelor de scanare și parsare au fost continuate în anii 1960 și 1970 pentru a oferi o soluție completă
Pași pentru sistemele de procesare a limbajului
Până la cunoașterea conceptului de compilator, trebuie mai întâi să înțelegeți câteva alte instrumente care lucrează cu compilatoare.