Hva er et symboltabell?
En symboltabel brukes av datasystemer som en måte å sentralisere informasjon og redusere størrelsen på programmer. Disse tabellene fungerer som nøkkelen til en hemmelig kode; et symbol eller en streng plasseres ved siden av en annen, generelt mye større informasjon. Når et program leser et symbol som er assosiert med symboltabellen, refererer programmet til tabellen og tar informasjonen i stedet for symbolet. Dette lar store deler av informasjon eller ofte gjentatte strukturer bare ha én oppføring, noe som reduserer programmets samlede størrelse.
Konseptet bak et symbolbord er veldig enkelt. En enkelt tabell inneholder et bredt spekter av informasjon som brukes av et program, hver med sin egen oppføring og unike tilknyttede symbol. Denne informasjonen kan være strengene med kode, feilsøkingsinformasjon, minneplasser, bokstavelig talt alt som programmet kan bruke for å fungere. I stedet for å inkludere den informasjonen i programmet, henviser koden ganske enkelt til tabellen ved å bruke det unike symbolet.
Det er to steder hvor en symboltabell er vanlig: ved å samle kode til programmer og ved å koble sammen biblioteker som brukes av flere programmer. Når den brukes i programmer, blir den faktiske tabellen vanligvis absorbert i programmet eller laget til et delt bibliotek på tidspunktet for sammenstillingen. Det er uvanlig å forlate listen atskilt, da endring av listen kan ha ekstreme konsekvenser for programmet. Selv når tabellen er transformert i denne prosessen, er det fortsatt den samme grunnleggende tingen, det er bare inkludert sammen med annen kode.
Når en symboltabell brukes i et koblingsbibliotek, utvides mulighetene for hvordan det kan fungere drastisk. Et koblingsbibliotek er et sett med informasjon som antas å være tilgjengelig for et program når som helst. Disse bibliotekene deles ofte av et operativsystem eller en familie av relaterte programmer som alle er laget av samme selskap.
Hvert av disse bibliotekene er fylt med informasjon om visse emner. Ett bibliotek kan inneholde et bredt utvalg programmering for å tegne vindusgrensene til operativsystemets brukergrensesnitt, mens et annet kan inneholde informasjon om hvor en spesifikk gruppe programmer lagrer informasjon i minnet. Siden et koblingsbibliotek kan inneholde et slikt tilfeldig utvalg av informasjon, er symboltabeller ofte inkludert i dem.
Ved å innlemme et symboltabell i en lenker, er det mulig å dele symbolene på tvers av en programserie. Dette gir flere programmer tilgang til samme data når som helst. Hvis et stort antall programmer alle trenger den samme informasjonen, inkludert den i en symboltabell i et bibliotek, reduseres størrelsen på den totale programgruppen enormt.