つまりC++は変態的言語ということで

細かい補足

...
2. CYK法、Earley法、GLR法、などの "directional / deterministic" ではないけれど万能な手法、も知られています。ただ、遅いのでプログラミング言語に対してはあまり使われません。設計者が文法自分で決められるんだから、"directional / deterministic" に収まるように文法作ればいいじゃないみたいな。GLRは最近使われてるのかな。どうなんだろ。

こないだ2chでGLR法によるC++パーザの試みについて知ったんですが,どうなんでしょう.

やや古いと言えば古い.著者らはソースコードの評価指標の可視化を研究してて,既存の大規模な(〜250万行)C++ソースを分析するためにパーザが欲しかったんだが,GCCはとっ散らかり過ぎて可視化ツールへの転用が困難で,自分でGLR法により書いたらしい.酷く複雑なC++を仕様書の文法通りに*1扱えるのがGLR法でうれしかった点だとか.速度は「きちんと計ってないけど,まぁまぁ」とかよく分からん書き方.ISO/IEC 14882:1998準拠で,その後の進展(TR1やC++ 0xへのアップデート)は特にないし,オープンソースでもないようだ.
他にググって見つけたのはこれ:

こっちはBSDライセンスで公開されている.しかし自分でいじる時間など無い!

*1:再帰とかreduce/reduce conflictの除去のために文法を改変することなく,という程の意味だと思う.C++マニアなら後者の豊富な実例を知っているはず.