U ovom ćete članku naučiti razlike između tumača i prevoditelja.
Općenito pišemo računalni program na jeziku visoke razine. Jezik na visokoj razini razumljiv je nama, ljudima. To se naziva izvornim kodom .
Međutim, računalo ne razumije jezik visoke razine. Razumije samo program napisan u 0 i 1 u binarnom obliku, koji se naziva strojni kod .
Za pretvaranje izvornog koda u strojni kod koristimo kompajler ili tumač .
I prevoditelji i prevoditelji koriste se za pretvaranje programa napisanog na jeziku visoke razine u strojni kod koji razumiju računala. Međutim, postoje razlike između načina na koji rade tumač i kompajler.
Tumač protiv sastavljača
Tumač | Sastavljač |
---|---|
Prevodi program po jedan izraz. | Skenira cijeli program i prevodi ga kao cjelinu u strojni kod. |
Prevoditeljima obično treba manje vremena za analizu izvornog koda. Međutim, ukupno vrijeme izvršavanja relativno je sporije od kompajlera. | Sastavljačima obično treba puno vremena za analizu izvornog koda. Međutim, ukupno vrijeme izvršavanja relativno je brže od tumača. |
Ne generira se posredni objektni kôd, stoga su memorijski učinkoviti. | Generira intermedijarni objektni kod koji nadalje zahtijeva povezivanje, dakle zahtijeva više memorije. |
Programski jezici poput JavaScript, Python, Ruby koriste se tumačima. | Programski jezici poput C, C ++, Java koriste kompajlere. |
Rad sastavljača i tumača
![](https://cdn.wiki-base.com/9260454/interpreter_vs_compiler_differences_between_interpreter_and_compiler.png.webp)