Greibach normal form
A formal grammar G=(Σ,N,P,σ) is said to be in Greibach normal form if every production has the following form:
A→aW |
where A∈N (a non-terminal symbol), a∈Σ (a terminal symbol), and W∈N* (a word over N).
A formal grammar in Greibach normal form is a context-free grammar. Moreover, any context-free language not containing the empty word λ can be generated by a grammar in Greibach normal form. And if a context-free language L contains λ, then L can be generated by a grammar that is in Greibach normal form, with the addition of the production σ→λ.
Let L be a context-free language not containing λ, and let G=(Σ,N,P,σ) be a grammar in Greibach normal form generating L. We construct a PDA M from G based on the following specifications:
-
1.
M has one state p,
-
2.
the input alphabet of M is Σ,
-
3.
the stack alphabet of M is N,
-
4.
the initial stack symbol of M is the start symbol σ of G,
-
5.
the start state of M is the only state of M, namely p
-
6.
there are no final states,
-
7.
the transition function T of M takes (p,a,A) to the singleton {(p,W)}, provided that A→aW is a production of G. Otherwise, T(p,a,A)=∅.
It can be shown that L=L(M), the language accepted on empty stack, by M. If we further define T(p,λ,σ):=, then accepts . As a result, any context-free language is accepted by some PDA.
References
-
1
J.E. Hopcroft, J.D. Ullman, Formal Languages and Their Relation
to Automata, Addison-Wesley, (1969).
Title | Greibach normal form |
---|---|
Canonical name | GreibachNormalForm |
Date of creation | 2013-03-22 18:55:22 |
Last modified on | 2013-03-22 18:55:22 |
Owner | CWoo (3771) |
Last modified by | CWoo (3771) |
Numerical id | 7 |
Author | CWoo (3771) |
Entry type | Definition |
Classification | msc 68Q42 |
Classification | msc 68Q45 |
Synonym | GNF |
Related topic | ChomskyNormalForm |
Related topic | KurodaNormalForm |