Czy ktoś interesuje się budową i działaniem kompilatora. Naszukałem i się i naczytałem o tym... ale do tej pory nie wiem jednego! Jak powstaje plik wykonywalny. Kompilator czyta kod źródłowy linia po linii i zamienia go na kod maszynowy? Skąd wie jaki akurat wstawić kod maszynowy. Może konkretne przykłady.
Kompilator a kompilator to wielka roznica, jeden moze linia po lini kompilowac, inny wczyta wszystko i bedzie to robil raz tu, raz tam... nie wiem za bardzo co tu powiedziec bo pytanie troche bez sensu, masz np if 1=2 then [...] to jak to zapiszesz w assemblerze? No mniej wiecej cmp 1, 2; je [...] (oczywiscie tak z grubsza), no i tak ze wszystkim. Potem to jest asemblowane, linkowane i masz exe, dll, elf czy co tam chciales miec.
mobMan napisał(a)
Jak powstaje plik wykonywalny. Kompilator czyta kod źródłowy linia po linii i zamienia go na kod maszynowy? Skąd wie jaki akurat wstawić kod maszynowy. Może konkretne przykłady.
Kompilator zna kody instrukcji prostych; te złożone rozbija na proste i zastępuje to kodami rozkazów procesora, a te (kody i instr. proste) musi mieć dane.
W książce: "Algorytmy+Struktury danych = Programy" Niklausa Wirtha jest trochę o kompilacji w ostatnim rozdziale.