Wikipedia:Articles for deletion/C++ grammar


 * The following discussion is an archived debate of the proposed deletion of the article below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the article's talk page or in a deletion review).  No further edits should be made to this page.

The result was   delete. Many opinions on both sides of the discussion are entirely beside the point and are discounted, but one important principal argument for deletion - that the text is almost entirely unsourced original research - has not been seriously addressed by "keep" opinions. As verifiability and the prohibition of original research are core policies and can't be overridden by editorial consensus, the article is deleted. This is without prejudice to a less deficient recreation.  Sandstein  08:47, 10 November 2012 (UTC)

C++ grammar

 * – ( View AfD View log  Stats )

Violation of WP:NPOV and WP:NOT ''TheChampionMan1234 09:41, 2 November 2012 (UTC)


 * Dear TheChampionMan1234, can you please, be more specific? WP:NPOV contains about 10 subsections; WP:NOT contains 16 clauses. What exactly is violated? In what part of my article do you see a biased point of view? I am ready to improve my article and more than willing to respond to constructive input. --User:Code-Analysis 12:23, 2 November 2012 (UTC) It is not clear to me who and when can rate an article. Ratings are displayed as grey to me. Is there a page that describes this? (I cannot find).
 * Note: This debate has been included in the list of Computing-related deletion discussions. • Gene93k (talk) 20:13, 2 November 2012 (UTC)


 * Keep. Totally unconvincing WP:VAGUEWAVE by the nominator. Article is a legitimate content fork from C++ and can be easily cited to Stoustrup (or, for an alternative point of view, this) - well, maybe not all of it, but sufficient to keep the article. -- Ritchie333 (talk)  (cont)   10:12, 2 November 2012 (UTC)
 * Keep. It's a week old. Has the nominator made any effort to either improve this article, or to raise the issues with its creator? As it stands, this is far too much like WP:IDONTLIKEIT. Andy Dingley (talk) 20:23, 2 November 2012 (UTC)
 * Redirect to C++. This article uses a lot of space to say almost nothing (encyclopedic). Even if not perfect, the section present in the main article already does a much better job on this topic. —Ruud 10:07, 3 November 2012 (UTC)
 * Keep. This could potentially expand into a *very* useful article- information on C++ grammar has been spread out across the web and out of date, and this article could be a source of up-to-date information on this important area. The authors have already noted additional areas they plan on expanding. Jeez- don't be so quick to cut down an article in progress! (this AfD discussion should at least be delayed for a year or two).  121.45.218.101 (talk) 07:25, 4 November 2012 (UTC)
 * Keep. Progression of this article is inherently going to be slow because its subject is a little esoteric and finding experts who also know their way around Wikipedia will take some time. The (presumed) expert who created the article just hasn't been around very long and may need some help with citations/encyclopedic style. I am sure the article will be of interest to a good number of people, and very helpful once it is written in a more accessible style.  hajat vrc  @ 02:21, 5 November 2012 (UTC)
 * Delete as completely unreferenced. Stuartyeates (talk) 02:45, 5 November 2012 (UTC)
 * According to WP:UGLY, an article may not have sufficient sources, but it can be improved by adding sources.  Zappa  O  Mati   03:37, 5 November 2012 (UTC)
 * And per WP:UNSOURCED, "Any material lacking a reliable source directly supporting it may be removed." Volumes exist on C++ grammar but none were cited to support the content of this article. DocTree (ʞlɐʇ · cont) Join WER 04:19, 5 November 2012 (UTC)
 * Be that as it may, the primary reasons for deletion are verifiability, notability, copyright violations, and WP:NOT; none of the aforementioned apply here. Go   Phightins  !  04:23, 5 November 2012 (UTC)


 * Keep per Andy Dingley and 121.45. This article is a legitimate topic and has the potential to be a useful article. Go   Phightins  !  03:10, 5 November 2012 (UTC) See below.
 * Comment I think it is written like a mannual or guidebook, so it should be trasferred to wikibooks or wikiversity --''TheChampionMan1234 03:22, 5 November 2012 (UTC)
 * So really you're in favor of transwikification rather than deletion? Go   Phightins  !  03:23, 5 November 2012 (UTC)
 * Keep - WP:VAGUEWAVE by the nominator? Yep. Kinda written like an essay, but that can be fixed.  Zappa  O  Mati   03:37, 5 November 2012 (UTC)
 * Delete from en:Wikipedia and Move to WikiSource, WikiBooks or WikiVersity, depending on the author's desire and intent. Reasons for deletion include:
 * Article is mostly original research. No sources at all are listed. The illustrations are the author's own work to illustrate his original text.
 * Article reads like a textbook or how to manual which violates WP:NOTTEXTBOOK and WP:NOTMANUAL.
 * Article is too technical and detailed for a general encyclopedia. It might become suitable if completely rewritten in accordance with the Manuel of Style similar to articles The C++ Programming Language and C++.
 * DocTree (ʞlɐʇ · cont) Join WER 04:19, 5 November 2012 (UTC)


 * Comment: It looks like the creator had sources in the article, but may have inadvertently left them in User:Code-Analysis/sandbox. Stuartyeates (talk) 04:32, 5 November 2012 (UTC)
 * I posted a note on the creator's talk suggesting he move them to the article. I agree, it looks like he just forgot, but I didn't want to do it for him in case that wasn't the intention. Go   Phightins  !  04:38, 5 November 2012 (UTC)
 * Keep This article is notable in its own right.  Rcsprinter  (articulate)  @ 20:49, 5 November 2012 (UTC)
 * Comment While to original deletion rationale wasn't particularly enlightening, most the keep votes here seem equally atrocious. Could those in favour of keeping this article at least give a decent rational for this. Referring to some reliable sources would be more convincing than an assertion from (perhaps not always existing) authority.
 * I have some doubt about this article indeed being a valid encyclopedic topic. The "abstract and concrete syntax of C++" the "parsing of C++ source code" most certainly are, but we already have a decent start of these topics at C++ and this article is under much vaguer title "C++ grammar".
 * The actual content of the article is mostly incorrect, incomprehensible or original research ("It contains only the most important information that builds the frame of the language.", "This is why the table below contains 2 separate lines for the number of rules. The first line counts lengthy enumeration as one rule. The second line counts all rules of the section.", "If somebody will carefully type this section of the grammar into a file and try to compile it, this will result in several syntax errors because the text of the standard contains typos.", etc.). This article is so poorly written that I don't see how it could be improved without starting from scratch, or better, by expanding on C++.
 * —Ruud 22:06, 5 November 2012 (UTC)


 * Delete. The C++ language is notable subject, but I feel that we'd better off to integrate appropriate bits of this article into C++ or similar article and delete the rest. The article in its current state is so nonspecific that it's almost useless. Improving it is also not an option, I think, because a proper description of the C++ grammar would fall within WP:NOT. There's very little that can be said about the grammar except its definition in some grammar notation (say BNF) and how it is used, both of which are discouraged by the spirit of WP:NOTMANUAL. All in all, I believe an article about C++ grammar would be a very good entry in an appropriate Wikibook, but not here, in Wikipedia. 1exec1 (talk) 22:45, 5 November 2012 (UTC)
 * Switch to Delete. My original thought, and the reason I voted to keep, was that in my initial read-through I just saw it as very sloppily done. I now see that the page creator links to his website from his user page, and seems to just be trying to sell a product. I agree that it is very manual-like and that in places it seems like it is a bad lecture, but had assumed that this was by accident and that it could be fixed. I agree that the effort should be put into expanding C++, and think that this should be done under the watchful eyes of those already active in the relevant WikiProjects.  hajat vrc  @ 01:23, 6 November 2012 (UTC)
 * Merge with C++. There is a lot of stuff which seems unverifiable or overly detailed. But there are a few bits that I wouldn’t want to remove from Wikipedia, like the background on grammars, or the examples (though they could be simpler). Vadmium (talk, contribs) 02:50, 8 November 2012 (UTC).

---

Thanks for everybody who participated. Please, continue commenting, while I will answer some of the concerns here and finish updating the main article in 1-2 days.

The goals of the article (some of them maybe still not achieved):
 * C++ has formal grammars that are presented in the standards (C++03, C++11);
 * These grammars are not directly accessible, except for unofficial (and thus not 100% credible) citations; I can certify authenticity of one of them, but this will be only my honest word.
 * Compilers and parsers use their own grammars (that are often not published at all);
 * There are 2 primary reasons for not using grammar from the standard: extensions/omissions, grammar from the standard is not perfect for using in the parser.
 * To build the C++ parser the grammar is not enough; conflict resolution code is needed. Exact ways of resolving conflicts IS original research and is NOT in the scope of the article.
 * C++ grammar can be used for this and this; It cannot be used for this a and this. Details on "this and this" are either already in the article or not there yet.

I believe these facts are not result of original research; they are not known to everybody while are of public interest. For example look at how this topic is mentioned on www.stackoverflow.com:


 * Is there a working C++ grammar file for ANTLR?
 * Is there a standard C++ grammar?
 * Is any part of C++ syntax context sensitive?
 * C++ grammar is not context free?

Let me put some of my thoughts:

Code-Analysis (talk) 18:33, 7 November 2012 (UTC)
 * Articles on the theory of parsing: Parse tree, Abstract syntax tree, LR parsing, Formal grammar. All these articles contain examples. In 3 out of 4 articles examples are in form of trees. The formal grammar of C++ is designed according to more general theory that is described in these articles. My article also contains an example. Result of processing this example is also a tree. I believe that my tree is not more specific than trees from other articles above.
 * I believe that language of my article is not more academic than the language of the articles above. This is for "3.Article is too technical and detailed..." from DocTree.
 * Articles like Comparison of parser generators, List of compilers. Both articles contain long lists of projects. I think that this article should contain list of references to C++ grammars that are used in existing parsers and/or analysis tools.
 * My own contribution in the area. Yes, I have my own C++ parser. This can be considered as proof of my knowledge and credibility on the subject. Articles should be written by people who know the subject. I do no mention my parser in the article in any way. I am absolutely sure that all material in the article is
 * correct;
 * based on known sources (primarily C++ standard);
 * not biased.

