Razlika između prevoditelja i prevoditelja

Autor: Monica Porter
Datum Stvaranja: 18 Ožujak 2021
Datum Ažuriranja: 17 Svibanj 2024
Anonim
DElibriLATOR - Što prevoditelji čitaju kada ne prevode
Video: DElibriLATOR - Što prevoditelji čitaju kada ne prevode

Sadržaj

Primarna razlika

Kompajler i interpreter prevode jezične programe više razine, razlika leži u tome što prevodilac sastavlja izvorni kôd u izvršni strojni kod, dok interpreter interpretira svaku uputu i izvršava je bez proizvodnje bilo kakvog strojno / objektnog koda. Rad sastavljača je jednokratno, nakon što se sastavi program; ona se može spremiti za kasnije izvršavanje, dok tumač mora protumačiti svaki put kad se program pokrene. Kôd objekta generira se u slučaju prevoditelja, dok se u interpretatoru ne proizvodi niti jedan objektni kod; ona proizvodi samo međupredmetni kod. Kompajler obrađuje program u cjelini, ali tumač ga obrađuje podukom. U prevoditelju je izvršavanje programa brzo, a u slučaju prevoditelja je sporije, jer je izvođenje interpretacijom izjava i izvršenjem dugotrajno. U prevoditelju je postupak uklanjanja pogrešaka težak u usporedbi s ispravljanjem pogrešaka u tumaču. Kompajler ne zahtijeva izvorni kôd u vrijeme pokretanja, ali u slučaju kada je prevoditelj potreban za izvršavanje programa, potrebna je potpuna datoteka izvornog koda. Kompajleru je potrebno više memorije jer je generirani strojni kod prilično velik, ali u slučaju tumača, nije potrebna dodatna memorija. U prevoditeljima se pogreške u programu prikazuju nakon što se analizira cjelokupni izvorni kod, ali u slučaju prevoditelja, pogreške se prikazuju za svaki interpretirani redak. Sastavljeni kôd izvršava računalni hardver u slučaju prevodilaca, dok kod tumača srednji kôd obrađuje drugi program. U programskom scenariju, prevoditelj provjerava sintaksu programa, ali prevodioci provjeravaju ključne riječi programa. U prevodiocima postoji opseg optimizacije koda i interpreteri dopuštaju izmjenu koda tijekom vremena izvođenja. Oba se programera obično koriste i oba imaju svoje specifikacije i prednosti.


Usporedni grafikon

Tumačkompajler
UlazniPrevoditelj uzima jednu instrukciju kao ulaz.Kompiler uzima cijeli program kao ulaz.
Kod predmetaU Interpreteru se ne generira intermedijarni kôd objekta.Srednji kôd objekta proizvodi se u sastavljaču
Izjave o kontroliSporo izvršavanje uvjetne kontrole u prevoditelju.Izjave o uvjetnoj kontroli brzo se izvršavaju u sastavljaču
KonverzijaProgram više razine svaki put se pretvara u program niže razine.Program ne treba svaki put sastavljati u Compileru.

Definicija sastavljača

Kompajler je specijalizirani program koji obrađuje izvorni kod napisan nekim jezikom više razine u računalno razumljiv strojni kod. Ovaj je strojni kod zapravo na binarnom jeziku koji procesor razumije i izvršava. Za pisanje izvornog koda programer piše program na jeziku poput C, C ++ ili Pascal pomoću nekog uređivača programa. Ovaj se program zatim izvodi pomoću prevoditelja koji je prikladan za jezik na kojem je izvorni kod napisan. Ulaz prevodioca je kompletan program; prvo ga analizira, a zatim obrađuje. Obavlja brojne analize izvornog koda dane kao ulaza, leksičke i sintaktičke analize. Nakon izvođenja oba ova koraka, konačni zadatak prevoditelja je generiranje strojne šifre. Rezultat ove kompilacije je objektni kod i može se izvršiti. Program se sastavlja jednom i ne treba ga sastavljati svaki put kada se program pokrene.


Definicija tumača

Interpreter je program koji izvodi izjavu izjavom (linijom po liniju) prijevod izvornog koda programa napisan na nekom jeziku više razine. Interpretator, kad mu je dodijeljen program, uzima jednu liniju, interpretira ga i zatim izvršava.Interpreter stvara intermedijarni kod nakon interpretacije izvornog koda i stoga ga izvršava. Ne postoji faza kompilacije i ne generira se strojni kod. Ovako prevoditelj prevodi i provodi cijeli program po redak. Poželjno je kada je potrebna neposredna instrukcija izvršenjem upute. Korisni su posebno kada se vrši testiranje koda. Svaki put, kada treba pokrenuti program, interpreter to tumači na isti način.

Razlike u matici

  1. Sastavljač obrađuje cijeli program; tumač tumači kod po red.
  2. Sastavljač proizvodi binarni strojni kod; tumač generira intermedijarni kod.
  3. Strojni kôd prevoditelja može se spremiti i ponovo upotrijebiti nakon sastavljanja; tumač mora interpretirati izvorni kod svaki put.
  4. Sastavljači ispituju valjanost sintakse koda; tumači provjeravaju ključne riječi.
  5. U prevoditelju je izvršavanje programa brzo; u prevoditeljskom programu je sporo.
  6. Otklanjanje pogrešaka je komplicirano kod prevoditelja; uklanjanje pogrešaka u tumačima je jednostavno.
  7. Sastavljači prikazuju pogreške nakon provjere cjelokupnog izvornog koda; tumači prikazuju pogreške svake upute u kodu u navedenom slijedu.
  8. Strojni kod prevoditelja prevoditelja dalje se obrađuje hardverom; posrednički kôd tumača obrađuje drugi specijalizirani program.
  9. Sastavljači ne zahtijevaju datoteku izvornog koda o vremenu izvršenja; tumačima je za izvršavanje vremena potrebna datoteka izvornog koda.
  10. U prevoditeljima se izvršavanje programa vrši nakon faze sastavljanja; tumači izravno izvršavaju program bez ikakvog sastavljanja.
  11. Kompajler koristi više memorije; tumaču je potrebno manje memorije.

Zaključak

Računalna arhitektura i razumijevanje povezanih termina mogu biti problematični zadatak, a ova dva gore navedena pojma slična su raznim međusobnim razlikama, ali uvijek izgledaju slični jedni drugima. Stoga ovaj članak želi objasniti razlike među njima kako bi se ljudima omogućio jasniji razumijevanje.


Glavna razlika između košulje i džempera je u tome Košulja je odjeća za gornji dio tijela i Džemper je pleteni odjevni predmet za gornji dio tijela. košulja Košulja je platneni odjevni predmet za go...

Glavna razlika između Genija i Genijalca je u tome što Genij je netko tko ima izuzetne intelektualne poobnoti i originalnot i Genijalno je genijalno pogrešno napiana. genije Genij je ooba koja pokaz...

Savjetujemo