The EnvironmentClass will define an Environment object to hold all of the information about the current lexical environment for the Intermediate Code Generation phase.
It will have a parent environment, and an association list of variables and their local variable locations. Searching for a variable will check the current environment and then recursively check the parent until the variable is found, or declared to be unbound (aka free).