---


 * Delete as WP:OR (changed from unreferenced above). Stuartyeates (talk) 03:03, 8 November 2012 (UTC)
 * I'm going to abstain/stay neutral I don't know enough about C++ go make an informed judgment and I was told by someone who is familiar with C++ who told me this is not salvageable. That said, I'm not going to !vote delete just because of that, which leaves me here in the neutral column. Go   Phightins  !  03:11, 8 November 2012 (UTC)
 * Keep This article is not for specialists on C++ grammar. It is intended for those who want to get acquainted with the subject and to understand problems than arise when you deal with C++ grammar. Ans as such, it is quite valuable. Of course, it requires external links, but they were already included. krmm1965 (talk) 4:40, 8 November 2012 (UTC) — krmm1965 (talk&#32;• contribs) has made few or no other edits outside this topic.
 * Delete it's too far from an encyclopedia article at this point. If someone wants to radically rewrite this essay/lecture notes into a real article, it can be userfied. Gigs (talk) 16:54, 8 November 2012 (UTC)

---

Dear everybody, I see that several comments state that:
 * This is original research. At the same time nobody mentioned any specific place in my article that contains new information that was not known before. Please, point at these places, I will promptly find relevant sources or update the text that it will not look like OR.
 * Looks like a manual. It is not clear to me what is this manual on? C++ grammar? Something else? I was not planning to cover all details of the C++ grammar. The topic is big. In this case it will be a manual.Code-Analysis (talk) 19:57, 9 November 2012 (UTC)

I updated places that are directly mentioned above. Still planning to make major changes.


 * I've added some tags to help you spot the some problems. As you can see there is almost no part of the article that isn't problematic in some way. Additionally, the article seems to focus too much how your LR parser works instead of describing&mdash;based on reliable sources&mdash;how notable parsers, such as the one from Edison Design Group, are implemented. —Ruud 22:32, 9 November 2012 (UTC)
 * I would like to further specify that much of it is written in an essay- or lecture-like style that requires such content to be re-written completely.

The grammar of programming language can be considered either in the wide terms that include specification of everything what is allowed and what is not allowed in the language or in the narrow terms that describe only the formal grammar of the language that is suitable for automatic creation of LR parsers. Both views have reasons and ground behind them. Many readers, especially the users of the language think that grammar is a description of the language; once you know the grammar you can write/modify/fix programs in it.
 * This is not how an encyclopedia is written; it is how an opinion essay is written. This is in part why we do not advise that people with a conflict of interest with a particular subject, such as having a direct professional interest in "informing" people about it, create/write articles on it. Sure, people do all the time, but some are better at hiding their conflict of interest than others. What we at Wikipedia refer to as original research is drawing on personal experience rather than taking information directly from established, reliable sources. Personal experience helps, but it should not be the basis of the content. Gigs talked about userfication of the article, meaning moving it out of the encyclopedia namespace so that it can be worked on for the extended period of time that this probably calls for without it being easily visible. I would support this to give you time to read up on the appropriate style of Wikipedia articles, but it still would not guarantee that the article would ultimately be accepted (there are legitimate concerns for why the topic should not have its own article, see above).  hajat vrc  @ 00:38, 10 November 2012 (UTC)


 * Snow keep, gut, and rewrite badly written article with many problems on entirely notable topic. -Fjozk (talk) 01:06, 10 November 2012 (UTC)
 * Delete - User:Code-Analysis is the main contributor to the C++ grammar article. He/she runs a website through which Code-Analysis can be hired to perform C++ programming services. That codestructureanalysis.com website has the headings: Home| Services| C++ Grammar | Examples of Analysis | Contacts. The Wikipedia article C++ grammar is derived from the | C++ Grammar | information posted at the codestructureanalysis.com. Annex A of ISO/IEC 14882 (pages 667 and on) sets out a summary of the C++ syntax as a grammar summary, which already is discussed in Parsing and processing C++ source code. WP:NOTHOWTO restricts the amount of details there can be on C++ syntax summary/C++ grammar. I think the article was posted with good intentions by a relatively new user, but not consistent with the way articles are developed in Wikipedia, particularly in a popular topic areas such as C++. I agree with Ruud, DocTree, 1exec1, hajatvrc, Gigs, etc. Delete. User:Code-Analysis, a good way to gain experience in developing Wikipedia articles is to pick any article in Category:C++ and expand by adding sourced information to it. -- Uzma Gamal (talk) 08:38, 10 November 2012 (UTC)
 * The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the article's talk page or in a deletion review). No further edits should be made to this page.