Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
2.2.DEFINIOWANIESKŁADNI
47
Tokenyversusterminale
Analizatorleksykalnykompilatoraodczytujeznakiprogramuźródłowego,
grupujejewleksykalnieznaczącejednostkizwaneleksemamiiprodukuje
jakowyjścietokeny,reprezentująceteleksemy.Tokenskładasięzdwóch
komponentów:nazwytokenuorazwartościatrybutu.Nazwatokenujest
symbolemabstrakcyjnymużywanymprzezparserpodczasanalizyskładnio-
wej.Częstobędziemynazywaćtetokenyterminalami,gdyżwystępująone
jakosymboleterminalnewgramatycejęzykaprogramowania.Wartośćatry-
butuoilejestobecnajestwskaźnikiemdotablicysymbolizawierającej
dodatkoweinformacjeotokenie.Tedodatkoweinformacjenieczęścią
gramatyki,zatemwnaszejdyskusjinatematanalizyskładniowejbędziemy
częstozamiennieużywaćterminówtokeniterminal(symbolterminalny).
2.
Skończonyzbiórsymbolinieterminalnych(wskrócienieterminali),nazywa-
nychnzmiennymisyntaktycznymi”
.Każdysymbolnieterminalnyoznacza
zbiórciągówutworzonychzsymboliterminalnychwsposób,któryzamie-
rzamyopisać.
3.
Zbiórprodukcji,przyczymkażdaprodukcjaskładasięzsymbolunietermi-
nalnegonazywanegonagłówkiemlublewąstronąprodukcji,strzałkioraz
sekwencjiterminalilubnieterminali,nazywanejciałemlubprawąstroną
produkcji.Intuicyjnymcelemprodukcjijestokreśleniejednejzmożliwych
formkonstrukcjijęzykowej;jeślinagłówkowynieterminalreprezentuje
pewnąkonstrukcję,wówczasciałoprodukcjiprzedstawiaformęzapisu
tejkonstrukcji.
4.
Jedenwyróżnionysymbolnieterminalnyjesttraktowanyjakosymbol
startowy.
Specyfikowaniegramatykiwykonujemy,wyliczającjejprodukcje,zaczynającod
produkcjidlasymbolustartowego.Przyjmujemy,żecyfry,znakispecjalne,na
przykład
+
,
<
lub
<=
orazsłowawytłuszczone,takiejak
while
,symbolamiter-
minalnymi.Nazwapisanakursywąjestnieterminalem,wprzypadkuzaśdowolnej
nazwylubsymboluniewyróżnionegokursywąmożemyprzypuszczać,żejest
toterminal
1
.Dlaczytelniejszegozapisubędziemygrupowaćprodukcjemające
jakonagłówektensamnieterminal,poprawejstronietworzącalternatywęciał
poszczególnychprodukcji.Ciałaterozdzielamysymbolem
|
,któryodczytujemy
jakonlub”.
1
Indywidualnychliterpisanychkursywąbędziemyużywaćwdodatkowychcelach,szcze-
gólniepodczaspogłębionejanalizygramatykwrozdziale4.Przykładowobędziemyużywać
X
,
Y
oraz
Z
przyomawianiusymbolu,któryjestalboterminalem,albonieterminalem.
Niemniejjednakdowolnapisanakursywąnazwazawierającadwaiwięcejznakównadal
będziereprezentowaćnieterminal.