The document discusses symbol tables, which are data structures used by compilers to store information about identifiers and other constructs from source code. A symbol table contains entries for each identifier with attributes like name, type, scope, and other properties. It allows efficient access to this information during analysis and synthesis phases of compilation. Symbol tables can be implemented using arrays, binary search trees, or hash tables, with hash tables being commonly used due to fast search times.