搜索资源列表
HuffmanTree
- 该系统应具有以下功能: (1) I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 (2) E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。 (3) D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。
lab1
- 任务是编写一个程序对使用C 语言书写的源代码进行词法分析和语法分析(C 语言的文法参见附录A),并打印分析结果。实验要求使用词法分析工具GNU Flex和语法分析工具GNU Bison,并使用C语言来完成。在两个强大工具的帮助下,编写一个能进行词法分析和语法分析的程序是一件相当轻松愉快的事情。 需要注意的是,由于在后面的实验中还会用到本次实验已经写好的代码,因此保持一个良好的代码风格、系统地设计代码结构和各模块之间的接口对于整个实验来讲相当重要。 -The ta
lab2
- 任务是在词法分析和语法分析程序的基础上编写一个程序,对C 源代码进行语义分析和类型检查,并打印分析结果。与实验一不同的是,实验二不再借助已有的工具,所有的任务都必须手写代码来完成。另外,虽然语义分析在整个编译器的实现中并不是难度最大的任务,但却是最细致、琐碎的任务。因此需要用心地设计诸如符号表、变量类型等数据结构的实现细节,从而正确、高效地实现语义分析的各种功能。 需要注意的是,由于在后面的实验中还会用到本次实验已经写好的代码,因此保持一个良好的代码风格、系统地设计代码结构和