Разлика између ассемблера и тумача

Ассемблер вс Интерпретер

Генерално, преводилац је рачунарски програм који чита програм написан на једном језику, који се зове изворни језик, и преводи га у други језик, који се зове циљни језик. Традиционално, изворни језик је језик високог нивоа, као што је Ц ++, а циљни језик је језик ниског нивоа, као што је скупштински језик. Међутим, постоје преводиоци који могу претворити изворни програм написан на језику скупштине и претворити га у машински код или објектни код. Монитори су такав алат. Са друге стране, тумачи су алати који извршавају упутства написана на неком програмском језику. Интерпретер може или директно извршити изворни код високог нивоа или их превести у средњи код и затим га интерпретирати или извршити прекомпајлирани код.

Шта је Ассемблер?

Ассемблер је софтвер или алат који преводи скупштински језик у машински код. Дакле, монтажер је врста преводилаца, а изворни код је написан на скупштинском језику. Састављање је људски разумљив језик, али обично има однос један на један са одговарајућим машинским кодом. Стога се каже да монтажер изоморфни (један на један пресликавање) преводи. Напредни алата за монтирање пружају додатне функције које подржавају развој програма и исправљање погрешака. На пример, врста алата за склапање назива макро апаратима пружа макро олакшање.

Шта је преводилац?

Преводилац је рачунарски програм или алат који извршава програмска упутства. Интерпретер може или извршити изворни код директно или претвара извор у средњи код и директно га извршава или извршава унапред компајлирани код произведен од стране преводиоца (неки системи тумача садрже преводилац за овај задатак). Језици попут Перл, Питхон, МАТЛАБ и Руби су примери програмских језика који користе средњи код. УЦСД Пасцал тумачи унапред компајлирани код. Језици као што су Јава, БАСИЦ и Самллталк прво састављају извор у средњем коду који се зове бајт код и затим га интерпретирају.

Која је разлика између ассемблера и преводиоца?

Састављач се може сматрати посебном врстом компајлера, који само језик монтаже преводи у машински код. Преводиоци су алати који извршавају инструкције написане на неком језику. Интерпретерски системи могу да садрже компајлер за пре-састављање кода пре интерпретације, али преводилац се не може назвати посебном врстом преводиоца. Састављачи производе објектни код, који се можда мора повезати помоћу програма за повезивање да би се покренуо на машини, али већина тумача може извршити програм сама. Састављач обично ради један на један превод, али то није тачно за већину преводилаца. Будући да језик монтаже има мапирање "један на један" са машинским кодом, монтажер се може користити за производњу кода који ради врло ефикасно за прилике у којима је перформанс веома важан (на пример графички мотори, уграђени системи са ограниченим хардверским ресурсима у поређењу са личним рачунаром попут микроталасних пећница, веш машина итд.). С друге стране, тумачи се користе када вам је потребна велика преносивост. На пример, исти Јава бајт код може се покренути на различитим платформама помоћу одговарајућег тумача (ЈВМ).