Talk:Production (computer science)

Latest comment: 8 years ago by Javalenok in topic Source needs to contain non-terminal

Untitled edit

I think this article needs some clarification: " "start symbol" is used to begin the sequence construction, which then proceeds by the substitution of "terminal symbols" (which cannot themselves be the target of substitution) and "non-terminal symbols" " In the example "S" is the start symbol, but what is the terminal symbol? and the non-terminal symbol? —Preceding unsigned comment added by 88.209.142.160 (talkcontribs) 17:41, 8 May 2008 (UTC)Reply

In the example grammar, there is only one non-terminal symbol, "S". Note that the start symbol is always a member of the set of non-terminal symbols. The terminals are a and b. The set of terminals is called the alphabet. This is a small impractical example of a grammar useful only for teaching. There is a convention used in this and similar examples: capital letters are used for non-terminals and lower case letters are used for terminals. It is also conventional to put the production whose left-hand side is the start symbol first. This allows you to infer S, N and   without them having to given explicitly. Egriffin (talk) 17:34, 14 August 2008 (UTC)Reply

Source needs to contain non-terminal edit

The intro says that

a production is of the form   where   and   are arbitrary strings of terminals and nonterminals however   may not be the empty string. So productions are of the form  

Somebody is loosing ground here. I think that the latter definition essentially says that   hand needs to contain a non-terminal  . It is a stronger statement than "the only requirement is that u is not empty". "Not empty" admits terminal symbol alone but   says that it is not enough. Right? Why do you write it this way then? --Javalenok (talk) 17:20, 24 December 2015 (UTC)Reply

References section edit

This article is responsible for describing a central topic in computer science, in particular related to the foundations of parsing technology, which lays the groundwork for all modern programming. And the best we can do is a reference to a 1994 dissertation in German?

<quote> See Klaus Reinhardt: Prioritatszahlerautomaten und die Synchronisation von Halbspursprachen Archived 2018-01-17 at the Wayback Machine; Fakultät Informatik der Universität Stuttgart; 1994 (German)</ref> </quote>

Like.. really, is this a joke or..? I think we can do better here..

I mean, if we want to be correct and to offer some some information about the origins of grammars, let's talk about the Free group, let's talk about

how it relates to the concept of grammar and the concept of Production. Let's put this in a mathematical context, so people know where it comes from and where its origins are. If we want to talk about more advanced topics, let's also talk about the grammar of the free group as discussed in page 259 of

Clay, Matt; Margalit, Dan (2017). Office Hours with a Geometric Group Theorist. 41 William Street, Princeton, New Jersey 08540: Princeton University Press. ISBN 978-0-691-15866-2.{{cite book}}: CS1 maint: location (link)


The Formal grammar page has a way better description of what productions are. So we can describe what a grammar is and the concept of production in that context, but handling the concept of production alone seems beyond us.

Obviously some wikipedia pages will benefit from more attention, collaboration and detail than others, but this Production page alone is lacking in all aspects