Parsing a simple musical text representation

From: Calum Galleitch (usenet_at_callingthetune.co.uk)
Date: 10/28/03


Date: Tue, 28 Oct 2003 22:14:37 +0000

Greetings

I am writing a program which translates a textual musical notation (think
lilypond, or ABC) into PostScript. I have a fairly simple subset of
notation to deal with (monophonic, nine notes diatonic). It's currently
written in Python, though if I get it working I may later translate into
something more masochistic.

I am trying to write a parser which decomposes the text into a list of
objects, each representing something that can be printed with all the
relevant info needed.

What's the best approach here? I don't know anything about parsing; I've
done a bit of googling, but it's all very much library specific stuff for
specific languages, I can't find a good idiot's guide to parsing For
Dummies. Am I best off learning a formal parsing system, like Yapp, or
would my life be simpler building a handmade parser? Bearing in mind I
will probably want to extend the notation's abilities later on?

What's a good approach with a handmade parser? I'm trying at the moment to
just use for loops, but it's turning out rather hacky, and I don't like the
look of it.

Cheers,
Calum