Using a grammar for the C programming language, try to extend the syntax to allow nested function definitions. For example, you might allow function definitions to occur inside any compound statement. Report on any difficulties you encounter, and discuss possible solutions. Justify the particular solution you adopt.