Symbol tableEen symbol table is in de informatica een datastructuur die voornamelijk gebruikt wordt in compilers en interpreters. Een symbol table associeert met iedere identifier in de broncode een verzameling informatie over deze identifier, zoals het datatype van de variabele die door de identifier aangeduid wordt en de plaats in het geheugen waar de inhoud van de variabele te vinden is. De implementatie van symbol tables wordt gecompliceerd door twee factoren:
DebuggingDe in door de compiler samengestelde symbol table wordt in de regel in de objectcode opgeslagen. Deze tabel, samen met informatie over bestanden en regelnummers waar het symbool is gedefinieerd (de debug info), dient als basis voor zogeheten symbolic- of sourcelevel debuggers, die in tegenstelling tot klassieke debuggers niet alleen een geheugenadres, maar ook de naam van de variabele in de programmatekst weergeven. Omdat hiermee een rechtstreekse link kan worden gelegd tussen een (reeks van) geheugenadres(sen) en de symbolische naam, vereenvoudigt dit het vinden van fouten in de broncode (de source). |