>I do not envy you, Steve. Names alone will have you tearing your hair out. I guess if I faced this problem I would use a program to parse the vast majority of simple cases and then deal with the remaining ones manually.
Amazingly, that's exactly the strategy I've arrived to in several cases where I had to do some parse-check-cleanup stuff. At some point you just decide that the remaining 200 oddball cases are better (and much faster) handled by a few pairs of eyes than by throwing a dozen more hours of coding at them.