The power of formal grammars does not just lie in the analysis of given sentences, however. Instead a grammar can be used to generate all syntactically valid sentences in a language. To see how this works, we must first understand what the components of such a grammar are. To this end, a simple toy grammar is introduced in Fig. , based on the sets N , Σ and P . The first of these collects all so-called nonterminal symbols, which are placeholders for certain types of words or phrases (i.e. Adj or SiN, in the example above). Here, we also include the starting symbol S, which marks the start of every new sentence derivation. The second set contains all terminal symbols, which are the actual words of the language (i.e. heterogeneous or school ). Finally, the set P contains the production rules of the grammar. Each production rule is a prescription of how the non-terminal symbols of a language can be replaced or modified. For example, one rule specifies that the non-terminal symbol Adj can be replaced by one of the terminal symbols heterogeneous, young and promising.