SW wykład 6 - Slajd1
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.