解析函数运算字符串方案征集,如:sin(MyDataBase.MyTable.IntField)*myfunc(cos(20*2+3),56)+23)

altaxa 2003-05-14 09:27:43
解析函数运算字符串方案征集,
如:sin(MyDataBase.MyTable.IntField)*myfunc(cos(20*2+3),56)+23)
其中,sin,cos,myfunc等是我定义的函数,共有几十个,此处之列句简单几个。他们的调用格式已知,MyDataBase是数据库名,MyTable是表名,IntField是字段名。+-*/=()这些符号的优先级已知。
请问用什么方法解析和计算这个表达式呢?
...全文
8 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
altaxa 2003-06-10
to fingster(天幕繁星)
C++的函数适配器?怎么用?能够详细说明
回复
fingster 2003-06-04
用C++的函数适配器,怎么样?
回复
altaxa 2003-06-04
Jupin(VxWorking) , HeadFile(HeadFile)
你们做过的东东能否发给我看看?多谢了。:)
saihuac@sohu.com
回复
Jupin 2003-05-21
为每一个表达式生成一递归下降树,不断剪树叶子进行求解。
我写过一个编译原理课设原码,有这方面的代码。不过是CBuilder写的。
回复
sevencat 2003-05-20
假如要求不高的话,
可以用树来解决。

基类:
class Iparsetree
{
int type;
virtual double cacl();
Iparsetree* bran1;
Iparsetree* bran2;
Iparsetree* bran3;
...
}
每个函数和操作符都定义一个树,
然后再用个scanner类来扫描并产生这些树
附:我水平有限,自己也没有实现过一个解释器。看的人家这么用的。
不过这样做效率也并不低

回复
HeadFile 2003-05-20
找一个Flex++Bison++,自己做一个编译器都可以了。
不过这东西比较老了,我用它写过一个脚本语言的解释器。需要你些一个词法分析的文件,和语法分析的文件。就是学编译原理中的提到的Lex Yacc的C++。
回复
altaxa 2003-05-14
sign!~~~~~csdn上好像没有什么高手啊
回复
witcheese 2003-05-14
..
回复
相关推荐
发帖
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
帖子事件
创建了帖子
2003-05-14 09:27
社区公告
暂无公告