Metody realizacji języków programowania/MRJP Ćwiczenia 2

Z Studia Informatyczne
< Metody realizacji języków programowania
Wersja z dnia 04:42, 2 paź 2006 autorstwa Salwicki (dyskusja | edycje) (→‎Zadanie 4)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

autor Andrzej Salwicki (salwicki@mimuw.edu.pl)

Zadanie 1

Skonstruuj przykład programu w wybranym przez Ciebie języku programowania w taki sposób, by dla pewnego wystąpienia identyfikatora Coto mozna było wskazać co najmniej cztery różne deklaracje tego identyfikatora. Jedna z tych deklaracji może opisywać identyfikator Coto jako zmienną, druga jako klasę, trzecia jako tablicę,...

Zrób to tak by usuwanie kolejnych deklaracji tego identyfikatora zmieniało sens programu lub wynik kompilacji.

Zadanie 2

Napisz algorytm przeszukiwania grafu tablicy symboli. Dla danego identyfikatora id oraz węzła w znajdź węzeł v zawierajacy deklarację identyfikatora v. Wrzuć wyjątek "Brak deklaracji" jeśli nie istnieje węzeł v zawierający deklarację identyfikatora id widoczną w module węzła w.

Zadanie 3

Porównaj zasady wiązania wystąpień użytkowych identyfikatorów z wystąpieniami definiującymi odpowiednie identyfikatory obowiązujące w Javie i w C#

Zadanie 4

Napisz algorytm wyznaczający klasy dziedziczone przyjmując upraszczajace założenie, że po słowie extends występuje tylko identyfikator - nazwa klasy.