Whew!  a lot of syntax...

One extra thing you get in actual scores: multiple names for the same
tempo, which in your notation might be

   Q:allegro=>Tempo I

so that "Tempo I" is defined by a double indirection, in your BNF

   <QLine> ::= Q: <string> => <string>

This might also be useful in translating terms between different
languages.

I am not sure what your proposal does about leading and trailing spaces
in tempo names.  They mustn't make any difference, anyway - otherwise
trying to spot why your tempo definition isn't being acted on could get
impossibly difficult as these would all have different effects:

   Q:1/4=124=>allegro
   Q:1/4=124=>allegro    
   Q:1/4=124 =>allegro % from Hogwood's recording
   Q:1/4=124=> allegro % from Hogwood's recording
   Q:1/4=124=>allegro  % from Hogwood's recording

That is, the lines

> <QLine> ::= Q: <speed> => <string>
> <QLine> ::= Q: <beat> = <speed> => <string>

need to use a definition of <string> that eliminates leading and trailing
spaces.  (You should still be able to surround the string with whitespace
for readability).

Otherwise, spot-on.

=================== <http://www.purr.demon.co.uk/jack/> ===================


To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to