Pok-6-wyk-Slajd27

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Rozszerzenia składni – przykład(4)

Rozszerzenia składni – przykład(4)


Przeprowadzenie lewostronnej faktoryzacji nie jest już takie proste. Musimy wprowadzić dwa dodatkowe nieterminale i istotnie zmodyfikować akcje.

Z nieterminala A będziemy teraz wywodzić pojedynczą literę a oraz resztę ciągu liter a – nieterminal RA. Po zakończeniu wywodzenia RA powiększamy zliczoną liczbę liter a o 1 – tą którą wywiedliśmy przez wywołaniem RA.

W nieterminalu RA możemy natrafić na ciąg pusty – wtedy inicjalizujemy długość ciągu liter a wartością 0 i rozpoczynamy powrót z rekurencji.

Jeżeli natomiast trafimy na literę a, wczytujemy ją i rekurencyjnie kontynuujemy przetwarzanie reszty ciągu, a po każdym powrocie zwiększamy wartość zmiennej przechowującej długość ciągu o 1.

Implementacja przetwarzania ciągu liter b ma identyczną postać z dokładnością do rozpoznawanej litery i wykorzystywanej zmiennej.


<< Poprzedni slajd | Spis treści | Następny slajd >>