Introduction
When a program is being translated by a compiler, it needs a way to keep track of all the names used, like variables and functions. Without an organized system, the compiler would get lost trying to find what each name means and where it is used.
