SW wykład 5 - Slajd17: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 11: | Linia 11: | ||
Najistotniejsza jest tu klauzula dla deklaracji procedury: wyraźnie | Najistotniejsza jest tu klauzula dla deklaracji procedury: wyraźnie | ||
wskazujemy, jaki zasięg ma możliwe rekurencyjne uwikłanie semantyki | wskazujemy, jaki zasięg ma możliwe rekurencyjne uwikłanie semantyki | ||
procedury | procedury przez stałopunktową definicję znaczenia procedury jako | ||
funkcji zadanej przez znaczenie jej ciała w danym środowisku zmiennych | funkcji zadanej przez znaczenie jej ciała w danym środowisku zmiennych | ||
i środowisku procedur zmodyfikowanym wyraźnie przez przypisanie | i środowisku procedur zmodyfikowanym wyraźnie przez przypisanie |
Aktualna wersja na dzień 14:31, 29 wrz 2006
Bloki i deklaracje Lokacje Funkcje semantyczne Konwencje notacyjne Instrukcje Klauzule semantyczne Klauzule semantyczne, c.d. Deklaracje Deklaracje, c.d. Semantyka bloków Procedury Wiązania zmiennych Semantyka Tiny++ Semantyka Tiny++ Rekurencja Semantyka procedur rek. Semantyka procedur rek.

Podajemy tu klauzule semantyczne dla instrukcji i deklaracji procedur rozszerzonego języka TINY w wersji dla wiązania statycznego. Istotnie nowe i inne niż dla wersji z wiązaniem dynamicznym są tylko klauzule dla deklaracji procedur i dla ich wywołań (inna formalnie jest też klauzula dla bloków, która dodatkowo musi przekazać środowisko zmiennych do semantyki deklaracji procedur).
Najistotniejsza jest tu klauzula dla deklaracji procedury: wyraźnie wskazujemy, jaki zasięg ma możliwe rekurencyjne uwikłanie semantyki procedury przez stałopunktową definicję znaczenia procedury jako funkcji zadanej przez znaczenie jej ciała w danym środowisku zmiennych i środowisku procedur zmodyfikowanym wyraźnie przez przypisanie rekurencyjnie definiowanej funkcji ze składów w składy jako znaczenia deklarowanej procedury. Reszta to już tylko techniczne szczegóły przekazania odpowiednio zmodyfikowanego środowiska procedur do ciągu pozostałych deklaracji.
Klauzula dla wywołań procedury nie zawiera już żadnych (ani jawnych, ani niejawnych) komplikacji: znaczeniem wywołania procedury w danym środowisku zmiennych i procedur jest funkcja ze składów w składy, która jest przypisana wywoływanej procedurze w odpowiednim środowisku. Zauważmy, że środowisko zmiennych i pozostałe wartości przechowywane w środowisku procedur nie mają wpływu na sposób przekształcania składu przez wywołanie procedury.