A production or production rule in computer science is a ''rewrite rule'' specifying a symbol substitution that can be recursively performed to generate new symbol sequences. A finite set of productions $P$ is the main component in the specification of a formal grammar (specifically a generative grammar). The other components are a finite set $N$ of nonterminal symbols, a finite set (known as an alphabet) $\backslash Sigma$ of terminal symbols that is disjoint from $N$ and a distinguished symbol $S\; \backslash in\; N$ that is the ''start symbol''.
In an unrestricted grammar, a production is of the form $u\; \backslash to\; v$, where $u$ and $v$ are arbitrary strings of terminals and nonterminals, and $u$ may not be the empty string. If $v$ is the empty string, this is denoted by the symbol $\backslash epsilon$, or $\backslash lambda$ (rather than leave the right-hand side blank). So productions are members of the cartesian product
:$V^*NV^*\; \backslash times\; V^*\; =\; (V^*\backslash setminus\backslash Sigma^*)\; \backslash times\; V^*$,
where $V\; :=\; N\; \backslash cup\; \backslash Sigma$ is the ''vocabulary'', $^$ is the Kleene star operator, $V^*NV^*$ indicates concatenation, $\backslash cup$ denotes set union, and $\backslash setminus$ denotes set minus or set difference. If we do not allow the start symbol to occur in $v$ (the word on the right side), we have to replace $V^*$ by $(V\; \backslash setminus\; \backslash )^*$ on the right side of the cartesian product symbol.See Klaus Reinhardt

Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen

; Fakultät Informatik der Universität Stuttgart; 1994 (German) The other types of formal grammar in the Chomsky hierarchy impose additional restrictions on what constitutes a production. Notably in a context-free grammar, the left-hand side of a production must be a single nonterminal symbol. So productions are of the form: :$N\; \backslash to\; (N\; \backslash cup\; \backslash Sigma)^*$

Grammar generation

To generate a string in the language, one begins with a string consisting of only a single ''start symbol'', and then successively applies the rules (any number of times, in any order) to rewrite this string. This stops when we obtain a string containing only terminals. The language consists of all the strings that can be generated in this manner. Any particular sequence of legal choices taken during this rewriting process yields one particular string in the language. If there are multiple different ways of generating this single string, then the grammar is said to be ambiguous. For example, assume the alphabet consists of $a$ and $b$, with the start symbol $S$, and we have the following rules: : 1. $S\; \backslash rightarrow\; aSb$ : 2. $S\; \backslash rightarrow\; ba$ then we start with $S$, and can choose a rule to apply to it. If we choose rule 1, we replace $S$ with $aSb$ and obtain the string $aSb$. If we choose rule 1 again, we replace $S$ with $aSb$ and obtain the string $aaSbb$. This process is repeated until we only have symbols from the alphabet (i.e., $a$ and $b$). If we now choose rule 2, we replace $S$ with $ba$ and obtain the string $aababb$, and are done. We can write this series of choices more briefly, using symbols: $S\; \backslash Rightarrow\; aSb\; \backslash Rightarrow\; aaSbb\; \backslash Rightarrow\; aababb$. The language of the grammar is the set of all the strings that can be generated using this process: $\backslash \{ba,\; abab,\; aababb,\; aaababbb,\; \backslash dotsc\backslash \}$.

See also

* Formal grammar * Finite automata * Generative grammar * L-system * Rewrite rule * Backus–Naur form (A compact form for writing the productions of a context-free grammar.) * Phrase structure rule * Post canonical system (Emil Post's production systems- a model of computation.)

References

Category:Grammar
Category:Natural language processing
Category:Formal languages

Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen

; Fakultät Informatik der Universität Stuttgart; 1994 (German) The other types of formal grammar in the Chomsky hierarchy impose additional restrictions on what constitutes a production. Notably in a context-free grammar, the left-hand side of a production must be a single nonterminal symbol. So productions are of the form: :$N\; \backslash to\; (N\; \backslash cup\; \backslash Sigma)^*$

Grammar generation

To generate a string in the language, one begins with a string consisting of only a single ''start symbol'', and then successively applies the rules (any number of times, in any order) to rewrite this string. This stops when we obtain a string containing only terminals. The language consists of all the strings that can be generated in this manner. Any particular sequence of legal choices taken during this rewriting process yields one particular string in the language. If there are multiple different ways of generating this single string, then the grammar is said to be ambiguous. For example, assume the alphabet consists of $a$ and $b$, with the start symbol $S$, and we have the following rules: : 1. $S\; \backslash rightarrow\; aSb$ : 2. $S\; \backslash rightarrow\; ba$ then we start with $S$, and can choose a rule to apply to it. If we choose rule 1, we replace $S$ with $aSb$ and obtain the string $aSb$. If we choose rule 1 again, we replace $S$ with $aSb$ and obtain the string $aaSbb$. This process is repeated until we only have symbols from the alphabet (i.e., $a$ and $b$). If we now choose rule 2, we replace $S$ with $ba$ and obtain the string $aababb$, and are done. We can write this series of choices more briefly, using symbols: $S\; \backslash Rightarrow\; aSb\; \backslash Rightarrow\; aaSbb\; \backslash Rightarrow\; aababb$. The language of the grammar is the set of all the strings that can be generated using this process: $\backslash \{ba,\; abab,\; aababb,\; aaababbb,\; \backslash dotsc\backslash \}$.

See also

* Formal grammar * Finite automata * Generative grammar * L-system * Rewrite rule * Backus–Naur form (A compact form for writing the productions of a context-free grammar.) * Phrase structure rule * Post canonical system (Emil Post's production systems- a model of computation.)

References