Можно ли теоретически / практически использовать Boost.Spirit для синтаксического анализа C (0x) (или любого другого языка)?

#c #parsing #boost #c 11 #boost-spirit

#c #синтаксический анализ #boost #c 11 #boost-spirit

Вопрос:

Соответствует ли это теоретически задаче?

Можно ли это сделать практически и будет ли результирующий анализатор использоваться с достаточной производительностью и выводом (скажем, LLVM IR или gimple от GCC) для интеграции в конкурирующий компилятор?

Комментарии:

1. Написание синтаксического анализа C никогда не бывает практичным.

2. Я предполагаю, что Spirit можно использовать для анализа всего, что вы можете описать в EBNF. Никогда не видел полной спецификации EBNF для C tho.

3. @Vlad: ты заставил меня погуглить ссылку!

Ответ №1:

Прошу прощения. Я поговорил с его автором, и он сказал, что не будет заставлять его полностью анализировать C , но признает, что он принимает его для анализа определенных конструкций как неоднозначных.

Так что это больше не ответ!!


Я рекомендую вам взглянуть на scalpel. Со своей домашней страницы

Scalpel расшифровывается как s