Note that Pegged has no problem with the official C grammar or the officiel XML specification...
how do you handle left recursion in C ? eg: a[0][1] etc?
I don't remember. Maybe the grammar I use has no left-recursion? I don't remember whether I sued the official C grammar or one created for PEGs by someone else. I know I tested it on many different programs, with no problem.