自定義語句的解析問題(200分)

Q

qlw

Unregistered / Unconfirmed
GUEST, unregistred user!
在我的系統中﹐需要用戶自已定義公式與運算法則,
還應該有除錯功能﹐好象一個小型編譯器:
1.支持一般的數學運算
2.几個流程控制語句﹕
* begin end
* if then else
* while break/continue
* goto
主要用于薪資計算
數學運算好辦﹐用數據結構中學的算符優先法﹐但流程控制
語句不知怎么解決﹐以前編譯原理學了﹐但從沒實做過

如何做﹐請指教
歡迎多聯系﹐我的mail: qjwlq@sina.com
 
其实和表达式计算没什么本质区别,先词法分析,然后语法分析建立起语法树,
最后解释语法树就可以了。网上也有现成的例子。
 
用DreamScripter啊,现成的
 
to djdsz: 哪有?abcus@china.com

以前我使用SQL语句进行处理的!
 
你用于工资计算,是不是需要这样啊?随便找个方法都 能解决啊
 
to djdsz:
谢谢你,但安装时说找不到dcctd5.bp,如何是好?
 
是安装DreamCollection还是运行Instant.exe啊,DreamCollection可以安装的,Instant.exe
需要那包的(不需要的话,似乎结果不一样)
 
to djdsz:
到哪找dcctd5.bpl呀!Instant.exe运行不了!
 
ExpressForumLibrary控件组中控件可以解决.
 
到www.inprises.com去下载Dream控件
 
建议你使用SQL语句,因为定义的SQL换成字符串直接在后台调用.不用你去展开分析.但有
一个问题就是测试.比如你要让别人自定义公式.而且还要让别人在前台测试公式是否正确.
否则的话在计算的时候后台可能出错.测试我也没有做出来.
 
如果一定要用SCRIPT的方式来做的话
用微软的SCRIPTCONTROL就可以搞定了, 用户可以用VBSCRIPT或JAVASCRIPT来写。
 
但是不支持Pascal啊
 
要支持PASCAL好象DREAM CONTROL的SCIPTER做到了。
装一个试试吧。
 
請給一個語法分析樹的例子﹐如何if then else/while break(continue)
或發至qjwlq@sina.com,謝謝
 
www.vclxx.com有psScript
 
那個控件我找到了,但是太復雜了 請給我一個簡單的語法分析樹的構造算法
 
顶部