一个困扰90%的程序员的问题,高手请进

wdslhr 2007-04-26 09:50:08
请问哪位大侠,在输入一个公式,怎么去判断它的合法性?
比如:fn=a+b*c/d+(trunc(a)*b)+++fn1(d) 是否合法。表达式可以包含 trunc()等系数自带函数,也可以是自定义的函数fn1,fn2等.操作符 + ,-,*,/ ,(,) 等基本的操作符

要求用plsql 函数或过程实现,写出检验合法性的思路来也可以
...全文
406 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由建客 2007-05-09
  • 打赏
  • 举报
回复
《The C++ programming language》上有一简单例子。
自由建客 2007-05-09
  • 打赏
  • 举报
回复
先进行词法扫描,建立符号表,然后建立语法树……
afei78223 2007-05-09
  • 打赏
  • 举报
回复
自己写一个公式解析器,呵呵
才子鸣 2007-04-26
  • 打赏
  • 举报
回复
正則表達式..
wdslhr 2007-04-26
  • 打赏
  • 举报
回复
楼上给的那个不行,是个代码编译器呀.太复杂了,等我学会了他的,我已成公司的明日黄花了
HsWong 2007-04-26
  • 打赏
  • 举报
回复
看看编译器,盒子上有一个小型的,支变量和自定义函数

http://www.2ccc.com/article.asp?articleid=3495
zwh202342 2007-04-26
  • 打赏
  • 举报
回复
正則表達式好一点
Hank 2007-04-26
  • 打赏
  • 举报
回复
要想得过且过,那么

var
fn: integer;

try
fn=a+b*c/d+(trunc(a)*b)+++fn1(d)
except
//异常提示
end;
ls_d88 2007-04-26
  • 打赏
  • 举报
回复
正在学C#下的正则表达式
wdslhr 2007-04-26
  • 打赏
  • 举报
回复
楼上的给个例子行不,我也知道要用正则表达式,可怎么用呀?

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