Sestavljalec vs Tolmač
Na splošno je prevajalnik računalniški program, ki bere program, napisan v enem jeziku, ki se imenuje izvorni jezik, in ga prevede v drug jezik, ki se imenuje ciljni jezik. Tradicionalno je izvorni jezik jezik visoke ravni, kot je C ++, ciljni jezik pa jezik nizke ravni, kot je skupščinski jezik. Vendar obstajajo prevajalniki, ki lahko pretvorijo izvorni program, napisan v montažnem jeziku, in ga pretvorijo v strojno kodo ali objektno kodo. Monterji so takšna orodja. Po drugi strani pa so tolmači orodja, ki izvajajo navodila, napisana v nekem programskem jeziku. Tolmač lahko neposredno izvede izvorno kodo na visoki ravni ali pa jo prevede v vmesno kodo in nato interpretira ali izvede vnaprej prevedeno kodo.
Kaj je Asembler?
Assembler je programska oprema ali orodje, ki jezik zbirke prevede v strojno kodo. Torej, asembler je vrsta prevajalnika in izvorna koda je napisana v montažnem jeziku. Sestavljanje je razumljiv jezik, vendar ima običajno razmerje ena do ena z ustrezno strojno kodo. Zato naj bi sestavljalec opravljal izomorfno (preslikavo ena proti ena). Napredni sestavljavci ponujajo dodatne funkcije, ki podpirajo razvoj programov in postopke odpravljanja napak. Na primer, vrsta sestavljavcev, imenovana makro sestavljavci, ponuja možnost makra.
Kaj je tolmač?
Tolmač je računalniški program ali orodje, ki izvaja programska navodila. Tolmač lahko bodisi neposredno izvede izvorno kodo bodisi jo pretvori v vmesno kodo in jo izvede neposredno ali pa izvede vnaprej prevedeno kodo, ki jo ustvari prevajalnik (nekateri tolmaški sistemi za to nalogo vključujejo prevajalnik). Jeziki, kot so Perl, Python, MATLAB in Ruby, so primeri programskih jezikov, ki uporabljajo vmesno kodo. UCSD Pascal razlaga vnaprej prevedeno kodo. Jeziki, kot so Java, BASIC in Samlltalk, najprej prevedejo vir v vmesno kodo, imenovano bytecode, in jo nato interpretirajo.
Kakšna je razlika med sestavljavcem in tolmačem?
Zbiralnik lahko štejemo za posebno vrsto prevajalnika, ki samo prevede skupščinski jezik v strojno kodo. Tolmači so orodja, ki izvajajo navodila, napisana v nekem jeziku. Tolmaški sistemi lahko vključujejo prevajalnik, ki predprevede kodo pred razlago, vendar tolmača ni mogoče imenovati kot posebno vrsto prevajalnika. Sestavljalci ustvarijo objektno kodo, ki jo bo morda treba povezati s povezovalnimi programi, da se bo lahko zagnala na računalniku, vendar lahko večina tolmačev sam izvede izvedbo programa. Monter običajno opravi prevod ena proti ena, vendar to za večino tolmačev ne drži. Ker ima zbirni jezik preslikavo ena na ena s strojno kodo, se lahko za izdelavo kode, ki deluje zelo učinkovito v primerih, ko je zmogljivost zelo pomembna (za npr. Grafične motorje,vgrajeni sistemi z omejenimi strojnimi viri v primerjavi z osebnimi računalniki, kot so mikrovalovne pečice, pralni stroji itd.). Po drugi strani pa se tolmači uporabljajo, kadar potrebujete visoko prenosljivost. Na primer, isto bajtno kodo Java je mogoče zagnati na različnih platformah z uporabo ustreznega tolmača (JVM).