2010-02-24 4 views
10

Существуют ли существующие файлы грамматики C++ для ANTLR?Есть ли файл грамматики C++ для ANTLR?

Я ищу lex, а не разбираю некоторые файлы исходного кода на C++.

Я смотрел на ANTLR grammar page, и похоже, что один из них создан Sun Microsystems here.

Однако, похоже, это сгенерированный Parser.

Может ли кто-нибудь указать мне на лексир или файл грамматики C++ ANTLR?

ответ

2

Анализаторы C++ - жесткие для сборки.

Я не могу говорить с опытом о , используя ANTLR's C++ grammars. Here I discuss что я узнал, прочитав примечания, прикрепленные к тому, что я видел на сайте ANTLR; в сущности, автор подготовил неполную грамматику. И это было только для C++ 98. Прошло некоторое время с тех пор, как я посмотрел; могут быть и другие.

DMS Software Reengineering Toolkit имеет robust C++ front end.

Лексер обрабатывает весь хлам для ANSI, GCC3, MS Visual Studio 2008, включая номер большой точности с плавающей запятой и т.д.

[EDIT: 12/2011. Теперь обрабатывает директивы C++ 11 и OpenMP]

[EDIT: 3/2015: теперь обрабатывает C++ 14 как в GCC, так и в MS вариантах. See some parse trees here on SO]

Наличие «всего лишь» анализатора на самом деле не очень полезно. Помимо «просто синтаксического анализа» наш интерфейс будет строить АСТ, строить точные таблицы символов (для C++ это очень сложно сделать), выполнять анализ функций и локальных потоков и позволять выполнять программные преобразования и т. Д. См. Life After Parsing.

+3

Я проверил ваш веб-сайт, кажется, что у вас есть интересные инструменты по разумным ценам, но ваш сайт может работать с какой-то работой как по структуре, так и по внешнему виду. –

+0

@Andre: любые конструктивные замечания, которые вы можете сделать, приветствуются; мы всегда заинтересованы в улучшении. Отправьте письмо на адрес «[email protected]». –

+0

Как ваш проект сравнивается, скажем, с [Clang] (http://clang.llvm.org/), который делает все, что вы говорите, бесплатно? Я шучу, но все равно интересуюсь вашим ответом! – rubenvb

Смежные вопросы