Prefix grammar
From Wikipedia, the free encyclopedia
In computer science, a prefix grammar is a grammar, akin to the formal grammars, where strings are built up from a set of base strings by continually replacing prefixes. The prefix grammars describe exactly all regular languages.
Contents |
[edit] Formal definition
A prefix grammar G is a 3-tuple, (Σ, S, P), where
- Σ is a finite alphabet
- S is a finite set of base strings over Σ
- P is a set of production rules of the form u → v where u and v are strings over Σ
Each production u → v can only be applied to a string of the form uw.
[edit] Example
One simple prefix grammar can be defined by
- Σ = {0, 1}
- S = {01, 10}
- P = {0 → 010, 10 → 100}
which describes the language defined by the regular expression
[edit] Properties
Prefix grammars generate languages that are prefix closed.