用C程序求解带有函数的表达式
C program to solve expressions with functions in it
我试图编写一个程序,类似于表达式求解器,只支持以下函数
length();
substr();
concat();
因此,如果用户输入
concat('Int Part : ', substr(5.00+4.00, 0, 1))
输出应该是
Int Part : 9
有没有图书馆可以做这件事,或者有没有地方可以让我学习如何做这类事情。
我想你应该看看这个:http://en.wikipedia.org/wiki/Recursive_descent_parser
此外,我建议使用bison和yacc,它们是满足您需求的强大工具。但它们有点复杂。
相关文章:
- C++模板函数中的初始化 - 新的初始值设定项表达式列表被视为复合表达式
- 来自 DLL 的函数调用 [表观调用的括号前面的表达式必须具有(指向-)函数类型]
- 在函数中使用 const int size 参数创建数组会在 Visual Studio 中抛出错误 C++:表达式的计
- 表达式 SFINAE:如何根据类型是否包含具有一个或多个参数的函数来选择模板版本
- 函数返回的 rvalue 引用(表达式)是 xvalue - 但没有标识?
- 折叠表达式和函数名称查找
- C++:带有大括号初始化列表的函数调用表达式 - 标准是否规定在单个元素列表的微不足道的情况下忽略大括号?
- 不是 lambda 函数中的常量表达式
- 保证逻辑 AND 表达式中的函数调用
- std::cout 在打印变量与函数表达式时的行为不同
- C2276 '&':对绑定成员函数表达式的非法操作
- 函数表达式的字符串转换,带有 Catch 断言中的参数
- 为什么返回非引用类型的函数表达式被认为是prvalues而不是xvalues
- 定义函数时,哪种类型是lambda函数/表达式
- '&' :对绑定成员函数表达式的非法操作
- 如何解析和调用c++类函数表达式
- "&":对绑定成员函数表达式的非法操作。从关键点矢量 OpenCV 获取容量
- 如何使boost-proto函数表达式可流化
- "!"绑定成员函数表达式的非法操作
- lambda 函数/表达式是否支持 constexpr