教案-编译原理详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称:《编译原理》

课程性质:专业课(必修)

学时:48(理论教学)

教材:(1)编译原理.李劲华等编,复旦大学出版社,2007年

(2)编译原理(第2版)电子工业出版社,胡伦骏,骆婷编,2007年

1.课程班级:软件工程11级1班,2班,3班

教室:西教1—305

授课时间:1-12周,星期二 8,9节、星期四 1,2节

2.课程班级:计算机科学与技术11级1班,2班,3班,4班

教室:西教1—304

授课时间:1-12周,星期二3,4节、星期五 3,4节

授课教师:张永

考核方式:闭卷

总评成绩=平时成绩(20%) + 期末考试成绩(80%)

参考书

1. Compilers: Principles, Techniques and Tools (2nd Edition). Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Addison Wesley; 2006

2. 程序设计语言编译原理(第三版),陈火旺、刘春林等,2000年,国防工业出版社,2002年获国家级高等学校优秀教材一等奖。是国家“九五”重点建设教材。

3. 编译原理与技术,李文生,清华大学出版社,2008.7

3 程序语言的语法描述

几个概念:

考虑一个有穷字母表∑字符集

其中每一个元素称为一个字符

∑上的字(也叫字符串) 是指由∑中的字符所构成的一个有穷序列

不包含任何字符的序列称为空字,记为ε

用∑*表示∑上的所有字的全体,包含空字ε

3.1 上下文无关文法

文法:描述语言的语法结构的形式规则

He gave me a book.

<句子> <主语><谓语><间接宾语><直接宾语>

<主语> <代词>

<谓语> <动词>

<间接宾语> <代词>

<直接宾语> <冠词> <名词>

<代词> He

<代词> me

<名词> book

<冠词> a

<动词> gave

上下文无关文法的定义:

一个上下文无关文法G是一个四元式

G=(VT,VN,S,P),其中

VT:终结符集合(非空)

VN:非终结符集合(非空),且VT VN=

S:文法的开始符号,S VN

P:产生式集合(有限),每个产生式形式为

P , P VN, (VT VN)*

开始符S至少必须在某个产生式的左部出现一次。

最左推导:任何一步都是对中的最左非终结符进行替换。

最右推导:任何一步都是对中的最右非终结符进行替换。

3.2 语法树与二义性

用一张图表示一个句型的推导,称为语法树。

定义:如果一个文法存在某个句子对应两颗不同的语法树,则说这个文法是二义的

3.3 形式语言

Chomsky于1956年建立形式语言体系,他把文法分成四种类型:0,1,2,3型。

与上下文无关文法一样,它们都由四部分组成,但对产生式的限制有所不同。

作业:P30 8,9,10,11,12

算符优先文法及优先表构造

一个文法,如果它的任一产生式的右部都不含两个相继(并列)的非终结符,即不含如下形式的产生式右部:

…QR…

则我们称该文法为算符文法。

算符优先分析算法

可归约串,句型,短语,直接短语,句柄,规范归约。

一个文法G的句型的素短语是指这样一个短语,它至少含有一个终结符,并且,除它自身之外不再含任何更小的素短语。

最左素短语是指处于句型最左边的那个素短语。

优先函数

把每个终结符θ与两个自然数f(θ)与g(θ)相对应,使得

若θ1 θ2,则f(θ1) < g(θ2)

若θ1 θ2,则f(θ1) = g(θ2)

若θ1 θ2,则f(θ1) > g(θ2)

f称为入栈优先函数,g称为比较优先函数。

优点:便于比较,节省空间;

缺点:原来不存在优先关系的两个终结符,由于自然数相对应,变成可以比较的。要进行一些特殊的判断。

定义:假定α是文法G的一个句子,我们称序列

αn,αn-1,⋯,α0

是的一个规范归约,如果此序列满足:

1 αn= α

2 α0为文法的开始符号,即α0=S

3 对任何i,0 ≤ i ≤ n,αi-1是从αi经把句柄替换成为相应产生式左部符号而得到的。

P100 11,12

相关文档
最新文档