Razlika med sestavljalnikom in prevajalnikom

Razlika med sestavljalnikom in prevajalnikom
Razlika med sestavljalnikom in prevajalnikom

Video: Razlika med sestavljalnikom in prevajalnikom

Video: Razlika med sestavljalnikom in prevajalnikom
Video: РУССКИЕ КАРТЫ В ОСУ! ТОП 20 КАРТ | RUSSIAN MAPS IN OSU TOP 20 MAPS | ОСУ! | OSU! 2024, November
Anonim

Sestavljalnik proti prevajalniku

Na splošno je prevajalnik računalniški program, ki prebere program, napisan v enem jeziku, ki se imenuje izvorni jezik, in ga prevede v drug jezik, ki se imenuje ciljni jezik. Tradicionalno je bil izvorni jezik jezik visoke ravni, kot je C++, ciljni jezik pa jezik nizke ravni, kot je zbirni jezik. Vendar pa obstajajo prevajalniki, ki lahko pretvorijo izvorni program, napisan v zbirnem jeziku, in ga pretvorijo v strojno kodo ali objektno kodo. Takšna orodja so sestavljalci. Torej tako sestavljalci kot prevajalniki na koncu ustvarijo kodo, ki jo je mogoče neposredno izvesti na stroju.

Kaj je prevajalnik?

Prevajalnik je računalniški program, ki prebere program, napisan v enem jeziku, ki se imenuje izvorni jezik, in ga prevede v drug jezik, ki se imenuje ciljni jezik. Najpogosteje je izvorni jezik jezik visoke ravni, ciljni jezik pa jezik nizke ravni. Torej lahko prevajalnike na splošno obravnavamo kot prevajalce, ki prevajajo iz enega jezika v drugega. Poleg tega prevajalniki izvajajo nekaj optimizacij kode. Tipičen prevajalnik je sestavljen iz več glavnih komponent. Prva komponenta je skener (znan tudi kot leksikalni analizator). Scanner prebere program in ga pretvori v niz žetonov. Druga komponenta je razčlenjevalnik. Pretvori niz žetonov v drevo za razčlenjevanje (ali drevo abstraktne sintakse), ki zajame sintaktično strukturo programa. Naslednja komponenta so semantične rutine, ki interpretirajo semantiko sintaktične strukture. Temu sledijo optimizacije kode in končna generacija kode.

Kaj je Assembler?

Assembler je programska oprema ali orodje, ki prevaja jezik Assembly v strojno kodo. Torej, asembler je vrsta prevajalnika in izvorna koda je napisana v jeziku Assembly. Sestavljanje je človeku berljiv jezik, vendar je običajno v razmerju ena proti ena z ustrezno strojno kodo. Zato pravimo, da asembler izvaja izomorfno (preslikava ena proti ena) prevajanje. Napredni sestavljalniki nudijo dodatne funkcije, ki podpirajo razvoj programov in procese odpravljanja napak. Na primer, tip sestavljalnikov, imenovanih makro sestavljalniki, zagotavlja možnost makra.

Kakšna je razlika med sestavljalcem in prevajalnikom?

Prevajalnik je računalniški program, ki bere program, napisan v enem jeziku, in ga prevaja v drug jezik, medtem ko lahko asembler štejemo za posebno vrsto prevajalnika, ki prevaja samo zbirni jezik v strojno kodo. Prevajalniki običajno izdelajo strojno izvršljivo kodo neposredno iz jezika na visoki ravni, sestavljalci pa izdelajo objektno kodo, ki jo je morda treba povezati s povezovalnimi programi, da se lahko izvaja na računalniku. Ker ima zbirni jezik preslikavo ena proti ena s strojno kodo, se lahko asembler uporablja za ustvarjanje kode, ki deluje zelo učinkovito v primerih, ko je zmogljivost zelo pomembna (npr. za grafične motorje, vdelane sisteme z omejenimi viri strojne opreme v primerjavi z osebnim računalnikom mikrovalovne pečice, pralni stroji itd.).

Priporočena: