J3/14-186 To: J3 From: Malcolm Cohen Subject: Annex D considered harmful Date: 2014 June 09 1. Discussion Annex D takes 64 pages, and is largely redundant where correct and occasionally incorrect where it is not entirely redundant. D.1 (49 pages) is simply a copy of all the syntax rules and constraints, i.e. it is entirely duplicative. But is fragile, since constraints with embedded lists need to have the list duplicated: once for the actual normative constraint, once for this annex. I am pretty sure that no mistakes have been made so far, but it would be pretty easy to make one. D.2 (14 pages) is the cross-reference. This is automatically generated with a Perl script. However, it cannot handle constraints with numbers greater than 99, thus we see that e.g. R204 is referenced by C1305 (actually C12105) and R727 is referenced by C1306 (actually C12106). Unfortunately it is unclear just exactly what is wrong with BNFxref.pl, assuming that is where the problem actually lies; the problem could lie in j3.cls instead but if so it is hard to see what is wrong. One might consider that the one redeeming feature of D.2 is that it allows us to see easily when there is a BNF rule that is not referenced anywhere. But this does not seem to be adequate justification for burning 64 pages every time. Finally, it is definitely unacceptable to ship an incorrect Annex D, and burdensome even to attempt to fix it. Deleting it solves the problem. 2. Edits to 14-007r1 [xix] Introduction, p4, Delete line "Syntax rules Annex D". {The only place we refer to it.} [565-628] Delete entirety of Annex D. 3. Postscript If there is actual demand for the contents of Annex D, we could certainly continue to publish it as a separate document, e.g. as a WG5 document, together with a "health warning" of its inaccuracies. (Or we could maybe fix them manually given this would be post-publication.) ===END===