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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Salwicki (dyskusja | edycje)
Nie podano opisu zmian
Salwicki (dyskusja | edycje)
 
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 3: Linia 3:
== Zadanie 1 ==
== 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.
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''.
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.

Aktualna wersja na dzień 04:42, 2 paź 2006

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.