Co to jest kompilator, czyli jak sprawić, by komputer zrozumiał, czego od niego oczekujesz?

Spisu treści:

Co to jest kompilator, czyli jak sprawić, by komputer zrozumiał, czego od niego oczekujesz?
Co to jest kompilator, czyli jak sprawić, by komputer zrozumiał, czego od niego oczekujesz?

Wideo: Co to jest kompilator, czyli jak sprawić, by komputer zrozumiał, czego od niego oczekujesz?

Wideo: Co to jest kompilator, czyli jak sprawić, by komputer zrozumiał, czego od niego oczekujesz?
Wideo: Jak z Przyjemnością ZAPAMIĘTAĆ Każde Słowo, Którego Chcesz Się Nauczyć? | Wyzwanie Językowe 3/3 🏆 2024, Może
Anonim

Końcowym etapem tworzenia programu jest przetłumaczenie algorytmu napisanego w jednym z języków programowania (C/C++, Pascal itp.) na język maszynowy niskiego poziomu. Wynika to z faktu, że aby wykonać dowolne zadanie, komputery muszą otrzymać polecenia w zrozumiałym dla nich języku, zbliżonym do binarnego i operującym na prymitywnych strukturach danych (bit, bajt lub słowo). Proces tłumaczenia specyficznych dla domeny instrukcji języków wysokiego poziomu na kod binarny nazywa się tłumaczeniem. Istnieją dwie metody tłumaczenia - kompilacja i interpretacja.

kompilator to
kompilator to

Kompilator - co to jest?

Analiza wielu interpretacji terminów „kompilator” i „kompilacja” pozwala nam wyróżnić następującą definicję. Kompilator to program przeznaczony do tłumaczenia tekstu algorytmu źródłowego z języka wysokiego poziomu na równoważny zestaw instrukcji w języku zorientowanym maszynowo. Jest to tak zwany kod obiektowy, służący do późniejszego złożenia otrzymanego kodu obiektowego w gotowy do użycia moduł programu.

Kompilator i interpreter - podobieństwa i różnice

Interpreter to narzędzie, którea także kompilator, przeznaczony do tłumaczenia kodu źródłowego na kod maszynowy. Jednak w przeciwieństwie do kompilatora, interpreter uruchamia się za każdym razem z programem i wykonuje tłumaczenie wiersz po wierszu.

Można powiedzieć, że kompilator i interpreter to procesory języka, które pozwalają komputerowi rozpoznawać i wykonywać polecenia wydawane przez programistę.

Klasyfikacja kompilatora

kompilator to program
kompilator to program

Kompilatory są klasyfikowane głównie według cech związanych z obszarami ich praktycznego zastosowania.

Kompilator wektoryzacji to narzędzie, które tłumaczy kod źródłowy na kod obiektowy i jest przystosowany do komputerów wyposażonych w procesory wektorowe.

Elastyczny kompilator jest programowany w języku wysokiego poziomu w sposób modułowy. Jego zarządzanie odbywa się za pomocą tabel. Możliwe jest również wykonanie go za pomocą kompilatora kompilatorów.

Kompilator przyrostowy to procesor języka, który ponownie tłumaczy oddzielne fragmenty kodu źródłowego i dodatki do niego. Jednak pozwala uniknąć ponownej kompilacji całej aplikacji.

Kompilator interpretacyjny (krokowy) to narzędzie, które sekwencyjnie wykonuje niezależną kompilację każdej instrukcji lub polecenia kodu źródłowego wysokiego poziomu.

Kompilator kompilatorów to tłumacz zdolny do przyjęcia formalnego opisu dla języka programowania i niezależnego generowania kompilatora dla dowolnego języka.

kompilator i interpreter
kompilator i interpreter

Kompilator debugowania pozwala znaleźć i naprawić niektóre rodzaje błędów składniowych popełnionych podczas pisania kodu źródłowego

Rezydentny kompilator zajmuje stałe miejsce w pamięci RAM i dlatego może być ponownie użyty do wielu różnych zadań.

Skompilowany kompilator jest napisany w tym samym języku co tłumaczenie.

Uniwersalny kompilator jest oparty na formalnym opisie parametrów semantycznych i składniowych języka wejściowego. Głównymi składnikami takiego narzędzia są moduły ładujące rdzeń, składniowe i semantyczne.

Urządzenie kompilujące

Kompilator i linker są sercem każdego kompilatora. Często podczas kompilacji używany jest zewnętrzny linker, a sam kompilator wykonuje tylko funkcję tłumaczenia. Zdarza się również, że kompilator jest zaimplementowany jako rodzaj programu zarządzającego, który jest powiązany z translatorem (lub tłumaczami, jeśli podczas pisania kodu źródłowego były używane różne języki programowania) i linkerem i w razie potrzeby uruchamia ich wykonanie.

Języki programowania i metody tłumaczenia

kompilator języka
kompilator języka

Pomimo tego, że program napisany w dowolnym języku programowania może być zarówno kompilowany, jak i interpretowany, wiele języków wysokiego poziomu ma predyspozycje do tej lub innej metody tłumaczenia. Tak więc język C był pierwotnie przeznaczony do kompilacji, a Java do interpretacji napisanego programu. są rozwijaneKompilatory C są dość proste, dzięki stosunkowo niskiemu poziomowi i niewielkiej liczbie elementów strukturalnych.

Zalety i wady kompilatorów i interpreterów. Aplikacje

Zauważ, że skompilowane aplikacje są szybsze niż interpretowane, ale jednocześnie kod maszynowy uzyskany w wyniku kompilacji zależy od platformy sprzętowej. Tak więc program napisany i skompilowany dla Windows nie będzie działał na przykład w Linuksie. Dlatego w przypadku aplikacji internetowych, gdy nie można z góry powiedzieć, w jakim środowisku będą pracować, używają interpretacji lub kodu bajtowego (w tym przypadku program źródłowy jest konwertowany do postaci pośredniej, którą można wykonać na różnym sprzęcie platformy).

Zalecana: