Semantyka i weryfikacja programów/Ćwiczenia 11: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
m Zastępowanie tekstu – „ </math>” na „</math>” |
||
Linia 35: | Linia 35: | ||
</math> | </math> | ||
Wyrażenie <math> b\, ?\, e_1\, :\, e_2 </math> to wyrażenie warunkowe. Wylicza się go wyliczając najpierw <math>b</math>. Jeśli wyliczy się ono do prawdy, to wartością całego wyrażenia jest wartość wyrażenia <math>e_1</math>, a w przeciwnym razie wartość wyrażenia <math>e_2</math>. | Wyrażenie <math> b\, ?\, e_1\, :\, e_2</math> to wyrażenie warunkowe. Wylicza się go wyliczając najpierw <math>b</math>. Jeśli wyliczy się ono do prawdy, to wartością całego wyrażenia jest wartość wyrażenia <math>e_1</math>, a w przeciwnym razie wartość wyrażenia <math>e_2</math>. | ||
=== Zadanie 2 === | === Zadanie 2 === |
Wersja z 10:44, 5 wrz 2023
Semantyka w pełni kontynuacyjna
Zadanie 1
Zdefiniuj kontynuacyjną semantykę następującego języka:
Wyrażenie to wyrażenie warunkowe. Wylicza się go wyliczając najpierw . Jeśli wyliczy się ono do prawdy, to wartością całego wyrażenia jest wartość wyrażenia , a w przeciwnym razie wartość wyrażenia .
Zadanie 2
Tym razem większy przykład. Spróbujemy zdefiniować semantykę języka wzorowanego "nieco" na języku programowania C. Oto składnia:
Zadanie 3
Zmień semantykę powyższego języka tak, aby przekazywanie parametrów odbywało się przez nazwę.
Zadanie 4
Zmień semantykę powyższego języka tak, aby przekazywanie parametrów odbywało się metodą copy-in copy-out.