Definiowanie funkcji i zasięgu widoczności
Marcin Orchel
1 Wstęp
Kontynuacja poprzednich laboratoriów.
2 Zadania
1. Uzupełnić kalkulator dodając do niego możliwość definiowania funkcji z możliwo- ścią deklarowania parametrów wraz z typami.
2. Uzupełnić kalkulator dodając do niego możliwość definiowania bloków (zasięg wi- doczności) np. za pomocą nawiasów klamrowych albo begin, end. Bloki kodu mogą być zagnieżdżone. Wyróżniamy blok globalny i bloki lokalne.
3. Rozróżniać w kalkulatorze zmienne globalne i lokalne, a więc dodać do atrybutów zmiennych informację o jej zasięgu, w przypadku zmiennej lokalnej o konkretnym bloku. Możliwa implementacja bloków to zdefiniowanie osobnej tablicy symboli dla poszczególnych bloków. Sprawdzić poprawność programu ze zmienną o tej samej nazwie globalną i lokalną. Sprawdzić możliwość definiowania wyrażeń np. z = x + y, gdzie x jest zmienną globalną, a y lokalną.
4. Dodać możliwość wywołania funkcji z podanymi argumentami. .
5. Zapewnić automatyczną konwersję typów w wybranych przypadkach, np. dla ar- gumentów funkcji.
2.1 Wskazówki
•
Literatura
1