Co to jest kompilator?

Kompilator to specjalny rodzaj programu komputerowego, który tłumaczy czytelny dla człowieka plik tekstowy na formę łatwiejszą do zrozumienia przez komputer. Na najbardziej podstawowym poziomie komputer może zrozumieć tylko dwie rzeczy, 1 i 0. Na tym poziomie człowiek będzie działał bardzo wolno i uzna informacje zawarte w długim ciągu 1 i 0 za niezrozumiałe. Kompilator to program komputerowy wypełniający tę lukę.

Na początku kompilatory były bardzo prostymi programami, które potrafiły tłumaczyć tylko symbole na bity , cyfry 1 i 0, zrozumiałe dla komputera. Programy były również bardzo proste, składające się z szeregu kroków, które pierwotnie zostały ręcznie przetłumaczone na dane, które komputer mógł zrozumieć. Było to bardzo czasochłonne zadanie, więc części tego zadania zostały zautomatyzowane lub zaprogramowane, a pierwszy kompilator został napisany. Ten program skompilował lub skompilował kroki wymagane do wykonania programu krok po kroku.

Te proste kompilatory zostały użyte do napisania bardziej wyrafinowanego kompilatora. W nowszej wersji można dodać więcej reguł do programu kompilatora, aby umożliwić bardziej naturalną strukturę języka dla ludzkiego programisty. Ułatwiło to pisanie programów i pozwoliło większej liczbie osób rozpocząć pisanie programów. Gdy coraz więcej osób zaczęło pisać programy, więcej pomysłów na temat pisania programów było oferowanych i wykorzystywanych do tworzenia bardziej wyrafinowanych kompilatorów. W ten sposób programy kompilujące nadal ewoluują, ulepszają się i stają się łatwiejsze w użyciu.

Programy kompilatora mogą być również wyspecjalizowane. Niektóre struktury językowe lepiej nadają się do określonego zadania niż inne, dlatego opracowano specjalne kompilatory dla określonych zadań lub języków. Niektóre kompilatory są wielostopniowe lub wieloprzebiegowe . Pierwsze przejście może przyjąć bardzo naturalny język i przybliżyć go do języka zrozumiałego dla komputera. Drugie lub nawet trzecie przejście może doprowadzić go do ostatniego etapu - pliku wykonywalnego.

Wyjście pośrednie w kompilatorze wielostopniowym jest zwykle nazywane pseudokodem , ponieważ nie jest możliwe do wykorzystania przez komputer. Pseudo-kod ma bardzo uporządkowaną strukturę, podobnie jak program komputerowy, nie jest swobodny i gadatliwy jak język bardziej naturalny. Ostateczne wyjście nazywane jest plikiem wykonywalnym , ponieważ jest to, co jest faktycznie wykonywane lub uruchamiane przez komputer. Podział zadania w ten sposób ułatwił pisanie bardziej wyrafinowanych kompilatorów, ponieważ każde zadanie podrzędne jest inne. Ułatwiło także komputerowi wskazanie, gdzie miał problem ze zrozumieniem, o co go proszono.

Błędy ograniczające kompilator w rozumieniu programu nazywane są błędami składniowymi . Błędy w sposobie, w jaki funkcje programu są nazywane błędami logicznymi . Błędy logiczne są znacznie trudniejsze do wykrycia i poprawienia. Błędy składniowe są jak błędy ortograficzne, podczas gdy błędy logiczne są trochę bardziej jak błędy gramatyczne.

Opracowano także programy kompilatorów krzyżowych. Kompilator krzyżowy pozwala na skompilowanie zestawu instrukcji tekstowych napisanych dla jednego komputera zaprojektowanego przez określonego producenta i uruchomienie go na innym komputerze przez innego producenta. Na przykład program, który został napisany do uruchamiania na komputerze Intela, można czasem skompilować krzyżowo, aby uruchomić na komputerze opracowanym przez Motorolę. To często nie działa zbyt dobrze. Na poziomie, na którym działają programy komputerowe, sprzęt komputerowy może wyglądać zupełnie inaczej, nawet jeśli może wyglądać podobnie do ciebie.

Kompilacja krzyżowa różni się od tego, że jeden komputer emuluje inny komputer. Jeśli komputer emuluje inny komputer, udaje, że jest innym komputerem. Emulacja jest często wolniejsza niż kompilacja krzyżowa, ponieważ dwa programy działają jednocześnie, program udający drugi komputer i uruchomiony program. Jednak aby kompilacja krzyżowa działała, potrzebujesz zarówno oryginalnego tekstu w języku naturalnym, który opisuje program, jak i komputera, który jest wystarczająco podobny do oryginalnego komputera, na którym program może działać na innym komputerze. Nie zawsze jest to możliwe, dlatego obie techniki są w użyciu.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?