Есть ли инструмент для перевода EBNF для повышения :: Spirit? - PullRequest
4 голосов
/ 29 мая 2009

Переводчик тоже может быть в boost :: spirit. Я не мог найти что-либо в Интернете. Может быть, я должен сделать один?

1 Ответ

1 голос
/ 29 мая 2009

Из спиртного представления :

Шаблоны выражений позволяют полностью аппроксимировать синтаксис расширенной формы Backus-Normal (EBNF) в C ++.

Таким образом, вы можете почти написать простой EBNF, нет необходимости в переводчике .

Я не очень знаком с духом, чтобы знать, как точно отличается синтаксис, но если различия духа C ++ EBNF и реального EBNF незначительны, то просто Сценария sed может быть достаточно.
Если вы не правы, вы могли бы написать анализатор духа, который понимает EBNF, а затем использовать AST для создания кода C ++, который является духовым представлением этого AST.

...