Pok-3-wyk-Slajd17
Wyrażenia regularne w LEX’e(3)
Przyjrzyjmy się konstrukcji prostych wyrażeń regularnych zgodnych z notacją programu LEX. Na slajdzie znajduje się wyrażenie regularne akceptujące słowa kluczowe języka Pascal BEGIN oraz END. Ponieważ język programowania pascal jest językiem ignorującym wielkość liter w słowach kluczowych i zmiennych, więc każde ze słów kluczowych może być zapisane tylko wielkimi literami, tylko małymi literami bądź za pomocą dowolnej kombinacji wielkich i małych liter.
Wyrażenie regularne zapisane w ramce jest alternatywą złączenia klas. Każda klasa zawiera małą oraz wielką literę.
Każde ze złączeń daje w wyniku poprawne słowo kluczowe. Alternatywa pozwala wybrać jedno z tych słów.
Spójrzmy więc jakie napisy znajdujące się w strumieniu danych wejściowych będą akceptowane przez to wyrażenie regularne. Zgodnie z przewidywaniami są to m.in. : end (zapisane tylko małymi literami), END (zapisane tylko wielkimi literami), bEgIN (które zawiera zarówno małe jak i wielkie litery).
Nie akceptowane są natomiast napisy: egin (aby napis ten mógł być zaakceptowany, musiałby mieć jeszcze literę b na początku) oraz napis b e g i n (gdyż zawiera spację pomiędzy literami).