Razlika Između Sastavljača I Sastavljača

Razlika Između Sastavljača I Sastavljača
Razlika Između Sastavljača I Sastavljača

Video: Razlika Između Sastavljača I Sastavljača

Video: Razlika Između Sastavljača I Sastavljača
Video: Priče: Danilo Kiš, život i anegdote 2024, Svibanj
Anonim

Asembler vs Kompilator

Općenito, kompajler je računalni program koji čita program napisan na jednom jeziku, koji se naziva izvornim jezikom, i prevodi ga u drugi jezik, koji se naziva ciljnim jezikom. Tradicionalno je izvorni jezik bio jezik visoke razine kao što je C ++, a ciljni jezik jezik niske razine kao što je skupštinski jezik. Međutim, postoje prevoditelji koji mogu pretvoriti izvorni program napisan na montažnom jeziku i pretvoriti ga u strojni kod ili objektni kôd. Asembleri su takvi alati. Dakle, i asembleri i kompajleri u konačnici proizvode kod koji se može izravno izvršiti na stroju.

Što je sastavljač?

Kompilator je računalni program koji čita program napisan na jednom jeziku, koji se naziva izvornim jezikom, i prevodi ga na drugi jezik, koji se naziva ciljnim jezikom. Najčešće je izvorni jezik jezik visoke razine, a ciljni jezik jezik niske razine. Dakle, općenito se na sastavljače može gledati kao na prevoditelje koji prevode s jednog jezika na drugi. Pored toga, kompajleri izvršavaju neke optimizacije koda. Tipični kompajler sastoji se od nekoliko glavnih komponenata. Prva komponenta je skener (poznat i kao leksički analizator). Skener čita program i pretvara ga u niz tokena. Druga komponenta je parser. Pretvara niz tokena u stablo raščlanjivanja (ili apstraktno stablo sintakse), koje bilježi sintaktičku strukturu programa. Sljedeća komponenta su semantičke rutine koje tumače semantiku sintaktičke strukture. Slijede optimizacije koda i konačna generacija koda.

Što je Asembler?

Assembler je softver ili alat koji prevodi skupštinski jezik u strojni kod. Dakle, asembler je vrsta kompajlera, a izvorni kod napisan je na asemblerskom jeziku. Sastavljanje je razumljiv jezik, ali obično ima jedan prema jedan odnos s odgovarajućim strojnim kodom. Stoga se kaže da asembler izvodi izomorfni (jedan prema jedan preslikavanje) prijevod. Napredni asembleri pružaju dodatne značajke koje podržavaju razvoj programa i procese uklanjanja pogrešaka. Na primjer, tip asemblera koji se nazivaju makro asembleri pruža makro objekt.

Koja je razlika između Asemblera i Sastavljača?

Kompilator je računalni program koji čita program napisan na jednom jeziku i prevodi ga na drugi jezik, dok se asembler može smatrati posebnom vrstom kompajlera koji u strojni kôd prevodi samo skupštinski jezik. Prevoditelji obično proizvode strojni izvršni kôd izravno iz jezika visoke razine, ali asembleri proizvode objektni kod koji će možda morati biti povezan pomoću programa za povezivanje da bi se pokrenuo na stroju. Budući da asemblerski jezik ima mapiranje jedan na jedan sa strojnim kodom, asembler se može koristiti za proizvodnju koda koji se izvodi vrlo učinkovito u prilikama u kojima su performanse vrlo važne (npr. Za grafičke motore, ugrađene sustave s ograničenim hardverskim resursima u usporedbi s osobnim računalom poput mikrovalnih pećnica, perilica rublja itd.).

Preporučeno: