Here's my two cents on this:
  - on input, parse the file and use it as is
  - do not change the file contents without the user asking you to.  He
    may have a different favourite abc program and may be evaluating
    yours, and changing his file behind his back is unfriendly.
    If you want to offer him the opportunity to 'clean up' to a canonical
    version, you can, but make it explicit and don't ask him by default.

There are two approaches to constructing abc input - the text editor
method and the graphical tool method.  The text editor method
treats abc as a simple text file which can contain anything, (see BarFly,
Skink, etc) where the graphical method give you tools for graphically
constructing musical scores (MelodyAssistant, Muse, etc).  In the
second case, your user never interacts directly with the abc,
so it may be more justifiable to clean up the input.  Just don't
silently change anything...

By the way, it might be interesting to look at some of the recursive-descent
compiler-compilers - I used javacc for Skink, and there are versions of
pccts that work for C++.

good luck

wil

Christian Cepel wrote:

> My last question on how fascist a program should be extends to other steps
> away from abc standard.
>
> Would it be considered a good 'feature' of a program to 'clean up' as it
> were, stuff that fails to comply with the standard, and should such a
> 'feature' be something someone could apply by choice, such as MS Word's
> grammar checker, or something that 'bing'ed you when it saw something that
> wasn't quite right.  Should it keep track of portions you choose to
> 'ignore' so it doesn't keep annoying you on the subject.
>
> Another point to consider, is that ABC2Win routinely reminds me that it
> will not parse more than 3000 tunes, which is proof, that there can be a
> ton of tunes in a file, and if a program were to demand that you look at
> every confusion on every line of a file whenever you first open the file
> up and it begins to parse it, you could be 3 hours just opening the file.
> So of course a user would 'cancel' the process, which would defeat the
> purpose.  Of course, if you didn't let them cancel the process, a user
> would go through that nightmare perhaps twice before choosing to never use
> the software package again.
>
> Perhaps 'highlighting' non-standard notation similar to MSWord's
> underlining mispellings and grammar mistakes is the answer.  While that is
> annoying, it is at least non-damaging, if you wish to keep those
> abberations.  A user could choose to turn it off and on as well.
>
> Is there a concensus on the list, or does this touch on the controversies
> on standard, non-standard, and proposed standards?
>
>  //Christian
>
> --
>  + Christian Marcus Cepel              ("`-''-/").___..--''"`-._         +
>  | [EMAIL PROTECTED]                  `6_ 6  )   `-.  (     ).`-.__.`) |
>  | 5812 Square Circle, Columbia 65203   (_Y_.)'  ._   )  `._ `. ``-..-'  |
>  | Work: 882.8309 Home: 573.443.8676  _..`--'_..-_/  /--'_.' ,'          |
>  | ICQ: 12384980 Cell/Page 268.7533  (il),-''  (li),'  ((!.-'            |
>  | Computer Support Specialist, Sr. School of Info Sci & Learn Tech UM-C |
>  | WebM: www.coe.missouri.edu/~vrcbd/ *And the wrens have returned & are |
>  | nesting *In the hollow of that oak where his heart once had been *And |
>  + he lifts his arms in a blessing *For being born again. --Rich Mullins +
>
> To subscribe/unsubscribe, point your browser to: 
>http://www.tullochgorm.com/lists.html
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to