- 博客(0)
- 资源 (7)
- 收藏
- 关注
Tiny语言语法分析
实验内容:
扩充的语法规则有:实现 while、do while、for语句、大于>比较运算符号以及求余计算式子,具体文法规则自行构造。
可参考:P97及P136的文法规则。
(1) While-stmt --> while exp do stmt-sequence endwhile
(2) Dowhile-stmt-->do stmt-sequence while(exp);
(3) for-stmt-->for identifier:=simple-exp to simple-exp do stmt-sequence enddo 步长递增1
(4) for-stmt-->for identifier:=simple-exp downto simple-exp do stmt-sequence enddo 步长递减1
(5) 大于>比较运算符号以及求余计算式子的文法规则请自行组织。
(6) 把TINY语言原有的if语句书写格式
if_stmt-->if exp then stmt-sequence end | | if exp then stmt-sequence else stmt-sequence end
改写为:
if_stmt-->if(exp) stmt-sequence else stmt-sequence | if(exp) stmt-sequence
2019-03-20
实验四LL(1)分析器的生成
实验要求:
(1)要提供一个源程序编辑界面,让用户输入文法规则(可保存、打开存有文法规则的文件)
(2)检查该文法是否存在着左递归,如果有,则消除该文法的左递归。因此需要提供窗口以便用户可以查看消除左递归后的结果。
(3)检查该文法是否存在着左公共因子,如果有,则消除该文法的左公共因子。因此需要提供窗口以便用户可以查看消除左公共因子的结果。
(4)需要提供窗口以便用户可以查看文法对应的LL(1)分析表,并报告该文法是否为LL(1)文法。
(5)需要提供窗口以便用户输入需要分析的句子。
(6)需要提供窗口以便用户查看使用LL(1)分析该句子的过程。【可以使用表格的形式逐行显示分析过程】
(7)应该书写完善的软件文档
2019-03-20
C++词法分析器
这个压缩包是在下编译原理课程实验代码,用c++实现词法分析,并以窗体应用程序的形式显示出来。
实验内容及要求如下:
(1)C++源代码扫描程序识别C++记号。
C++语言包含了几种类型的记号:标识符,关键字,数(包括整数、浮点数),字符串、注释、特殊符号(分界符)和运算符号等。
(2)打开一个C++源文件,打印出所有以上的记号。
(3)要求应用程序应为Windows界面。
(4)选作部分:为了提高C++源程序的可读性,C++程序在书写过程中加入了空行、空格、缩进、注释等。假设你想牺牲可读性,以节省磁盘空间,那么你可以存贮一个删除了所有不必要空格和注释的C++源程序的压缩文本。因此,程序中还应该有这样的压缩功能。
(5)选作部分:进一步思考或实现——如何进一步实现减小源文件大小的压缩功能。
(6)应该书写完善的软件文档。
2019-03-20
Android高级编程
《Android高级编程》首先简要介绍Android软件栈,接着陈述为手机创建稳定可靠、赏心悦目的应用程序的基本原理。通过学习,您可以打下牢固的理论根基,了解使用当前Android 1.0 SDK编写定制移动程序所需的知识,还能灵活快捷地运用未来的增强功能构建最前沿的解决方案。
2018-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人