SW wykład 6 - Slajd1: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
{{Semantyka i weryfikacja programów/Wykład 6}} | {{Semantyka i weryfikacja programów/Wykład 6}} | ||
[[Grafika:sw0600.png|center|frame]] | [[Grafika:sw0600.png|center|frame]] | ||
W poprzednim module rozszerzylimy jzyk TINY o bloki z lokalnymi | |||
deklaracjami zmiennych i procedur. Wprowadzenie zmiennych lokalnych | |||
posuyo nam za motywacj dla wprowadzenie pojcia rodowiska | |||
przechowujcego informacje o zadeklarowanych obiektach i niejako | |||
uzupenianego skadem przechowujcym informacje o biecej zawartoci | |||
"pamici". Procedury wprowadzilimy z najprostszej wersji, bez | |||
parametrw. Dokadniej za to analizowalimy dwie strategie wizania | |||
zmiennych i identyfikatorw procedur w ciele procedur: wizanie | |||
dynamiczne i statyczne, oraz ich konsekwencje dla opisu rekurencyjnych | |||
wywoa procedury. | |||
Zajmijmy si teraz dalszym rozszerzeniem jzyka i deklarowanych w jego | |||
programach procedur o moliwoci przekazywania parametrw. Dla | |||
uproszczenia, zajmowa si bdziemy tylko jedn strategi wizania | |||
zmiennych w ciaach procedur: wizaniem statycznym. Pozostawiamy Pastwu | |||
jako interesujce wiczenie powtrzenie wprowadzanych tu poj i | |||
definicji w wersji dla wizania dynamicznego. | |||
Omwimy trzy istotnie rne mechanizmy przekazywania parametrw: | |||
przekazywanie przez warto, przekazywanie przez zmienn i przekazywanie | |||
przez nazw. Dla uproszczenia i jasnoci prezentacji, przyjmiemy, ze | |||
mamy zawsze do czynienia z procedurami jednoparametrowymi, z dokadnie | |||
wskazanym (przez syntaks jzyka) sposobem przekazywania parametru. | |||
Znw, jako ciekawe praktyczne rozszerzenie jzyka pozostawiamy Pastwo | |||
prb opisu realistycznej sytuacji, gdy mamy do czynienia z procedurami | |||
wieloparametrowymi, gdzie kady z parametrw moe by przekazywany w | |||
inny (ale wskazany syntaks deklaracji procedury) sposb. | |||
Podajemy powyej odpowiednie rozszerzenie skadni jzyka TINY. Do | |||
konstrukcji jzykowych budujcych instrukcje dodajemy trzy nowe | |||
postacie wywoania procedur z jednym parametrem, przekazywanym przez | |||
warto, zmienn i nazw, odpowiednio. Skadni deklaracji procedur | |||
rozszerzamy za dodajc trzy nowe postacie deklaracji procedur | |||
jednoparametrowych, znw z parametrem przekazywanym przez warto, | |||
przez zmienn i przez nazw, odpowiednio. |
Wersja z 10:55, 27 wrz 2006
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

W poprzednim module rozszerzylimy jzyk TINY o bloki z lokalnymi deklaracjami zmiennych i procedur. Wprowadzenie zmiennych lokalnych posuyo nam za motywacj dla wprowadzenie pojcia rodowiska przechowujcego informacje o zadeklarowanych obiektach i niejako uzupenianego skadem przechowujcym informacje o biecej zawartoci "pamici". Procedury wprowadzilimy z najprostszej wersji, bez parametrw. Dokadniej za to analizowalimy dwie strategie wizania zmiennych i identyfikatorw procedur w ciele procedur: wizanie dynamiczne i statyczne, oraz ich konsekwencje dla opisu rekurencyjnych wywoa procedury.
Zajmijmy si teraz dalszym rozszerzeniem jzyka i deklarowanych w jego programach procedur o moliwoci przekazywania parametrw. Dla uproszczenia, zajmowa si bdziemy tylko jedn strategi wizania zmiennych w ciaach procedur: wizaniem statycznym. Pozostawiamy Pastwu jako interesujce wiczenie powtrzenie wprowadzanych tu poj i definicji w wersji dla wizania dynamicznego.
Omwimy trzy istotnie rne mechanizmy przekazywania parametrw: przekazywanie przez warto, przekazywanie przez zmienn i przekazywanie przez nazw. Dla uproszczenia i jasnoci prezentacji, przyjmiemy, ze mamy zawsze do czynienia z procedurami jednoparametrowymi, z dokadnie wskazanym (przez syntaks jzyka) sposobem przekazywania parametru. Znw, jako ciekawe praktyczne rozszerzenie jzyka pozostawiamy Pastwo prb opisu realistycznej sytuacji, gdy mamy do czynienia z procedurami wieloparametrowymi, gdzie kady z parametrw moe by przekazywany w inny (ale wskazany syntaks deklaracji procedury) sposb.
Podajemy powyej odpowiednie rozszerzenie skadni jzyka TINY. Do konstrukcji jzykowych budujcych instrukcje dodajemy trzy nowe postacie wywoania procedur z jednym parametrem, przekazywanym przez warto, zmienn i nazw, odpowiednio. Skadni deklaracji procedur rozszerzamy za dodajc trzy nowe postacie deklaracji procedur jednoparametrowych, znw z parametrem przekazywanym przez warto, przez zmienn i przez nazw, odpowiednio.