- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015年2月15日
编译原理
形式语言的表示方法
• 有穷语言可以用穷举法枚举全部句子。例如设有字母表: A={a,b,c},则 • L1={a,b,c} • L2={a,aa,ab,ac} • L3={c,cc} • 均表示字母表上一个形式语言。由于这三个语言均是有限符号串 的集合,因此可用枚举法来表示。
A1 A A A2 A A3 A
, xxx,xxy,xyx,xyy, ……} A*= ? {ε,0x,y,1 xx,xy,yx,yy 2 3
2015年2月15日
编译原理
Σ的闭包* 表示上的一切符号串(包括ε)组成的集合 Σ的正闭包+ 表示上的除ε外的所有符号串组成的集合
{ } ...... * * 2 3 { } ......
2015年2月15日
编译原理
语言是由句子组成的集合,是由一组符号所构成的集合
字母表上的一个语言是上的一些符号串的集合 字母表上的每个语言是*的一个子集 例如:字母表Σ ={a,b} ,Σ *={ε ,a,b,aa,ab,ba,bb,aaa,aab,…}
集合{ab,aabb,aaabbb,…,anbn,…} 或表示为{w|w∈Σ*且w=anbn,n≥1}为字母表上的一个语言 集合{a,aa,aaa,…} 或表示为{w|w∈Σ*且w=an,n≥1} 为字母表 上的一个语言
2015年2月15日
编译原理
符号串集合的幂运算 有符号串集合A,定义A0 ={ε}, A1=A, A2=AA, A3=AAA,…… An=An-1A=AAn-1 ,n>0
例如,A={0,1},则 A0= {ε} A1= {0,1} A2= {00,01,10,11} A3= {000,001,010,011,100,101,110,111}
2015年2月15日 编译原理
2.3文法和语言的形式定义
2.3.1形式语言的概念 字母表上的符号按照某种规则构成的所有符号串的集 合可定义为一个形式语言 • 对每一个具体语言,都有语法和语义两个方面,形式语 言是指不考虑语言的具体意义。例如:C语言是其基本符 号字母表上的符号串的集合,而每个C语言程序是基本符 号的符号串集合的子集。 • 如果一个语言中含有无穷个句子,则称该语言是无穷的, 否则就是有穷的。
2015年2月15日
编译原理
形式语言的表示方法
• 对无穷语言来说,需要解决该语言的有穷表示问题。并 不是所有语言都是有穷集,例如:设字母表∑={0,1}, 则Σ+=Σ1∪Σ2∪Σ3∪…={0,1,00,01,10,11,000, 001,…}
• 它是0和1构成的所有可能的符号串的集合,无法用枚举 法来描述。我们需要设计规则来描述无穷集合的语言。 • A →0 • A →1 • A →A0 • A →A1 • 这就是用文法来描述语言,它描述了无穷集合的语言。
2015年2月15日 编译原理
文法和语言的形式定义
文法是对语言结构的定义与描述。(或称为“语法”)。
<赋值语句>::=<标识符>“=”<表达式> <表达式>::=<表达式>“+”<表达式> | <表达式>“*”<表达式> <表达式>::=“(”<表达式>“)” | <标识符> | <整数> | <实数>
* 2
例:Σ ={a,b}…} Σ +={a,b,aa,ab,ba,bb,aaa,aab,…}
2015年2月15日 编译原理
为什么对符号、符号串、符号串集合以及它们的运算感兴趣? 若A为某语言的字母表 A={a,b,…,0,1,…,9, +,-,×,_/, ( , ), =… if, else,for...} B为单词集 B ={if, else,for,……,<标识符>,<常量>,……} 则B A* 。 语言的句子是定义在B上的符号串。 若令C为句子集合,则C B * , 程序 C
2015年2月15日
编译原理
第二章 文法和语言的基本知识
本章主要介绍形式语言理论中的一些最 基本的概念和基础知识,它是学习以后各章 节的基础。
2015年2月15日
编译原理
符号串集合的乘积 设A、B为符号串集合,则A和B的乘积定义为:AB={ xy |x∈A,y∈B}
例如,A={a,b},B={c,d}
则AB=
{ac,ad,bc,bd}
2015年2月15日
编译原理
符号串集合的闭包运算
设A是符号串集合,定义 A+= A1 ∪ A2 ∪ A3 ∪……∪ An ∪…… 称为集合A的正闭包。 A*= A0 ∪A+ 称为集合A的闭包。 例:A={x,y} A+=? {x,y, xx,xy,yx,yy , xxx,xxy,xyx,xyy, ……}