编译实验编译原理设计题目.doc

编译实验编译原理设计题目.doc

ID:55742577

大小:27.50 KB

页数:2页

时间:2020-06-04

编译实验编译原理设计题目.doc_第1页
编译实验编译原理设计题目.doc_第2页
资源描述:

《编译实验编译原理设计题目.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、编译原理设计题目设计原则:1.使用了《编译原理》中的内容;2.具有完整性,表现或演示了某种功能;3.实用性,有一定的应用价值。设计语言:任意熟悉的开发环境。下面的题目标出了设计难度、大概的工作量、涉及到的编译原理内容,内容在不断更新中,请关注教学网站。l表达式计算器:这是一款算术表达式计算程序,用户通过输入表达式达到计算的目的,可代替目前普遍使用的计算器。使用了编译原理中的词法分析、算符优先分析等。根据功能的不同可分为:n无符号整数表达式计算器:输入无符号整数表达式,输出结果。难度:较难。工作量:中等

2、。n整数表达式计算器:考虑负数。难度:较难。工作量:中等。n定点实数表达式计算器:难度:较难。工作量:中等。n通用表达式计算器:考虑1.23e-2的形式输入。难度:难。工作量:中等。l函数表达式计算程序:这是一款能计算函数值的实用程序,用户输入含有自变量x的函数表达式被电脑接受后,可接着输入自变量x的值,电脑输出函数值y的值。用户可以是数学、物理等教师,他们可以在上课教授与函数有关的课程时进行课堂演算,也可以在备课时验证数据;用户也可以是工程技术人员和学生。使用了词法分析、算符优先分析。根据功能的不同

3、可以分为:n多项式函数计算程序:只处理多项式函数,如f(x)=x^3+x^2+5等。难度:较难。也可设计成其他专用函数计算程序,如幂函数计算、三角函数计算等。但要避免出现不同用,如不要设计成仅能处理f(x)=2^x的幂函数,因为这样的函数利用普通编程就能实现,无法体现编译原理。工作量:中等。n通用初等函数计算程序:能处理所有的初等函数的计算。如f(x)=3*sin(x/2+3.1415)+x^2等。难度:难(因为涉及到函数名称和参数的识别问题)。工作量:较大。n二元或多元函数的计算:请参考立体解析几何

4、中相关方程。如f(x,y)=x^2+y^2等。难度和工作量同一元函数的计算。l字符串搜索程序:用户输入要查找的字符串的正则表达式,软件可在大量文本中找到符合描述的字符串。这个设计可参考微软.NET的正则表达式的功能。使用到正规式、词法分析等,还需要有较大的设计技巧。根据功能的不同可以分为:n名称查找程序(类似于文件名):存有大量的名称,如abc,123,a1,ab1245等,输入要查找的规则,找出符合规则的名称。u方案1:通配符,把“*、?”当作通配符:如输入“a*”,显示“abc,a1,ab1245

5、”;输入“a?”,输出“a1”。u方案2:正规式,把“*”当作“闭包”,把“

6、”当作“或”:如输入“(a

7、b)1”,输出“a1”;输入“(a

8、b)*c”,输出“abc”。u方案3:只要包含正规式即可,当名称中包含该正规式,就输出来:如输入“(a

9、b)1”,输出“a1,ab1245(含有b1)”;输入“(a

10、b)*”,输出“abc,a1,ab1245”。u方案4:含有通配符的正规式,设“@”表示任意字母,“$”表示任意数字(其他可再设多一点,如表示符号等,但会减少名称中的符号种数):如输入“a@*”输出

11、“abc”;输入“a(@

12、$)*”,输出“abc,a1,ab1245”。(以上涉及到正规式的方案难度较大,其他难度一般。注:以上的@$等符号是随便设定的,与.NET中通用的符号不同且有冲突的,请在实际编程时修改之。)n文本搜索程序:在一连串文本中搜索所需的字符串。同“名称查找程序”中的有关正则式的方案,难度较大,具体正规式包含哪些符号和通配符可另定。(关于正则表达式的介绍参见另一文档,详细信息见.NET框架联机文档)l转义符的识别:C语言的字符串常量书写时使用了大量的转移符,如“\”表示单斜杠,而“

13、”表示换行(同“u000A”),“x20”表示十六进制表示形式(恰好两位)与ASCII字符匹配(这里代表值为32的ASCII字符,即空格)。请参照C语言教材,编制一个软件,输入包含转义符的字符串,输出没有转义符的真实字符串。难度:一般。工作量:一般。l有限自动机的运行(推荐):设计一个确定的有限自动机,写出状态转换函数,或画出状态图,编制程序,输入一个字符串,程序能判别该字符串是否能被该有限自动机的接受,可以考虑输出能否接受的同时,输出状态路径。难度:一般。n整数的判断:写出整数的正规式,画出

14、状态图,写出状态转换函数。编出程序。难度:简单。n同上的过程还可以进行:正偶数的判断、自然数的判断、定点数的判断等。n实数的判断:过程同上。难度:一般。l逻辑运算分析:可对关系表达式进行分析,并得出结果。这个设计结果可改变后用于电路分析、谓词演算等。难度:较难。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。