Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
8
ROZDZIAŁ1.WPROWADZENIE
position=initial+rate*60
Analizatorleksykalny
1
2
3
position
initial
rate
lll
lll
lll
Tablicasymboli
(id71>
(id71>
id1tok=id2tok+id3toktok60
Generatorkodupośredniego
Analizatorsemantyczny
Analizatorskładniowy
t1=inttofloat(60)
t2=id3*t1
t3=id2+t2
id1=t3
(id72>
id72>
=
=
(id73>
(id73>
+
+
inttofloat
60
60
Optymalizatorkodu
t1=id3*6000
id1=id2+t1
Generatorkodu
LDF
MULFR2,R2,#6000
LDF
ADDFR1,R1,R2
STF
R2,id3
R1,id2
id1,R1
RYSUNEK
107:Translacjawyrażeniaprzypisania
Kolejnefazydziałaniakompilatorawykorzystująstrukturęgramatyczną
doanalizowaniaprogramuźródłowegoiwygenerowaniaprogramuwynikowego.
Wrozdziale4pokażemyużyciegramatykbezkontekstowychdospecyfikowania
gramatycznejstrukturyjęzykówprogramowaniaiomówimyalgorytmyautoma-
tycznegokonstruowaniawydajnychanalizatorówskładniowychdlaokreślonych
klasgramatyk.Wrozdziałach2i5pokażemy,żedefinicjesterowaneskładnią
mogąpomócwuściśleniutłumaczeniakonstrukcjijęzykówprogramowania.