文档库

最新最全的文档下载
当前位置:文档库 > 编译原理复习提纲

编译原理复习提纲

《编译原理》复习提纲

第一章:概述

[考点]

1.编译程序的地位:系统软件

2.编译程序和解释程序的根本区别:是否生成目标代码

3.源程序的执行过程:两种形式

4.编译程序的6个工作:词法分析、语法分析、语义分析、代码生成(4个必须完成)、中间代码生成、代码优化

5.编译程序的每个工作阶段的主要任务

6.编译程序的几种常用开发技术P13

[题型]

填空、判断、问答

第二章:文法和形式语言

[考点]

1.基本概念:文法和语言、BNF表示法、推导和归约、规范推导(最右推导、最左归约)、句型、句子和语言

2.写出句子或句型的最左推导和最右推导的过程,P54的2.5题

3.给定文法,写出由此生成的语言,P55题2.8,2.11

4.给定语言,写出相应的文法,P55题2.7,2.9,2.10

5.根据句子或句型,画出语法树,求短语、简单短语和句柄

6.证明文法的二义性,由句子或句型画出2棵不同的语法树,由此证明文法是二义性的。

P55题2.16

7.可推出符号和活的非终结符,化简为等价文法。P56题2.19

8.文法和语言的分类:4种,了解包含关系,1型文法不允许空规则,2型(上下文无关文法)和3型(正则文法)文法的产生式的基本规则

9.由正则表达式写出正则集。P56题2.23

10.将正则文法转换成正则式

[题型]

填空、判断、综合题

[例题]

1.写出由G[S] S::=aSb|P

P::=bPc|bQc

Q::=Qa|a

生成的语言

解:L(G[S])={a i b j a k c j b i∣i≥0,j ≥1,k ≥1}

3.写出由文法G[S] S::=Aa|ε

A::=Aa|Sb|a

转换成的正则表达式。

解:A::=Aa|Aab|b|a

=A(a|ab)|(b|a)

=(b|a) (a|ab)*

编译原理复习提纲

(共4页)