Ссылка Джареда - самая близкая к контекстной грамматике, которую вы можете получить. Некоторые вещи нужно отложить на потом, но это по некоторым аргументам лучше, чем контекстно-зависимая грамматика C ++.
Что еще хуже, C ++ 1x значительно усложнит грамматику. Чтобы достичь идеального анализа C ++, анализатору потребуется реализовать достаточно стандарта, чтобы правильно выполнить разрешение перегрузки, включая вывод аргументов шаблона, что, в свою очередь, потребует механизма понятий, лямбда-выражений и, по сути, почти всех язык, за исключением двухэтапного поиска имен и спецификаций исключений, которые, если я правильно помню, не нуждаются в реальной реализации для успешного анализа программы.
По сути, вы на полпути к компилятору, если вы можете анализировать C ++.