Bruce, I think you misunderstood what I meant. I was talking about how to write it in BNF, not how to do it programmatically, which is obvious to any programmer, e.g. 0==strnicmp(key, "dor", 3)
Bruce Olson wrote: > There need not be any problem here. Allow both upper and lower case > characters and convert where required. > > The tune scoring mode (among the 7 'Greek' modes recognized by ABC) > occurs only as the X at the end of the 'K:key X' specification. The > meaning of X is determined in a subroutine (= the working part of a > macro). Let your program's internal identifier for modes be Y(n), > (n=1-7), = ion, mix, dor, ael, phy, or loc, respectively, which exhausts > the possibilities. Convert the X string to all lower case then trim to > the first 3 non-blank characters = x. A single additional command then > searchs for x in the Y(n). If this command doesn't determine a unique > n' in the range of 1 to 7, then the tune is improperly coded, but with > correct tune coding then you will get an n' (such that Y(n') = x) > uniquely determining the scoring mode, and this implies nothing > elsewhere in the ABC as far as upper or lower case letters go. Henrik Norbeck, Stockholm, Sweden [EMAIL PROTECTED] http://www.norbeck.nu/ My home page http://www.norbeck.nu/abcmus/ AbcMus player program http://www.norbeck.nu/abc/ >1900 ABC tunes http://www.norbeck.nu/blackthorn Irish trad music band http://www.rfod.se/folklink/ Links to Swedish trad music To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html