翻訳と辞書
Words near each other
・ Product teardown
・ Product term
・ Product testing
・ Product topology
・ Product transfer security
・ Product type
・ Product-based planning
・ Product-determining step
・ Product-form solution
・ Product-service system
・ Product/market fit
・ Product/process distinction
・ Productalius
・ ProductCenter
・ Production
Production (computer science)
・ Production (economics)
・ Production (Mirwais LP)
・ Production and Decay of Strange Particles
・ Production and Operations Management
・ Production artist
・ Production assistant
・ Production Automotive Services
・ Production babies
・ Production Baobab
・ Production Bike Racing
・ Production blocking
・ Production board
・ Production brigade
・ Production budget


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Production (computer science) : ウィキペディア英語版
Production (computer science)

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) \Sigma of terminal symbols that is disjoint from N and a distinguished symbol S \in N that is the start symbol.
In an unrestricted grammar, a production is of the form u \to v where u and v are arbitrary strings of terminals and nonterminals however u may not be the empty string. If v is the empty string, this is denoted by the symbol \epsilon, or \lambda (rather than leave the right-hand side blank). So productions are of the form:
:(N \cup \Sigma)^
*N(N \cup \Sigma)^
* \to (N \cup \Sigma)^
*
where {}^{
*} is the Kleene star operator, and \cup denotes set union.
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 \to (N \cup \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 \rightarrow aSb
: 2. S \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 \Rightarrow aSb \Rightarrow aaSbb \Rightarrow aababb. The language of the grammar is the set of all the strings that can be generated using this process: \.R>R>

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Production (computer science)」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.