首页 新闻 会员 周边 捐助

c#文本编辑器开发

0
[已解决问题] 解决于 2012-06-13 17:20

开发C#文本编辑器:从xml文件里面自动读取字符串构成逻辑运算表达式(&&或||或!),逻辑运算表达式自动返回true或者false,把返回的结果(true或者false)以字符串形式获取,在程序里面操纵这个字符串

非常感谢各位,有分一定能够加分,现在没分了,一定追加!

乔乔lovefreedom的主页 乔乔lovefreedom | 初学一级 | 园豆:9
提问于:2011-02-27 23:39
< >
分享
最佳答案
0

lamda表达式树?。。。 感觉好像有点编译的意思在里面

建议读取回来后,解析生成lamda表达式树

然后再需要结果的时候直接compile就可以了,貌似linq2sql就是这么干的

奖励园豆:5
xiao_p | 小虾三级 |园豆:608 | 2011-02-28 23:47
其他回答(3)
0

建议读取XML数据之后用LINQ动态组配表达式。肯定能实现你的要求。

mywork | 园豆:475 (菜鸟二级) | 2011-02-28 08:35
0

貌似妹子经常提问啊,这些问题还是自己琢磨下的好,总是在提问很难提高的。

massinger | 园豆:706 (小虾三级) | 2011-02-28 10:57
0

动态编译

Astar | 园豆:40805 (高人七级) | 2011-03-01 09:20
指的是从xml里面得到复杂的逻辑运算表达式(包含各种运算符[一维,二维]),然后在程序中求解这个逻辑表达式的真假(结果要求返回true或false)
支持(0) 反对(0) 乔乔lovefreedom | 园豆:9 (初学一级) | 2011-03-01 10:33
难点就在于你得到复杂的逻辑运算表达式的过程
假设xml中是a b
那么你怎么去解析这个a b呢,你的程序是不知道a和b是两个常量值, 是逻辑运算的符号

所以,难点我感觉是在此法解析上,解析了之后你可以通过lamda表达式树做存储,什么时候需要,什么时候compile就可以了!
支持(0) 反对(0) xiao_p | 园豆:608 (小虾三级) | 2011-03-01 13:33
难点在于解析
支持(0) 反对(0) 乔乔lovefreedom | 园豆:9 (初学一级) | 2011-03-01 19:30
难点如果在于解析的话,那就是词法分析的路上去走了。
建议多看看编译之类的书,找找相对应的解决方案,其实一般的无非就是抽象出二叉树,网上也有一些开源编译的方案,可以参考来看看。

哦,看了眼标题,原来是想做c#的文本编辑器,那为什么不直接保存成.cs文件,然后直接调用msbuilder编译呢?
还是想实现自己的编译器?这个难度好像有点大了吧。。。
支持(0) 反对(0) xiao_p | 园豆:608 (小虾三级) | 2011-03-02 09:44
据说c#5.0 支持compile as a service,到时候可以自己修改编译器了,也许到时候能方便点?。。。
支持(0) 反对(0) xiao_p | 园豆:608 (小虾三级) | 2011-03-02 09:45
恩啊,呵呵,是的,二叉树,没错!
支持(0) 反对(0) 乔乔lovefreedom | 园豆:9 (初学一级) | 2011-03-02 11:42
呵呵呵,大牛,推荐本编译的书,关于.net的,不胜感激呀!
支持(0) 反对(0) 乔乔lovefreedom | 园豆:9 (初学一级) | 2011-03-03 10:53
小女求一本关于C#编译的书,哪怕是博客或者url也好呀
支持(0) 反对(0) 乔乔lovefreedom | 园豆:9 (初学一级) | 2011-03-03 10:56
这个真没涉及过,建议你问问园子里的装配脑袋,他肯定知道,给他发消息就好
支持(0) 反对(0) xiao_p | 园豆:608 (小虾三级) | 2011-03-03 14:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册