in reply to Yapp

I've never used Parse::Yapp, but I looked briefly at the docs, and it certainly seems to assume a good level of familiarity with yacc, and parsers in general. So I'd recommend looking for some docs on yacc and yacc-like grammars. You might also take a look at Parse::RecDescent, which comes with some useful and illustrative examples.

Here are some docs on bison, including some examples.