Metody realizacji języków programowania/MRJP Ćwiczenia 5: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Zaroda (dyskusja | edycje)
Nie podano opisu zmian
 
Zaroda (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
== Wstęp ==
== Wstęp ==


W poniższych zadaniach używamy m.in. następujących definicji funkcji
== Zadanie ==


  S f g x = (f x) (g x)
== Zadanie ==
  K x y = x
  main = S K K 7


== Zadanie - zmienne nielokalne ==
== Zadanie ==
 
Rozważmy język ze strukturą blokową i funkcjami lokalnymi (np. wariant Pascala), dopuszczający funkcje jako argumenty i wyniki funkcji.
Podaj przykład funkcji dającej w wyniku swoją funkcję lokalną, oraz jej wywołania, które mogą przysporzyć kłopotu przy klasycznej implementacji ze stosemrekordów aktywacji. Wyjaśnij, jaka będzie zawartość stosu po takim wywołaniu i na czym polega problem.
 
== Zadanie - szablony i redukcje ==
 
* Zbuduj szablony dla funkcji main, S, K.
* Prześledź redukcję funkcji main (obliczenie programu)
 
== Zadanie - G-maszyna ==
 
* Wygeneruj kod dla funkcji main, S, K.
* Prześledź wykonanie przez G-maszynę kodu dla funkcji main.

Wersja z 18:29, 26 wrz 2006

Wstęp

Zadanie

Zadanie

Zadanie