Antes de propor uma explicação linear, seria interessante apresentar uma citação que, após devidamente argumentada, poderá servir para orientar a resposta final:
The grammar needed to specify a programming language can be classified by its position in the Chomsky hierarchy. The syntax of most programming languages can be specified using a Type-2 grammar, i.e., they are context-free grammars.
Michael Sipser (1997). Introduction to the Theory of Computation. PWS Publishing. ISBN 0-534-94728-X. Section 2.2: Pushdown Automata, pp.101–114.
Nela surge o conceito de classificação de uma gramática. Essa classificação é -- não só -- efectuada através de formas normais que servem de moldes onde se podem encaixar as produções de uma gramática.
Formas Normais de Gramáticas