Comment #3 on issue 2074 by [email protected]: Add crossreferences to NR Appendix C "Lilypond Grammar"
http://code.google.com/p/lilypond/issues/detail?id=2074

The generating script is scripts/build/yyout2grammar.py, as mentioned in the issue report. It runs bison, and bison generated a file called parser.output or so which is used as the input for the script. The printed "rules" are more or less

xxx:  yyy
      | zzz uuu
      | whatever
      ;

a list of alternatives. Those yyy, zzz, uuu, whatever are usually defined somewhere else in a different rule. Manually finding this "somewhere else" is cumbersome; being able to click on them would be nicer.

Given the frequency of changes in parser.yy, there is really no point in trying to write a version of this grammar manually. I have to admit that at the current point of time, the grammar is less helpful for figuring out the details of LilyPond than it once had been. Nevertheless, it is useful for finding one's way around what LilyPond is doing.

So improving the output that the script generates by improving the script would certainly make sense. It would not make sense to spend extraordinary amounts of time on this as I don't think many people actually use this as a reference, but if polishing this up could be done with a reasonably sized investion of effort, it might become a bit more useful.


Reply via email to