Разлика између ассемблера и компајлера

Ассемблер вс Цомпилер

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

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

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

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

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

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

Компајлер је рачунарски програм који чита програм написан на једном језику и преводи га на други језик, док се алата за монтажу може сматрати посебном врстом преводиоца који преводи само скупштински језик у машински код. Компајлери обично производе извршни код машине директно са језика високог нивоа, али састављачи производе објектни код који се можда мора повезати помоћу програма за повезивање да би се покренуо на машини. Будући да језик монтаже има мапирање "један на један" са машинским кодом, монтажер се може користити за производњу кода који ради врло ефикасно за случајеве у којима је перформанс веома важан (на пример, графички мотори, уграђени системи са ограниченим хардверским ресурсима у поређењу са личним рачунаром попут микроталасних пећница, веш машина итд.).