C ++ Parser / Модель для Java - PullRequest
2 голосов
/ 24 марта 2009

Мне было интересно, знает ли кто-нибудь о существующих моделях синтаксического анализатора / кода C ++, которые можно программно использовать в Java. Я ищу что-то похожее на Eclipse CDT, которое можно использовать в качестве библиотеки из Java (и которое не зависит от Eclipse). Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 17 июня 2009

Вы не хотите создавать свой собственный синтаксический анализатор C ++. Это тебя убьет.

Вы уже знаете о проекте Eclipse CDT: www.ibm.com/developerworks/library/os-ecl-cdt3/index.html AFAIK, этот парсер, ну, немного нечеткий по краям. YMMV. Преимущество: в Java (и в Eclipse, если вам интересно). Если вы хотите обработать C ++ и сделать это на Java, это может быть вашим единственным практическим выбором.

Существует также наш интерфейс DMS Software Reengineering Toolkit C ++: http://www.semdesigns.com/Products/FrontEnds/CppFrontEnd.html Работает с широким спектром диалектов C ++ (ANSI, GNU, MSVC 2005/2008), проверено огнем на миллионах строк кода. Недостаток с вашей точки зрения: не на Java. Но если вы действительно хотите проанализировать C ++, составив правило что вы только готовы сделать это на Java, возможно, не служить вам лучше всего.

0 голосов
/ 24 марта 2009

Существует несколько грамматик C ++ для JavaCC. Попробуйте Google.

0 голосов
/ 24 марта 2009

Есть некоторые неполные грамматики LALR для генераторов синтаксического анализатора, таких как Lex, Yacc, Antlr, Jack и т. Д.

C ++ имеет неразрешимую синтаксическую грамматику, поэтому грамматики LALR и BNR всегда будут неполными, но если вы не пытаетесь написать компилятор C ++, они должны быть достаточно хорошими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...