Hmm, but those things on the right hand side aren't really keywords, are they? If I understand it correctly, you basically misuse keyword lists for defining some syntactic rules - that's not a very clean approach. I'd really suggest to consult this with Neil first.