Skirtumas Tarp Fazės Ir Leidimo Kompiliatoriuje

Skirtumas Tarp Fazės Ir Leidimo Kompiliatoriuje
Skirtumas Tarp Fazės Ir Leidimo Kompiliatoriuje

Video: Skirtumas Tarp Fazės Ir Leidimo Kompiliatoriuje

Video: Skirtumas Tarp Fazės Ir Leidimo Kompiliatoriuje
Video: SkyWay kriptovaliuta ir žetonas (token) 2024, Lapkritis
Anonim

„Phase vs Pass“kompiliatoriuje

Apskritai kompiliatorius yra kompiuterinė programa, nuskaitanti viena kalba parašytą programą, kuri vadinama šaltinio kalba, ir išverčia ją į kitą kalbą, vadinamą tiksline kalba. Tradiciškai šaltinio kalba buvo aukšto lygio kalba, pvz., C ++, o tikslinė kalba buvo žemo lygio, pvz., Asamblėjos kalba. Taigi paprastai kompiliatorius galima vertinti kaip vertėjus, kurie verčia iš vienos kalbos į kitą. „Pass“ir „Phase“yra du terminai, dažnai vartojami kompiliatoriuose. Kompiliatoriaus leidimų skaičius yra skaičius kartų, per kuriuos jis peržengė šaltinį (ar kokią nors jo atvaizdavimo formą). Kompiliatorius, siekiant patogumo, yra suskaidytas į dalis. Fazė dažnai naudojama vadinant tokią atskirą kompiliatoriaus dalį.

Kas yra leidimas kompiliatoriuje?

Standartinis kompiliatorių klasifikavimo būdas yra „leidimų“skaičius. Paprastai kompiliavimas yra gana daug išteklių reikalaujantis procesas, ir iš pradžių kompiuteriai neturėjo pakankamai atminties, kad galėtų laikyti tokią programą, kuri atliko visą darbą. Dėl šio ankstyvųjų kompiuterių aparatinės įrangos išteklių apribojimo kompiliatoriai buvo suskirstyti į mažesnes paprogrames, kurios atliko savo dalinį darbą pereidamos šaltinio kodą („perdavė“šaltinį ar kitą jo formą) ir atliko analizę, transformacijos ir vertimo užduotys atskirai. Taigi, atsižvelgiant į šią klasifikaciją, kompiliatoriai identifikuojami kaip vienkartiniai arba daugkartiniai kompiliatoriai.

Kaip rodo pavadinimas, vieno leidimo kompiliatoriai surenka vieną leidimą. Lengviau parašyti vieno leidimo kompiliatorių, be to, jie veikia greičiau nei daugiapakopiai kompiliatoriai. Todėl net tuo metu, kai turėjote išteklių apribojimų, kalbos buvo sukurtos taip, kad jas būtų galima sudaryti vienu leidimu (pvz., „Pascal“). Kita vertus, tipinį daugkartinį kompiliatorių sudaro keli pagrindiniai etapai. Pirmasis etapas yra skaitytuvas (dar vadinamas leksiniu analizatoriumi). Skaitytuvas nuskaito programą ir paverčia ją žetonų eilute. Antrasis etapas yra analizatorius. Žetonų eilutę paverčia analizės medžiu (arba abstrakčiu sintaksės medžiu), kuris užfiksuoja sintaksinę programos struktūrą. Kitas etapas yra tas, kuris interpretuoja sintaksės struktūros semantiką. Kodo optimizavimo ir galutinio kodo generavimo etapai seka tai.

Kas yra kompiliatoriaus fazė?

Terminas fazė dažnai iškyla, kai kalbate apie kompiliatoriaus konstrukciją. Iš pradžių kompiliatoriai buvo visi paprasti vienos monolitinės programinės įrangos gabalai, kuriuos parašė vienas asmuo, norėdamas sudaryti paprastą kalbą. Bet kai verstinos kalbos šaltinio kodas tampa sudėtingas ir didelis, kompiliatorius buvo suskirstytas į kelias (palyginti nepriklausomas) fazes. Skirtingų fazių pranašumas yra tas, kad kompiliatoriaus kūrimą galima paskirstyti kūrėjų komandai. Be to, tai pagerina moduliškumą ir pakartotinį naudojimą leidžiant fazes pakeisti patobulintomis arba papildomas fazes (pvz., Tolesnius optimizavimus) pridėti prie kompiliatoriaus. Kompiliavimo padalijimo į fazes procesą pristatė Carnegie Melon universiteto PQCC („Production Quality Compiler-Compiler Project“). Jie pristatė terminus priekinis, vidurinis ir užpakalinis. Dauguma kompiliatorių turi mažiausiai dvi fazes. Tačiau paprastai užpakalinė ir priekinė dalys apima šias fazes.

Kuo skiriasi fazė ir leidimas kompiliatoriuje?

„Phase“ir „Pass“yra du terminai, vartojami kompiliatorių srityje. Leidimas yra vienas kartas, kai kompiliatorius perduoda (pereina) šaltinio kodą ar kokį kitą jo atvaizdavimą. Paprastai dauguma kompiliatorių turi bent du etapus, vadinamus priekine ir galine dalimis, tuo tarpu jie gali būti vieno ar daugelio etapų. „Phase“naudojamas kompiliatorių klasifikavimui pagal konstrukciją, o „pass“- kompiliatorių klasifikavimui pagal tai, kaip jie veikia.

Rekomenduojama: