variable_scope is the region of code where a variable is visible. global_scope is available throughout a program. function_scope limits names to a function body. block_scope confines names to a block, like braces or a single statement. local_scope refers to the innermost current scope. The scope_chain searches inner to outer scopes to find a name. shadowing occurs when an inner name hides an outer one. variable_lifetime is how long storage exists and may differ from scope. Remember these terms to predict access.