Pok-12-wyk-Slajd8

Z Studia Informatyczne
Wersja z dnia 19:14, 30 sie 2006 autorstwa Complak (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Kontrola statyczna – przykład

Kontrola statyczna – przykład


Niektóre z kontroli przeprowadzanych statycznie są relatywnie proste do zaimplementowania. Na przykładzie przedstawionego programu w Adzie można zademonstrować, jakie zadania ma do wykonania kontroler zależności kontekstowych przy sprawdzaniu powtarzania nazw i przepływu sterowania.

W przykładzie mamy dwie zagnieżdżone pętle - jedna jest nazwana ext , druga - int . Etykiety pętli zostały umieszczone na początku pętli – przed instrukcjami loop oraz powtórzone po instrukcjach end loop kończących pętle. Kontroler zależności kontekstowych sprawdza, czy programista zamknął obie pętle zgodnie ze swoimi intencjami, czy też któreś zakończenie pętli jest w niewłaściwym miejscu (taki błąd bez użycia etykiet, jako błąd logiczny, a nie składniowy mógłby przejść niezauważony).Dla odmiany wystąpienie instrukcji exit (w Adzie jest to „bardziej strukturalne goto ) musi być sprawdzone pod kątem użycia w konstrukcji, z której można tą instrukcją wyjść (sprawdzenie przepływu sterowania). Dodatkowo, dzięki użyciu etykiet, możemy sprawdzić, czy instrukcje te znajduje się w obrębie zamierzonych przez programistę instancji pętli (a nie dowolnej pętli).


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