Mis on sümbolite tabel?

Sümbolitabelit kasutavad arvutisüsteemid teabe tsentraliseerimiseks ja programmide mahu vähendamiseks. Need tabelid töötavad nagu salakoodi võti; sümbol või string asetatakse teise, üldiselt palju suurema teabe juurde. Kui programm loeb sümbolit, mis on seotud sümbolite tabeliga, viitab programm tabelile ja võtab sümboli asemel teabe. See võimaldab suurtel teabetükkidel või sageli korduvatel struktuuridel olla ainult üks kirje, mis vähendab programmi üldist suurust.

Sümbolitabeli kontseptsioon on väga lihtne. Üks tabel sisaldab suurt hulka programmis kasutatavat teavet, millest igaühel on oma kirje ja ainulaadne seotud sümbol. See teave võib olla koodistringid, silumisandmed, mälukohad, sõna otseses mõttes kõik, mida programm saaks oma toimimiseks kasutada. Selle teabe programmi lisamise asemel viitab kood lihtsalt tabelile, kasutades selle ainulaadset sümbolit.

Sümbolitabel on levinud kahes kohas: koodi kompileerimisel programmideks ja mitme programmi poolt kasutatavate teekide linkimisel. Kui seda kasutatakse programmides, sulandub tegelik tabel tavaliselt programmi või muudetakse kompileerimise ajal jagatud teegiks. Nimekirja eraldi jätmine on ebatavaline, kuna loendi muutmisel võivad programmile olla äärmuslikud tagajärjed. Isegi kui tabelit selles protsessis teisendatakse, on see ikkagi sama põhiasi, see on lihtsalt kaasatud koos muu koodiga.

Kui linkimisteegis kasutatakse sümbolitabelit, laienevad selle toimimise võimalused drastiliselt. Linkiteek on teabe kogum, mis eeldatavasti on programmile igal ajal saadaval. Neid teeke jagavad sageli operatsioonisüsteem või seotud programmide perekond, mis on kõik tehtud sama ettevõtte poolt.

Kõik need raamatukogud on täidetud teabega teatud teemade kohta. Üks raamatukogu võib sisaldada laia valikut programmeerimisi operatsioonisüsteemi kasutajaliidese aknapiiride joonistamiseks, samas kui teine ​​​​teek võib sisaldada teavet selle kohta, kus konkreetne programmide rühm teavet mällu salvestab. Kuna lingiteek võib sisaldada sellist juhuslikku teavet, on nendega sageli kaasas sümbolitabelid.

Lisades linkerisse sümbolitabeli, on võimalik sümboleid programmisarja vahel jagada. See võimaldab mitmel programmil igal ajal juurdepääsu samadele andmetele. Kui suur hulk programme kõik nõuavad sama teavet, vähendab selle lisamine teegi sümbolitabelisse oluliselt kogu programmirühma suurust.