Różnica między asemblerem i tłumaczem

Asembler vs Interpreter

Ogólnie rzecz biorąc, kompilator to program komputerowy, który czyta program napisany w jednym języku, który nazywa się językiem źródłowym, i tłumaczy go na inny język, który jest nazywany językiem docelowym. Tradycyjnie język źródłowy jest językiem wysokiego poziomu, takim jak C ++, a językiem docelowym jest język niskiego poziomu, taki jak język asemblera. Istnieją jednak kompilatory, które mogą konwertować program źródłowy napisany w języku asemblera i konwertować go na kod maszynowy lub kod obiektu. Asemblery są takimi narzędziami. Z drugiej strony, tłumacze ustni są narzędziami wykonującymi instrukcje napisane w jakimś języku programowania. Tłumacz może bezpośrednio wykonać kod źródłowy wysokiego poziomu lub przetłumaczyć go na kod pośredni, a następnie zinterpretować go lub wykonać wstępnie skompilowany kod.

Co to jest asembler?

Asembler to oprogramowanie lub narzędzie, które tłumaczy język asemblera na kod maszynowy. Asembler to typ kompilatora, a kod źródłowy jest napisany w języku asemblera. Asembler jest językiem czytelnym dla człowieka, ale zazwyczaj ma relację jeden do jednego z odpowiednim kodem maszynowym. Dlatego mówi się, że asembler wykonuje tłumaczenie izomorficzne (mapowanie jeden do jednego). Zaawansowane asemblery zapewniają dodatkowe funkcje wspierające proces tworzenia i debugowania programu. Na przykład typ asemblerów zwanych asemblerami makr zapewnia funkcję makr.

Co to jest tłumacz ustny??

Tłumacz to program komputerowy lub narzędzie, które wykonuje instrukcje programowe. Tłumacz może albo wykonać kod źródłowy bezpośrednio, albo przekształcić kod źródłowy w kod pośredni i wykonać go bezpośrednio lub wykonać kod prekompilowany wygenerowany przez kompilator (niektóre systemy interpreterów zawierają kompilator do tego zadania). Języki takie jak Perl, Python, MATLAB i Ruby to przykłady języków programowania, które używają kodu pośredniego. UCSD Pascal interpretuje wstępnie skompilowany kod. Języki takie jak Java, BASIC i Samlltalk najpierw kompilują kod źródłowy do kodu pośredniego o nazwie bytecode, a następnie interpretują go.

Jaka jest różnica między asemblerem i tłumaczem?

Asembler można uznać za specjalny typ kompilatora, który tłumaczy tylko język asemblera na kod maszynowy. Tłumacze to narzędzia wykonujące instrukcje napisane w jakimś języku. Systemy tłumaczące mogą zawierać kompilator do kompilacji kodu przed interpretacją, ale tłumacza nie można nazwać specjalnym typem kompilatora. Asemblery wytwarzają kod obiektowy, który może wymagać połączenia za pomocą programów konsolidujących w celu uruchomienia na komputerze, ale większość interpreterów może samodzielnie wykonać program. Asembler zazwyczaj wykonuje tłumaczenie jeden do jednego, ale nie jest to prawdą w przypadku większości tłumaczy. Ponieważ język asemblera ma mapowanie jeden na jeden z kodem maszynowym, asembler może być używany do tworzenia kodu, który działa bardzo wydajnie w sytuacjach, w których wydajność jest bardzo ważna (np. Silniki graficzne, systemy osadzone z ograniczonymi zasobami sprzętowymi w porównaniu do komputera osobistego jak kuchenki mikrofalowe, pralki itp.). Z drugiej strony, tłumacze są używane, gdy potrzebujesz wysokiej przenośności. Na przykład ten sam kod bajtowy Java może być uruchamiany na różnych platformach przy użyciu odpowiedniego interpretera (JVM).