Kakšna je razlika med posameznimi in večplastnimi prevajalniki - Razlika Med

Kakšna je razlika med posameznimi in večplastnimi prevajalniki

The glavna razlika med enojnim prehodom in prevajalnikom z več predali je to prevajalnik z enojnim prehodom je prevajalnik, ki prenaša izvorno kodo skozi vsako enoto za prevajanje samo enkrat, medtem ko večstranski prevajalnik loči kompilacijo na več prehodov, kjer bi se vsako prehod nadaljevalo z rezultatom prejšnjega prehoda.

Računalniški program je skupek navodil, s katerimi lahko računalnik izvede določeno nalogo. Običajno programerji pišejo programe z uporabo programskih jezikov na visoki ravni. Vendar pa računalnik ne razume teh navodil. Zato je treba izvorno kodo pretvoriti v strojno razumljivo strojno kodo. Prevajalnik je programska oprema, ki pretvarja izvorno kodo v strojno kodo, prevajalnik za enostranski in večdelni prevajalnik pa sta dve vrsti prevajalcev.

Pokrita ključna območja

1. Kaj je prevajalnik z enojnim prehodom
- Opredelitev, funkcionalnost
2. Kaj je večplastni prevajalnik
- Opredelitev, funkcionalnost
3. Kakšna je razlika med posameznimi in večplastnimi prevajalniki
- Primerjava ključnih razlik

Ključni pogoji

Enotni prevajalnik, Multipass prevajalnik


Kaj je prevajalnik za en prehod

Obstajajo številne faze procesa zbiranja podatkov. Prevajalnik z enojnim prehodom izvede en sam prehod skozi izvorno besedilo, razčlenjevanje, analiziranje in generiranje kode samo enkrat. Z drugimi besedami, omogoča, da izvorna koda preide skozi vsako enoto za prevajanje samo enkrat. Tako takoj prevede vsako kodno sekcijo v končno strojno kodo.


Slika 1: Prevajalnik

Glavne faze prevajalnika z enojnim prehodom so leksikalna analiza, sintaktična analiza in generator kode. Prvič, leksikalna analiza skenira izvorno kodo in jo deli na žetone. Vsak programski jezik ima slovnico. Predstavlja sintakso in pravne izjave jezika. Sintaktična analiza nato opredeli jezikovne konstrukte, ki jih opisuje slovnica. Končno, generator kode generira ciljno kodo. Na splošno prevajalnik z enojnim prehodom kode ne optimizira. Poleg tega ni vmesne generacije kode.

Kaj je Multipass Compiler

Večplastni prevajalnik naredi izvorno kodo skozi razčlenjevanje, analiziranje, generiranje itd. Večkrat, pri tem pa po vsaki fazi generira vmesno kodo. Program pretvori v eno ali več vmesnih predstavitev v korakih med izvorno kodo in strojno kodo. Ponovno obdeluje celotno enoto prevajanja v vsakem zaporednem prehodu.

Vsak prehod vzame rezultat prejšnjega prehoda kot vhod in ustvari vmesni izhod. Prav tako se v vsakem prehodu koda izboljša, dokler končni prehod ne ustvari končne kode. Večstranski prevajalnik izvaja dodatne naloge, kot so generiranje vmesne kode, optimizacija strojno odvisnih kod in optimizacija kode.


Slika 2: Multipass Compiler

Večstranskim prevajalcem je na voljo več prednosti. So strojno neodvisni in vključujejo modularno strukturo. Generiranje kode se loči od drugih korakov zbiranja. Zato se lahko prehodi ponovno uporabijo za različne stroje ali strojno opremo. Poleg tega predstavlja bolj zapletene in ekspresivne jezike.

Razlika med posameznimi in večplastnimi prevajalniki

Opredelitev

Prevajalnik z enojnim prehodom je vrsta prevajalnika, ki preide skozi dele vsake enote za prevajanje samo enkrat, tako da vsak odsek kode takoj prevede v končno strojno kodo. Multipasovni prevajalnik je vrsta prevajalnika, ki večkrat obdeluje izvorno kodo ali abstraktno drevo sintakse programa. Zato te definicije pojasnjujejo glavno razliko med enostarnim in večdelnim prevajalnikom.

Hitrost

Hitrost je glavna razlika med enojnim in večdelnim prevajalnikom. Multipasovni prevajalnik je počasnejši od prevajalnika z enojnim prehodom, ker se vsak prehod prebere in zapiše vmesno datoteko.

Sinonimi

Enotni prevajalnik se imenuje tudi ozki prevajalnik, medtem ko se prevajalnik za več prednikov imenuje širok prevajalnik.

Področje uporabe

Poleg tega ima prevajalnik z enojnim prehodom omejeno področje uporabe, medtem ko ima večstranski prevajalnik večji obseg.

Optimizacija kode

Druga razlika med enojnim in večdelnim prevajalnikom je v tem, da v prevajalniku z enojnim prehodom ni kode optimizacije, za razliko od prevajalnika, ki ima optimizacijo kode.

Vmesne kode

Vmesne kode prav tako razlikujejo med enojnim in večdelnim prevajalnikom. V prevajalnikih z enojnim prehodom ni generacije vmesne kode. Vendar pa obstaja generiranje vmesne kode v večdelnih prevajalnikih.

Kompilacijski čas

Poleg tega je prevajalnik z enojnim prehodom potreben minimalen čas za prevajanje, če ga primerjamo s prevajalnikom z več predali.

Poraba pomnilnika

Tudi poraba pomnilnika v prevajalniku z več predali je višja od porabe enojnega prevajalnika. Torej je to še ena razlika med enojnim in večdelnim prevajalnikom.

Programski jeziki

Programske jezike, kot je Pascal, je mogoče uporabiti z enojnim prevajalnikom, medtem ko se programski jeziki, kot je Java, lahko izvedejo z uporabo večznačilnega prevajalnika. Torej, to je še ena razlika med enojnim in večdelnim prevajalnikom.

Zaključek

Enotni prehod in prevajalnik za več ukazov sta dve vrsti prevajalcev. Razlika med enojnim in večdelnim prevajalnikom je v tem, da je prevajalnik z enojnim prehodom prevajalnik, ki prenaša izvorno kodo skozi vsako enoto za prevajanje samo enkrat, medtem ko večstranski prevajalnik loči prevajanje na več prehodov, kjer se bo vsak prehod nadaljeval z rezultatom prejšnjega prehoda. .

Sklic:

1. “Prevajalnik pass1 in 2.” Scribd, Scribd,