日期:2014-05-18  浏览次数:20735 次

C# 像各位大神求助
现在有一段字符串:“int x=1;int y=2;x=x+y;write(x)”用户在TextBox里面要输入一段这样的字符串代码,怎么用分析字符串的方式把X的结果输出出来。要求是:如果用户在少输入了一个“;”和没有write这个关键字,都要给出提示

------解决方案--------------------
我只问你一个问题,有没有听说过正则表达式?

如果你听说过,那很好,第二个问题是,你能不能写出一个仅仅包含正则表达式一些规则的最简单的正则表达式解析引擎?

如果你不能,那么你的预备知识太少了,不足以完成你的任务。
------解决方案--------------------
知道BNF范式是啥不?

知道antlr是啥不?

知道yacc不?

不知道先看上面这个几个,看完你就知道怎么做了?


ps:话说这写东西还是在《编译原理》有说明,既然要做这块。要入这个门槛,编译原理是必须的。哪怕你只是应付几天,不知道BNF是啥,也根本没办法搞
------解决方案--------------------
正则表达式只是用到最基本的词法分析,至于ls的语法分析,还没有涉及呢。
------解决方案--------------------
百度一下动态编译