Got the recursive descent parser working nicely.  I don't know how robust it is - I suspect not very, but its a start and frankly doesn't need to be THAT good...