Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius Jūs galite padėti Vikipedijai pridėdami tinkamas išna
Kompiliatorius

Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius. Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais. |
Kompiliatorius – programinė įranga, kuri sugeba tam tikra programavimo kalba parašytą programą transliuoti į ekvivalenčią programą kita kalba. Dažniausiai kompiliatorius transliuoja aukšto lygio programavimo kalba parašytą kodą į mašininį ar objektinį kodą, kurį gali vykdyti tam tikras kompiuteris arba . Tačiau galimas ir atvirkščias variantas – kai iš žemo lygio mašininio kodo transliuojama į aukšto lygio programavimo kalbą, tokiu atveju kompiliatorius dažniausiai vadinamas dekompiliatoriumi.
Pirmieji eksperimentiniai kompiliatoriai pagaminti XX a. šeštajame dešimtmetyje, bet pirmu pilnu kompiliatoriumi laikomas FORTRAN kalbos kompiliatorius, pristatytas 1957 metais.
Kompiliavimo etapai
Kompiliavimas yra sudėtingas procesas, todėl dažnai yra skaidomas į keletą smulkesnių. Kompiliavimo etapai gali būti tiek išreikšti (paleidžiama atskira programa vieno etapo veiksmams atlikti), tiek neišreikšti (keli ar net visi etapai yra įvykdomi vienoje programoje). Kai kurie etapai gali būti vykdomi lygiagrečiai.
Skiriami tokie etapai:
- Parengiamosios doroklės
- programų išeities tekstas yra papildomas informacija iš bibliotekų, išskleidžiamos makrokomandos, pašalinamos kodo dalys, kurios nereikalingos konkrečiam kompiliavimo atvejui;
- Leksinio analizatoriaus
- išeities tekstas yra suskaidomas į smulkiausius programavimo kalbos elementus (identifikatorius, operatorius, kitus sintaksės elementus);
- Sintaksės analizatoriaus
- nagrinėjama, ar pateiktas tekstas atitinka programavimo kalbos sintaksės taisykles (t. y. ar atinka skliaustų skaičius, ar rezervuoti žodžiai nenaudojami kaip identifikatoriai, pan.);
- Semantikos analizatoriaus
- nagrinėjama, ar pateiktas tekstas atitinka programavimo kalbos semantikos taisykles (t. y. ar struktūra turi tokį elementą, į kokį kreipiamasi, ar priskiriama tinkamo tipo reikšmė ir pan.);
- Kodo generavimo
- generuojamas paskirties kalbos kodas;
- Kodo optimizavimo
- bandoma pagerinti paskirties kodo kokybę – padaryti jį greičiau vykdomu, užimančiu mažiau vietos ar pan. (transiliavimo metu suskaičiuojamos konstantinės išraiškos, vienodos išraiškos skaičiuojamos tik kartą, parenkamos efektyvesnės procesoriaus komandos ir t. t.);
- Ryšių redagavimo
- prijungiamos išorinės bibliotekos (vykdomas tik jei kompiliuojama į mašininį kodą).
Taip pat skaitykite
- Interpretatorius
- Programavimo kalba
Nuorodos
- Java Compiler Compiler Archyvuota kopija 2008-09-24 iš Wayback Machine projekto. – programa, sugeneruojanti kompiliatorių pagal duotą gramatiką
Autorius: www.NiNa.Az
Išleidimo data:
vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu, mobilusis, porn, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, pornografija, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris, Informacija apie Kompiliatorius, Kas yra Kompiliatorius? Ką reiškia Kompiliatorius?
Siam straipsniui ar jo daliai truksta isnasu į patikimus saltinius Jus galite padeti Vikipedijai pridedami tinkamas isnasas su saltiniais Kompiliatorius programine įranga kuri sugeba tam tikra programavimo kalba parasyta programa transliuoti į ekvivalencia programa kita kalba Dazniausiai kompiliatorius transliuoja auksto lygio programavimo kalba parasyta koda į masininį ar objektinį koda kurį gali vykdyti tam tikras kompiuteris arba Taciau galimas ir atvirkscias variantas kai is zemo lygio masininio kodo transliuojama į auksto lygio programavimo kalba tokiu atveju kompiliatorius dazniausiai vadinamas dekompiliatoriumi Pirmieji eksperimentiniai kompiliatoriai pagaminti XX a sestajame desimtmetyje bet pirmu pilnu kompiliatoriumi laikomas FORTRAN kalbos kompiliatorius pristatytas 1957 metais Kompiliavimo etapaiKompiliavimas yra sudetingas procesas todel daznai yra skaidomas į keleta smulkesniu Kompiliavimo etapai gali buti tiek isreiksti paleidziama atskira programa vieno etapo veiksmams atlikti tiek neisreiksti keli ar net visi etapai yra įvykdomi vienoje programoje Kai kurie etapai gali buti vykdomi lygiagreciai Skiriami tokie etapai Parengiamosios dorokles programu iseities tekstas yra papildomas informacija is biblioteku isskleidziamos makrokomandos pasalinamos kodo dalys kurios nereikalingos konkreciam kompiliavimo atvejui Leksinio analizatoriaus iseities tekstas yra suskaidomas į smulkiausius programavimo kalbos elementus identifikatorius operatorius kitus sintakses elementus Sintakses analizatoriaus nagrinejama ar pateiktas tekstas atitinka programavimo kalbos sintakses taisykles t y ar atinka skliaustu skaicius ar rezervuoti zodziai nenaudojami kaip identifikatoriai pan Semantikos analizatoriaus nagrinejama ar pateiktas tekstas atitinka programavimo kalbos semantikos taisykles t y ar struktura turi tokį elementa į kokį kreipiamasi ar priskiriama tinkamo tipo reiksme ir pan Kodo generavimo generuojamas paskirties kalbos kodas Kodo optimizavimo bandoma pagerinti paskirties kodo kokybe padaryti jį greiciau vykdomu uzimanciu maziau vietos ar pan transiliavimo metu suskaiciuojamos konstantines israiskos vienodos israiskos skaiciuojamos tik karta parenkamos efektyvesnes procesoriaus komandos ir t t Rysiu redagavimo prijungiamos isorines bibliotekos vykdomas tik jei kompiliuojama į masininį koda Sis straipsnis apie programine įranga yra nebaigtas Jus galite prisideti prie Vikipedijos papildydami sį straipsnį Taip pat skaitykiteInterpretatorius Programavimo kalbaNuorodosJava Compiler Compiler Archyvuota kopija 2008 09 24 is Wayback Machine projekto programa sugeneruojanti kompiliatoriu pagal duota gramatika