比如一txt文件中含有如下的3行字符串:
if a<=4 then x=1
if a>4 and b<5 then x=2
if a>4 and b>5 then x=3现在需要分析这些字符串,将其解析成程序代码,这样当我输入a、b值的时候就可以得出x的值。高手帮忙解答,不甚感激。
if a<=4 then x=1
if a>4 and b<5 then x=2
if a>4 and b>5 then x=3现在需要分析这些字符串,将其解析成程序代码,这样当我输入a、b值的时候就可以得出x的值。高手帮忙解答,不甚感激。
解决方案 »
- 如何用钩子实现两个程序间消息传递,没分了,都给了
- 关于vs2005调试问题
- 很怪异的一个问题
- 输入一串字符,统计各字符出现的次数 C# 写~1
- 谁有NEC软件(济南)的面试试题?
- 大家都听什么歌啊?贴一个最喜欢听的上来,我发到我的Blog上!
- 求助 !! 用C#调用一个地图控件(我估计是用C++ Builder写的)中的函数,出现“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”的异常。
- 朋友的毕业设计,高手帮看下,给个思路
- 创建EXCEL时,总是说拒绝访问,要设置访问权限允许ASP.NET用户,
- C#中数据绑定是否可以有条件绑定(急)
- 请问在perl 或php中的crypt($password, $salt); 在.net要用什么代替啊?
- 程序界面简单问题(送分)
string str = "if a<=4 then x=1";
->
str = str.Replace("if","if (");
str = str.Replace(" then",")");
if a>4 and b<5 then x=2
if a>4 and b>5 then x=3
--------------------------
如果你能保持输入格式的话,分析空格前的单词便可
str = str.Replace("then","))");
再加上
str = str.Replace("and",")&&(");
这样应该可以了!
如果确信是一行一条语句,我可以试着写出个解析器来。太复杂的……可以去写编译器啦,呵呵
if a<=4 then x=1
if a>4 and b<=5 then x=2
if a>4 and b>5 and c<=6 then x=3
。要用c#呀。
分数自会送上,不够的话,可以去另一个帖子里http://community.csdn.net/Expert/topic/4238/4238624.xml?temp=.9083673
顶贴一下。多谢了。
我觉得关键是怎么去根据读到的字符串,然后分析出此字符串中包含的逻辑含义。