Pok-12-wyk-Slajd22
Z Studia Informatyczne
Kontroler typów - tablica symboli
Bardzo ważną strukturą danych używaną w kontrolerze typów jest tablica symboli. Służy ona do przechowywania informacji o nazwach zadeklarowanych symboli i skojarzonych z nimi typach.
W przypadku rozważanego (prostego) języka, wystarczy użyć najbardziej elementarnej implementacji listowej, której szkielet przedstawiono w przykładzie. Każdy element listy zawiera informację o symbolu i jego typie oraz wiązanie do kolejnego elementu listy jednokierunkowej.
Dwie funkcje pomocnicze służą do:
- wyszukiwania symboli na liście (lookup ), funkcja zwraca typ odnalezionego symbolu albo type_error w przypadku niepowodzenia,
- dodawania symboli ( addtype ), funkcja dodaje do listy symbol i jego typ, w razie niepowodzenia zwraca informację o błędzie (brak pamięci albo symbol jest już zadeklarowany).