Problem
Systematically analyze the declarations and blocks of your favorite programming language.
(a) What is the language's block structure?
(b) Which entities are bind able?
(c) What forms of declaration does the language provide? Compare these with the forms discussed in Section 4.3: are any relevant kinds missing? are any exotic kinds provided, and are they essential?
(d) What are the language's scope and visibility rules?
(e) What forms of blocks does it provide?