Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.2.DEFINIOWANIESKŁADNI
53
list
list
-
digit
letter
list
-
digit
2
a
digit
5
9
right
=
right
letter
=
right
b
letter
c
RYSUNEK
207:Drzewawyprowadzaniadlagramatyk
złącznościąlewo-iprawostronną
Ciągitakiejak
a=b=c
zoperatoremprawostronniełącznymgenerowane
przeznastępującągramatykę:
stringstring+string|string-string|0|1|2|3|4|5|6|7|8|9
Różnicęmiędzydrzewemwyprowadzaniadlaoperatoralewostronniełącznego,
takiegojak–,atymdlaoperatoraprawostronniełącznego,jak=,pokazuje
rysunek2.7.Zauważmy,żedrzewowyprowadzaniadla
9-5-2
rośniewdółwlewą
stronę,podczasgdydrzewodlaa=b=crośniewdółwprawo.
2.2.G.Priorytetyoperatorów
Rozważmywyrażenie
9+52
.Istniejądwiemożliweinterpretacjetegowyra-
żenia:
(9+5)2
lub
9+(52)
.Regułyłącznościdla
+
i
stosująsiędowy-
stępowaniategosamegooperatora,zatemniepozwalająonerozstrzygnąćtej
niejednoznaczności.Koniecznejestzdefiniowanieregułokreślającychwzględne
priorytetyoperatorów,gdywwyrażeniuwystępujewięcejniżjedenrodzaj
operatora.
Mówimy,że
mawyższypriorytetniż
+
,jeślidziałanie
należywykonać
wcześniejniżdziałanie
+
.Wzwykłejarytmetycemnożenieidzieleniemają
wyższypriorytetniżdodawanieiodejmowanie.Dlategoargumentemoperatora
zarównowwyrażeniu
9+52
,jaki
95+2
będzie5;wyrażeniateodpowiednio
równoważnenapisom9+(52)oraz(95)+2.
Przykład2.6:
Gramatykawyrażeńarytmetycznychmożezostaćskonstru-
owananapodstawietabelipokazującejłącznośćipriorytetyoperatorów.Za-
cznijmyodczterechpodstawowychdziałańarytmetycznychitabelipriorytetów
pokazującejoperatorywkolejnościrosnącegopriorytetu.Operatorywtym
samymwierszumajątakąsamąłącznośćipriorytet:
łącznośćlewostronna:
łącznośćlewostronna:
+-
*/