Pagkakaiba sa pagitan ng Assembler at Interpreter

Pagkakaiba sa pagitan ng Assembler at Interpreter
Pagkakaiba sa pagitan ng Assembler at Interpreter

Video: Pagkakaiba sa pagitan ng Assembler at Interpreter

Video: Pagkakaiba sa pagitan ng Assembler at Interpreter
Video: 10 THINGS that you need to know about Judicial Recognition Of Foreign Divorce in the Philippines 2024, Hulyo
Anonim

Assembler vs Interpreter

Sa pangkalahatan, ang compiler ay isang computer program na nagbabasa ng program na nakasulat sa isang wika, na tinatawag na source language, at isinasalin ito sa ibang wika, na tinatawag na target na wika. Ayon sa kaugalian, ang pinagmulang wika ay isang mataas na antas ng wika tulad ng C++ at ang target na wika ay isang mababang antas ng wika tulad ng Assembly language. Gayunpaman, may mga compiler na maaaring mag-convert ng source program na nakasulat sa Assembly language at i-convert ito sa machine code o object code. Ang mga assembler ay ganoong mga kasangkapan. Sa kabilang banda, ang mga Interpreter ay mga tool na nagpapatupad ng mga tagubiling nakasulat sa ilang programming language. Maaaring direktang isagawa ng interpreter ang mataas na antas ng source code o isalin ang mga ito sa intermediate code at pagkatapos ay i-interpret ito o isagawa ang precompiled code.

Ano ang Assembler?

Ang Assembler ay software o isang tool na nagsasalin ng Assembly language sa machine code. Kaya, ang assembler ay isang uri ng compiler at ang source code ay nakasulat sa Assembly language. Ang pagpupulong ay isang wikang nababasa ng tao ngunit karaniwan itong may ugnayan sa isa sa isa sa kaukulang code ng makina. Samakatuwid ang isang assembler ay sinasabing nagsasagawa ng isomorphic (one to one mapping) na pagsasalin. Ang mga advanced na assembler ay nagbibigay ng mga karagdagang feature na sumusuporta sa pag-develop ng program at mga proseso ng pag-debug. Halimbawa, ang uri ng mga assembler na tinatawag na macro assemblers ay nagbibigay ng macro facility.

Ano ang Interpreter?

Ang interpreter ay isang computer program o isang tool na nagsasagawa ng mga tagubilin sa programming. Ang isang interpreter ay maaaring direktang isagawa ang source code o i-convert ang source sa isang intermediate code at isagawa ito nang direkta o isagawa ang precompiled code na ginawa ng isang compiler (ang ilang mga interpreter system ay may kasamang compiler para sa gawaing ito). Ang mga wika tulad ng Perl, Python, MATLAB at Ruby ay mga halimbawa ng mga programming language na gumagamit ng intermediate code. Binibigyang-kahulugan ng UCSD Pascal ang isang precompiled code. Ang mga wika tulad ng Java, BASIC at Samlltalk ay unang pinagsama-sama ang pinagmulan sa isang intermediate code na tinatawag na bytecode at pagkatapos ay bigyang-kahulugan ito.

Ano ang pagkakaiba ng Assembler at Interpreter?

Ang isang assembler ay maaaring ituring na isang espesyal na uri ng compiler, na nagsasalin lamang ng wika ng Assembly sa machine code. Ang mga interpreter ay mga tool na nagsasagawa ng pagtuturo na nakasulat sa ilang wika. Ang mga sistema ng interpreter ay maaaring magsama ng isang compiler upang paunang mag-compile ng code bago ang interpretasyon, ngunit ang isang interpreter ay hindi matatawag na isang espesyal na uri ng isang compiler. Ang mga assembler ay gumagawa ng object code, na maaaring kailangang i-link gamit ang mga linker program upang tumakbo sa isang makina, ngunit karamihan sa mga interpreter ay maaaring kumpletuhin ang pagpapatupad ng isang programa nang mag-isa. Karaniwang gagawa ng one to one na pagsasalin ang isang assembler, ngunit hindi ito totoo para sa karamihan ng mga interpreter. Dahil ang Assembly language ay may one to one mapping na may machine code, maaaring gumamit ng assembler para sa paggawa ng code na gumagana nang napakahusay para sa mga okasyon kung saan napakahalaga ng performance (hal. mga graphics engine, mga naka-embed na system na may limitadong mapagkukunan ng hardware kumpara sa isang personal na computer. tulad ng mga microwave, washing machine, atbp.). Sa kabilang banda, ginagamit ang mga interpreter kapag kailangan mo ng mataas na portability. Halimbawa, ang parehong Java bytecode ay maaaring patakbuhin sa iba't ibang platform sa pamamagitan ng paggamit ng naaangkop na interpreter (JVM).

Inirerekumendang: