|
|
|
|
linear language
|
(Definition)
|
|
|
A formal grammar $G=(\Sigma,N,P,\sigma)$ is said to be linear if each of its productions has the form $A\to x$ , where $A$ is a non-terminal, and $x$ is a word over $\Sigma$ containing no more than one occurrence of a non-terminal. In other words, a production in $G$ has one of the following forms:
- $A\to \lambda$ (the empty word)
- $A\to u$ , where $u$ is a terminal word (over the set of terminal symbols $\Sigma-N$ ), or
- $A\to uBv$ , where $u,v$ are terminal words, and $B$ is a non-terminal symbol (in $N$ ).
A langauge generated by a linear grammar is called a linear language.
By definition, any linear language is context-free. However, not all context-free languages are linear. A Dyck language is an example of a non-linear context-free language.
Furthermore, every regular language is linear, since any production of a regular grammar has one of the above three forms, except $v=\lambda$ in the last form. The converse is also not true. For example, the language $\lbrace a^n b^n \mid n \ge 0\rbrace$ is known to be not regular (apply the pumping lemma), but it is linear,
generated by the following productions $\sigma \to \lambda$ , $\sigma \to a\sigma b$ .
It can be shown that a language is linear iff it can be generated by a 1-turn pushdown automaton (once it starts popping, it never pushes again).
As we have seen above, a regular grammar is a more restricted form of a linear grammar. Various restrictions may be placed on a linear grammar $G$ :
- $G$ is right linear if $v=\lambda$ is the third form above (so a regular grammar is also known as a right linear grammar)
- $G$ is strong right linear if it is right linear, and there are no productions of the second form
- $G$ is left linear if $u=\lambda$ in the third form above
- $G$ is strong left linear if it is left linear, and there are no productions of the second form
However, it can be shown that all of the restricted types of linear grammars mentioned above are equivalent, in the sense that a language generated by one restricted type can be generated by all other restricted types.
Remark. Subfamilies of the family of linear languages can be formed by putting restrictions on the linear grammars. In some cases, the subfamily formed properly sits between the family of regular languages and the family of linear languages. Here are some examples: let $G=(\Sigma,N,P,\sigma)$ be a linear grammar,
- $G$ is minimal if $N=\lbrace \sigma \rbrace$ , and there is exactly one production of the form $\sigma \to a$ , where $a\in \Sigma$ such that $a$ occurs in no other productions. Therefore, if $\sigma \to u$ is another production of $G$ , then $u\notin \Sigma$ , and $a$ does not occur in $u$ .
- $G$ is even if every production having the third form above ($A\to uBv$ ) has the property that $|u|=|v|$ (same length). It can be shown that every regular language can be generated by an even linear grammar, and that the converse is not true.
- $G$ is deterministic if every production has the form $A\to aW$ , where $a\in \Sigma-N$ , and $W$ is either the empty word $\lambda$ , or in $N(\Sigma-N)^*$ . Furthermore, every $(A,a)\in N\times (\Sigma-N)$ corresponds to at most one production.
- 1
- S. Ginsburg, The Mathematical Theory of Context-Free Languages, McGraw-Hill, New York (1966).
- 2
- H.R. Lewis, C.H. Papadimitriou, Elements of the Theory of Computation. Prentice-Hall, Englewood Cliffs, New Jersey (1981).
- 3
- J.E. Hopcroft, J.D. Ullman, Formal Languages and Their Relation to Automata, Addison-Wesley, (1969).
|
"linear language" is owned by CWoo.
|
|
(view preamble | get metadata)
See Also: metalinear language
| Other names: |
left linear, right linear, strong left linear, strong right linear |
| Also defines: |
linear grammar, left-linear, right-linear, strong left-linear, strong right-linear, minimal linear grammar, even linear grammar, deterministic linear grammar |
|
|
Cross-references: deterministic, length, property, even, occur ins, minimal, equivalent, types, restrictions, pushdown automaton, iff, pumping lemma, regular, language, converse, regular grammar, regular language, Dyck language, context-free languages, context-free, generated by, terminal, empty word, occurrence, non-terminal, productions, formal grammar
There are 3 references to this entry.
This is version 5 of linear language, born on 2009-05-15, modified 2009-06-09.
Object id is 11785, canonical name is LinearLanguage.
Accessed 1509 times total.
Classification:
| AMS MSC: | 68Q42 (Computer science :: Theory of computing :: Grammars and rewriting systems) | | | 68Q45 (Computer science :: Theory of computing :: Formal languages and automata) |
|
|
|
|
|
|
Pending Errata and Addenda
|
|
|
|
|
|
|
|
|
|
|