На самом деле, грамматика не подразумевает рамки. Именно то, как вы имеете дело с символами, определяет семантику.
Сказав, что в этой грамматике может быть глобальная область и область действия, введенная составным оператором. В глобальной области вы можете объявить переменные и функции. В области составного оператора вы можете объявлять только переменные.
Если вы хотите поддерживать вложенные функции, измените грамматику, чтобы разрешить объявления функций в составных выражениях.