there's a problem with backslashes. Using
%token BOOK "\book"
%token PAPER "\paper"
yields
parser.yy:299.17-18: unrecognized escape sequence: `\\p'
However, the backslash is not used as an escape, because using the
parser that has
%token BOOK "\book"
%token PAPER "\\paper"
gives these error messages
$ LANG=C lilypond bison
GNU LilyPond 2.5.19
Processing `bison.ly'
Parsing...
bison.ly:1:5: error: syntax error, unexpected "\book", expecting '{'
\book
\book %expect \book error here
bison.ly:8:5: error: syntax error, unexpected "\\paper", expecting '{'
\book
\paper %expect \paper error here
\paper
ie, \book shows OK, but \b is not backspace, \\paper shows extra
backslash. I'm not sure what the correct fix would be, interpret the
escape, or just ignore it and allow \p (etc)?