【发布时间】:2009-05-29 00:03:52
【问题描述】:
翻译器也可以在 boost::spirit 中。 我在互联网上找不到任何东西。 也许我应该做一个?
【问题讨论】:
标签: c++ boost-spirit
翻译器也可以在 boost::spirit 中。 我在互联网上找不到任何东西。 也许我应该做一个?
【问题讨论】:
标签: c++ boost-spirit
表达式模板允许我们在 C++ 中完全近似扩展巴科斯范式 (EBNF) 的语法。
所以你可以几乎编写简单的 EBNF,不需要 翻译器。
我对spirit不太熟悉,不知道语法到底有什么不同,但是如果spirit C++ EBNF和real EBNF的区别很小,一个简单的@ 987654322@ 脚本可能就足够了。
如果不是,您可以编写一个理解 EBNF 的精神解析器,然后使用 AST 创建 C++ 代码,该代码是该 AST 的精神表示。
【讨论】:
boost::spirit::qi,它好多了。但是我对 Spirit 最大的旧抱怨仍然存在。 1.如果您的语法有语法错误,请帮助可怜的灵魂,他必须破译它生成的模板错误消息。 2. 即使是相对简单的语法,编译时间也非常长。