Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział1
Wprowadzenie
Językiprogramowaniasposobamizapisuprzestawiającymiobliczeniawsposób
zrozumiałydlaludziidlamaszyn.Świat,jakidziśznamy,uzależnionyjestod
językówprogramowania,gdyżcałeoprogramowaniedziałającenawszystkich
komputerachzostałonapisanewjakimśjęzykuprogramowania.Jednakzanim
możliwebędzieuruchomienieprogramu,musionnajpierwzostaćprzetłumaczony
dopostaci,wktórejkomputerbędziemógłgowykonać.
Systemyprogramowe,którewykonujątotłumaczenie,nazywamykompilato-
rami.
Książkatajestpoświęconaprojektowaniuiimplementacjikompilatorów.
Pokażemywniej,żekilkaelementarnychkoncepcjipozwalaskonstruowaćtrans-
latorydlaogromnejróżnorodnościjęzykówimaszyn.Opróczsamychkompilato-
rów,zasadyitechnikiichprojektowaniamajązastosowaniewtakwieluinnych
dziedzinach,żezapewnezostanąwielokrotnieponownieużytewpracyinforma-
tyka.Studiowaniepisaniakompilatorówoznaczapoznawanietakichzagadnień,
jakjęzykiprogramowania,architekturakomputerów,teoriajęzyka,algorytmy
iinżynieriaoprogramowania.
Wtymwstępnymrozdzialeprzedstawimyróżneformytranslatorówjęzyko-
wych,zaprezentujemyogólnyprzeglądstrukturytypowegokompilatoraiprze-
dyskutujemytrendywystępującewjęzykachprogramowaniaiarchitekturach
komputerów,któremająwpływnakształtowaniekompilatorów.Dołączymyteż
pewnespostrzeżeniadotyczącezależnościmiędzyprojektowaniemkompilatorów
ateoriamiinformatycznymioraznaszkicujemyzastosowaniatechnikwłaściwych
dlakompilacji,którewykraczająpozasamąkompilację.Zakończymyskróto-
wymprzedstawieniemkluczowychkoncepcjijęzykówprogramowania,którebędą
niezbędnewnaszychbadaniachnadkompilatorami.
1.1.Translatory
Mówiącwuproszczeniu,kompilatorjestprogramem,którypotrafiprzeczytać
programsformułowanywjednymjęzykujęzykuźródłowymiprzełożyć