Back to the index. Or to the chambers
This article has 19 links. View as Cloud or List.
Loading ...
Planetmath Browser (2008—2009)
BSD licence | A django site
All articles taken from PlanetMath.org snapshot under CC-BY-SA licence.
→ The original article on PlanetMath.org
Other Formats: LaTeX
Formal Grammar
Introduction
A grammar, loosely speaking, is a set of rules that can be applied to words to generate sentences in a language. For example, with the grammar of the English language, one can form syntactically correct sentences such as “The elephant drove his bicycle to the moon,” regardless whether the sentence is meaningful or not.
The mathematical abstraction of a grammar is known as a formal grammar. Instead of generating sentences from words, a formal grammar generates words from symbols and other words. The following basic ingredients are necessary in a formal grammar:
- a collection of symbols called an alphabet,
- a collection of rules, called rewriting rules, specifying how one can generate new words from existing ones, and
- a collection of initial words that serve to initialize the generation of new words.
Note that by adding an extra symbol
to the above alphabet, and two additional rewriting rules given by “from
form
” and “from
form
”, it is not hard to see that any word that can be generated by
the first grammar can be generated by this new grammar.
Definition
Formalizing what we have discussed above, we say that a formal grammar
is a quadruple
, where
-
is a rewriting system;
is a subset
of
whose elements are called non-terminals, and
the set of terminals;
- an element
called the starting symbol.
A formal grammar is variously known as a phrase-structure grammar, an unrestricted grammar, or simply a grammar. A formal grammar is sometimes also called a rewriting system in the literature, although the two notions are distinct on PlanetMath.
Given a formal grammar
, the formal language generated by
is the set
A language
over an alphabet
is said to be generable by a formal grammar if there is a formal grammar
such that
.
Example. Continuing from the example in the previous section, we can put
and
. For the set
of productions, we have four
Remarks.
- Not every language can be generated by a formal grammar. Given a finite
alphabet
,
is countably infinite, and therefore there are uncountably many languages over
. However, there are only a countably infinitely many languages that can be generated by formal grammars.
- Every language generated by a formal grammar is recursively enumerable.
- Every context-sensitive grammar is equivalent to a formal grammar, and under the Chomsky hierarchy, the class of formal languages is of class 0.
Bibliography
- 1
- H.R. Lewis, C.H. Papadimitriou Elements of the Theory of Computation. Prentice-Hall, Englewood Cliffs, New Jersey (1981).