SW wykład 6 - Slajd12: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
Dorota (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 5: Linia 5:
jeszcze jedną, główną kategorię składniową języka:
jeszcze jedną, główną kategorię składniową języka:
programy. Syntaktycznie, program to po prostu dowolna instrukcja
programy. Syntaktycznie, program to po prostu dowolna instrukcja
oznaczona jako program. Wykonanie programu polega na wykonaniu tej
oznaczona jako program. Wykonanie programu polega na wykonaniu tej
instrukcji w odpowiednim początkowym środowisku zmiennych (gdzie nie
instrukcji w odpowiednim początkowym środowisku zmiennych (gdzie nie
ma żadnych zadeklarowanych zmiennych), w odpowiednim początkowym
ma żadnych zadeklarowanych zmiennych), w odpowiednim początkowym
Linia 24: Linia 24:
w stanie początkowych zawierającym ("pusty") skład początkowy, potok
w stanie początkowych zawierającym ("pusty") skład początkowy, potok
wejściowy zadany jako argument i pusty, zakończony znacznikiem
wejściowy zadany jako argument i pusty, zakończony znacznikiem
<b>eof</b> potok wyjściowy.
<b>eof</b>, potok wyjściowy.


Podsumowuje to i zamyka naszą prezentację tak zwanego "bezpośredniego"
Podsumowuje to i zamyka naszą prezentację tak zwanego "bezpośredniego"
podejścia do semantyki denotacyjnej języków programowania.
podejścia do semantyki denotacyjnej języków programowania.

Aktualna wersja na dzień 15:38, 29 wrz 2006

<<powrót do strony wykładu

Parametry Semantyka procedur Semantyka procedur, c.d. Semantyka procedur bezparametrowych Przekazywanie przez zmienną Przekazywanie przez wartość Przekazywanie przez nazwę Wejście/wyjście Semantyka wejścia/wyjścia Semantyka wejścia/wyjścia, c.d. Semantyka wejścia/wyjścia, c.d. Programy Problem Nowe podejście Kontynuacje

Podsumowując dotychczasowe rozszerzenie języka TINY, wprowadźmy jeszcze jedną, główną kategorię składniową języka: programy. Syntaktycznie, program to po prostu dowolna instrukcja oznaczona jako program. Wykonanie programu polega na wykonaniu tej instrukcji w odpowiednim początkowym środowisku zmiennych (gdzie nie ma żadnych zadeklarowanych zmiennych), w odpowiednim początkowym środowisku procedur (gdzie nie ma żadnych zadeklarowanych procedur) i w odpowiednim stanie początkowym (gdzie w składzie żadna lokacja nie jest jeszcze wykorzystana). W ten sposób niejako domykamy kontekst, w którym wykonywana jest "główna" (i jedyna) instrukcja programu, pozostawiając jedynie możliwość komunikacji z otoczeniem przez wczytywanie wejścia i pisanie na wyjście.

Tak też opisujemy znaczenie programów: jako funkcje z potoków wejściowych w potoki wyjściowe (dopuszczające możliwość sygnalizacji błędów). Jedyna klauzula semantyczna definiuje tę funkcję, odwołując się do znaczenia instrukcji programu. Dla danego potoku wejściowego, wynik programu to potok wyjściowy wydobyty ze stanu, który jest wynikiem znaczenia instrukcji programu w ("pustym") środowisku początkowym zmiennych, w ("pustym") środowisku początkowym procedur i w stanie początkowych zawierającym ("pusty") skład początkowy, potok wejściowy zadany jako argument i pusty, zakończony znacznikiem eof, potok wyjściowy.

Podsumowuje to i zamyka naszą prezentację tak zwanego "bezpośredniego" podejścia do semantyki denotacyjnej języków programowania.