黑大编译原理考试重点整理:文法与词法分析

5星 · 超过95%的资源 需积分: 12 16 下载量 189 浏览量 更新于2024-09-12 收藏 143KB DOC 举报
"黑大编译原理考试复习资料,涵盖了编译原理的多个知识点,包括填空题和判断题,涉及文法、编译过程、词法分析、有限自动机等多个方面。" 编译原理是计算机科学的一个核心领域,主要研究如何将高级编程语言转化为机器能理解的低级机器语言。在黑大的编译原理考试复习中,以下几个关键知识点值得重点掌握: 1. **编译程序的组成部分**:一个完整的编译程序包括词法分析程序、语法分析程序、语义分析程序、错误检查处理、中间代码生成、代码优化程序、信息表管理和目标代码生成。这些部分协同工作,将源代码转换为可执行程序。 2. **编译执行与解释执行**:编译执行是在运行前将源代码转化为目标代码,而解释执行则是逐行读取源代码并直接执行,不产生目标代码。 3. **文法表示**:文法通常用四元组G[S]=(VN, VT, P, S)表示,其中VN是非终结符集合,VT是终结符集合,P是产生式集合,S是开始符号。 4. **递归文法与句子**:递归文法可以生成无限数量的句子,一个文法的开始符号S推导出的符号串称为文法的句型。 5. **句柄与直接短语**:句柄是句型中最左的直接短语,是规范分析中最早被规约的部分。 6. **Chomsky文法分类**:分为0型文法(短语结构)、1型文法(前后文有关)、2型文法(前后文无关)和3型文法(正规文法)。 7. **词法分析**:词法分析的任务是识别输入串中的单词,每个单词的词文是构成它的字符序列。 8. **正规文法与有限自动机**:正规文法、正规式和有限自动机在描述语言的意义上等价,ε-NFA(ε非确定有限自动机)常用于构建词法分析器。 9. **状态转换图**:状态转换图、状态矩阵和有限自动机在识别语言时等价,初态结点没有射入矢线,终态结点没有射出矢线。 10. **词法分析程序的构建**:通常有两种方法,一是手工编写,二是借助工具自动生成。 在判断题中,文法和语言不是一一对应关系,语言相等的文法可能不等价;每棵语法树的叶从左到右排列确实组成一个句型;上下文无关文法的二义性是不可判定的;同一字母表上的NFA和DFA是等价的,但状态数不同并不意味着不等价;状态转换图中的终态结点可能不止一个。 复习这些内容对于理解和解答编译原理相关的考试题目至关重要,确保对上述知识点有深入的理解和应用能力。