现在的位置: 首页 > 综合 > 正文

文本行查询系统[1]-理论与原理

2013年06月02日 ⁄ 综合 ⁄ 共 707字 ⁄ 字号 评论关闭

寒假在家,做下个学期要学的C#Java的实验,虽然这些实验题目是去年的,不过还是认真做了下。这几天就做了一个非常有意思的C#实验——Polymorphic Query Language,《C# PrimerChapter 3.2里有具体描述,下面概括地介绍一下到底什么是Polymorphic Query Language

       Polymorphic Query Language直译过来就是多态查询语言,这次实验就是叫做一个支持这种语言的查询系统,让用户可以像这样查询一个指定的文本文件:

       ·xx :查找的含有字串为xx的行

·!xx:查找不含有字串xx的行

·xx && yy:查找同时含有字串xxyy的行

·xx || yy:查找含有字串xxyy的行

·!xx && yy):查找不同时包含字串xxyy的行

看了这个简单的需求之后,突然觉得这个东西不是很简单的,呵呵。看看这个程序要涉及的知识吧:

1. 文件操作

2. 用户查询字串的解析(重点之一)

3. 整个系统的体系层次设计(重点之一)

4. 异常处理(这个是下一次实验的内容)

下面先讲一下第2点,关于查询字串的解析。

看到这些逻辑运算的时候我总会把它们和算术运算联系在一起,&& -> *|| -> +

! -> -。当对应好的想到的就是算术运算式的处理,然后自然就会想到后缀表达式(逆波兰式)的运用^_^!不好以前数据结构学得不错,也写过一个后缀表达式的计算器。不过如果你不熟悉的话一起来复习一下:

    比如处理表达式(a + b * c* d

     

       好了,大概理论讲完了。下面先实现一个这个表达式分析器吧!

 

抱歉!评论已关闭.