Hi, I'm quite sure that I've seen the solution somewhere but I can't seem to find it. The problem is quite simple: A : (B|C)*; I want to rewrite that rule with the order of Bs and Cs preserved. How do I do it? Johannes