[...]
Is there something wrong with my implementation, or didn't I understand correctly the '/' operator?
I also tried to change the implementation of octalEscape in the following way (to put the longest match as the first option), but without good results:
<snip> PPJavaGrammar>>octalEscape ^ $\ asParser , ( (zeroToThree , octalDigit , octalDigit) / (octalDigit , octalDigit) / octalDigit ) </snip>