SW wykład 7 - Slajd2

Z Studia Informatyczne
Wersja z dnia 13:07, 28 wrz 2006 autorstwa Tarlecki (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

<<powrót do strony wykładu

Kontynuacje Kontynuacje wyrażeń i deklaracji Tiny+++ Dziedziny semantyczne Funkcje semantyczne Przykłady klauzul [[SW_wykład_7_-_Slajd7|Przykłady klauzul, c.d.] Instrukcje Bloki Skoki Semantyka skoków Semantyka skoków, c.d. Semantyka skoków, c.d. Semantyka skoków, c.d. Semantyka "standardowa"

Kontynuacje dla innych niż instrukcje kategorii językowych jako dodatkowy argument przyjmować będą wartości, które (poza stanem) są wynikiem dla "obróbki" fraz tej kategorii językowej. Uogólniając nieco bowiem intuicję dla kontynuacji instrukcji: kontynuacja dla fraz danej kategorii językowej ma określić końcowe odpowiedzi programu w zależności od informacji dostępnej bezpośrednio po "obróbce" danej frazy.

I tak: instrukcje poza (zmodyfikowanym) stanem nie mają dodatkowych wyników, więc ich kontynuacje są takie, jak zdefiniowaliśmy na poprzednim slajdzie.

Wyrażenia jako wynik dają wartość (liczbową dla wyrażeń arytmetycznych i logiczną dla wyrażeń logicznych). Zatem ich kontynuacje są funkcjami, które wartościom (liczbowym dla wyrażeń arytmetycznych i logicznym dla wyrażeń logicznych) przyporządkowują kontynuacje instrukcji (funkcje, które stanom przyporządkowują odpowiedzi).

Deklaracje jako wynik dają środowiska (zmiennych dla deklaracji zmiennych i procedur dla deklaracji procedur). Zatem ich kontynuacje są funkcjami ze środowisk (zmiennych dla deklaracji zmiennych i procedur dla deklaracji procedur) w kontynuacje instrukcji (funkcje, które stanom przyporządkowują odpowiedzi).