用 C# 设计与实现一个四则算术运算解释器
2009-05-29 08:31:32 来源:WEB开发网核心提示:今天下午用 C# 写了一个简单的四则算术解释器 (Interpreter),该解释器主要有两个功能:一是能够进行基本的四则运算,用 C# 设计与实现一个四则算术运算解释器,也即加减乘除;二是能够检测输入的语法错误,对于不合法的运算指令会提示错误以及给出错误的地方,请提示出来,我会更正,晚上于是写这篇博文把思考的过程记录
今天下午用 C# 写了一个简单的四则算术解释器 (Interpreter)。该解释器主要有两个功能:一是能够进行基本的四则运算,也即加减乘除;二是能够检测输入的语法错误,对于不合法的运算指令会提示错误以及给出错误的地方。晚上于是写这篇博文把思考的过程记录下来。
按:这是以前遇到的一个微软技术面试题,当时觉得比较麻烦,要涉及到使用 树 tree 等数据结构,所以一直保留在脑海中。今天下午碰巧拿到了传说中的 Dragon Book,于是尝试自己动手写写看。
花了2个小时写的这个解释器还是比较简单的,仅仅能够做四则运算。现在还不支持括号,以及一元运算符,比如负号运算符。源代码可以在这里下载:http://files.cnblogs.com/yinyueyouge/Arithemic.7z
运行的主界面如下:
图片看不清楚?请点击这里查看原图(大图)。
解释器也能够判断非法的输入:
图片看不清楚?请点击这里查看原图(大图)。
现在这个解释器还非常原始。若是有 bug 发现,请提示出来,我会更正。:)
现在来解说下这个解释器的原理。
更多精彩
赞助商链接