# Greibach normal form

In formal language theory, a context-free grammar is in **Greibach normal form** (GNF) if the right-hand sides of all production rules start with a terminal symbol, optionally followed by some variables. A non-strict form allows one exception to this format restriction for allowing the empty word (epsilon, ε) to be a member of the described language. The normal form was established by Sheila Greibach and it bears her name.

More precisely, a context-free grammar is in Greibach normal form, if all production rules are of the form:

or

where
is a nonterminal symbol,
is a terminal symbol,
is a (possibly empty) sequence of nonterminal symbols not including the start symbol,
is the start symbol, and *ε* is the empty word.[1]

Observe that the grammar does not have left recursions.

Every context-free grammar can be transformed into an equivalent grammar in Greibach normal form.[2] Various constructions exist. Some do not permit the second form of rule and cannot transform context-free grammars that can generate the empty word. For one such construction the size of the constructed grammar is *O(n ^{4})* in the general case and

*O(n*if no derivation of the original grammar consists of a single nonterminal symbol, where

^{3})*n*is the size of the original grammar.[3] This conversion can be used to prove that every context-free language can be accepted by a real-time (non-deterministic) pushdown automaton, i.e., the automaton reads a letter from its input every step.

Given a grammar in GNF and a derivable string in the grammar with length *n*, any top-down parser will halt at depth *n*.

## References

- Hopcroft, John E.; Ullman, Jeffrey D. (1979).
*Introduction to Automata Theory, Languages and Computation*. Reading, Massachusetts: Addison-Wesley Publishing. p. 95. ISBN 0-201-02988-X. - Greibach, Sheila (January 1965). "A New Normal-Form Theorem for Context-Free Phrase Structure Grammars".
*Journal of the ACM*.**12**(1). doi:10.1145/321250.321254. - Blum, Norbert; Koch, Robert (1999). "Greibach Normal Form Transformation Revisited".
*Information and Computation*.**150**(1): 112–118. CiteSeerX 10.1.1.47.460. doi:10.1006/inco.1998.2772.

- Alexander Meduna (6 December 2012).
*Automata and Languages: Theory and Applications*. Springer Science & Business Media. ISBN 978-1-4471-0501-5. - György E. Révész (17 March 2015).
*Introduction to Formal Languages*. Courier Corporation. ISBN 978-0-486-16937-8.