While chatting to Matt Jadud about my occam Python-style syntax plan, he suggested something that I'd thought about a while ago and then forgotten again back when I first considered alternate syntaxes: having an abstract syntax that the occam compiler takes as input. I was originally thinking in terms of XML, but Matt suggested S-expressions instead; they're very simple to manipulate in Lisp-family languages, and they're much easier for humans to deal with.