构建数学表达式评估器
我无法在我的环境中使用 boost::spirit 。但我想尽可能使用STL和boost来构建我自己的表达式评估器。有没有这样的替代方案来 boost::spirit ?
I can't use boost::spirit in my environment. But I would like to use STL and boost as much as possible to build my own expression evaluator. Is there such an alternative to boost::spirit?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下代码包括单元测试和我在 ACCU 200x(8 或 9)上大约 90 分钟的会话中编写的完整解析器。如果您需要更多,扩展可能很容易。您可以通过定义 Parse::value_type 来使其执行双精度操作,或者将其提取到单独的头文件中并使其成为模板类。
或者您可以自己尝试一下测试用例。 (它使用 http://cute-test.com 中的 CUTE)
The following code includes unit tests and a complete parser I wrote in an about 90 minute session at ACCU 200x (8 or 9). If you need more, it might be easy enough to extend. You can make it do doubles by defining
Parse::value_type
, or extracting it into a separate header file and make it a template class.Or you can take the test cases and try yourself. (it uses CUTE from http://cute-test.com)
YACC++ 是一个非常好的 C++ 应用程序解析器生成器工具。 ANTLR 也是一个不错的选择,但是没有关于其在 C/C++ 中使用的良好文档。
YACC++ is a very good tool for parser generator for c++ applications. ANTLR is also agood option howver that does not have good documentation for its usage in C/C++.