cha3+文法和语言.ppt
《cha3+文法和语言.ppt》由会员分享,可在线阅读,更多相关《cha3+文法和语言.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第第3章章 文法和语言文法和语言n n引言引言n n3.1 文法的直观概念文法的直观概念n n3.2 符号和符号串符号和符号串n n3.3 文法和语言的形式定义文法和语言的形式定义(重点)(重点)n n3.4 文法的类型文法的类型n n3.5 上下文无关文法及其语法树上下文无关文法及其语法树(重点)(重点)n n3.6 句型的分析句型的分析(重点)(重点)n n本章练习本章练习n n作业作业课程目录课程目录课程目录课程目录2语言特征语言特征n n自然语言自然语言uu是人与人的通讯工具是人与人的通讯工具uu环境、背景知识、语气、二义性环境、背景知识、语气、二义性uu叙述性描述(非形式化方法)叙
2、述性描述(非形式化方法)n n计算机语言计算机语言uu计算机软件使用的通讯工具计算机软件使用的通讯工具uu严格的语法、语义严格的语法、语义uu记号描述(数学描述、形式化方法)记号描述(数学描述、形式化方法)3本章目的本章目的n n本章目的本章目的 为语言的为语言的为语言的为语言的语法描述语法描述语法描述语法描述寻求工具寻求工具寻求工具寻求工具n n通过该工具可以通过该工具可以uu对源语言给出对源语言给出对源语言给出对源语言给出精确精确精确精确的无二义性的语法描述的无二义性的语法描述的无二义性的语法描述的无二义性的语法描述 (严谨、简单和易读严谨、简单和易读严谨、简单和易读严谨、简单和易读)uu
3、根据语言文法的特点来指导语法根据语言文法的特点来指导语法根据语言文法的特点来指导语法根据语言文法的特点来指导语法分析分析分析分析的过程的过程的过程的过程uu从描述语言的文法可以自动构造出可用的分析程序从描述语言的文法可以自动构造出可用的分析程序从描述语言的文法可以自动构造出可用的分析程序从描述语言的文法可以自动构造出可用的分析程序uu制导语义制导语义制导语义制导语义翻译翻译翻译翻译4语言定义语言定义n n语言语言uu是由是由是由是由句子句子句子句子组成的集合,是由一组记号所构成的组成的集合,是由一组记号所构成的组成的集合,是由一组记号所构成的组成的集合,是由一组记号所构成的集合集合集合集合n
4、n汉语汉语汉语汉语所有符合汉语语法的句子的全体所有符合汉语语法的句子的全体所有符合汉语语法的句子的全体所有符合汉语语法的句子的全体n n英语英语英语英语所有符合英语语法的句子的全体所有符合英语语法的句子的全体所有符合英语语法的句子的全体所有符合英语语法的句子的全体n n程序设计语言程序设计语言程序设计语言程序设计语言所有该语言的程序的全体所有该语言的程序的全体所有该语言的程序的全体所有该语言的程序的全体n n研究语言研究语言研究语言研究语言uu每个句子构成的规律每个句子构成的规律每个句子构成的规律每个句子构成的规律uu每个句子的含义每个句子的含义每个句子的含义每个句子的含义uu每个句子和使用者
5、的关系每个句子和使用者的关系每个句子和使用者的关系每个句子和使用者的关系5语言研究的三个方面语言研究的三个方面n n语法(语法(Syntax)Syntax)uu表示构成语言句子的各个记号之间的组合规律表示构成语言句子的各个记号之间的组合规律表示构成语言句子的各个记号之间的组合规律表示构成语言句子的各个记号之间的组合规律n n语义语义(Semantics)(Semantics)uu表示按照各种表示方法所表示的各个记号的特定表示按照各种表示方法所表示的各个记号的特定表示按照各种表示方法所表示的各个记号的特定表示按照各种表示方法所表示的各个记号的特定 含义含义含义含义(各个记号和记号所表示的对象之间
6、的关系各个记号和记号所表示的对象之间的关系各个记号和记号所表示的对象之间的关系各个记号和记号所表示的对象之间的关系)n n语用语用(Pragmatics)(Pragmatics)uu表示在各个记号所出现的行为中,它们的来源、表示在各个记号所出现的行为中,它们的来源、表示在各个记号所出现的行为中,它们的来源、表示在各个记号所出现的行为中,它们的来源、使用和影响使用和影响使用和影响使用和影响6形式语言理论简介形式语言理论简介n n形式语言理论(形式语言理论(Formal Language Theory)Formal Language Theory)uu是一种从语法上研究语言的理论是一种从语法上研究
7、语言的理论是一种从语法上研究语言的理论是一种从语法上研究语言的理论uu是抽象的数学系统是抽象的数学系统是抽象的数学系统是抽象的数学系统uu着重研究符号串集合的表示法、结构及其特征着重研究符号串集合的表示法、结构及其特征着重研究符号串集合的表示法、结构及其特征着重研究符号串集合的表示法、结构及其特征uu是程序设计语言语法分析研究的基础(我们仅使是程序设计语言语法分析研究的基础(我们仅使是程序设计语言语法分析研究的基础(我们仅使是程序设计语言语法分析研究的基础(我们仅使 用与编译程序构造有关的结论,而不做证明)用与编译程序构造有关的结论,而不做证明)用与编译程序构造有关的结论,而不做证明)用与编译
8、程序构造有关的结论,而不做证明)n n形式语义形式语义(Formal Semantics)(Formal Semantics)uu(本课程不介绍)本课程不介绍)本课程不介绍)本课程不介绍)7计算机语言的组成结构计算机语言的组成结构自自然然语语言言程程序序语语言言语言语言句子的集合句子的集合句子句子多个单词按一定规则组成多个单词按一定规则组成单词单词多个字符按一定规则组成多个字符按一定规则组成编程语言编程语言程序的集合程序的集合程序程序多个单词按语法规则组成多个单词按语法规则组成单词单词多个字符按词法规则组成多个字符按词法规则组成8程序语言的定义程序语言的定义 p32p32n n一个程序语言是一
9、个记号系统一个程序语言是一个记号系统n n程序语言的定义程序语言的定义 语法语法和和语义语义n n语法语法 形成和产生形成和产生合适程序合适程序的规则集的规则集uu词法规则词法规则词法规则词法规则 形成形成形成形成单词符号单词符号单词符号单词符号的规则的规则的规则的规则uu语法规则语法规则语法规则语法规则 形成形成形成形成语法单位语法单位语法单位语法单位的规则的规则的规则的规则n n常用的语法描述方法常用的语法描述方法uu正规文法正规文法正规文法正规文法词法规则词法规则词法规则词法规则uu上下文无关文法上下文无关文法上下文无关文法上下文无关文法语法规则语法规则语法规则语法规则9程序语言的语法构
10、成程序语言的语法构成语语法法词法词法词法词法规则规则规则规则语法语法语法语法规则规则规则规则单词单词单词单词符号符号符号符号常数常数常数常数标识符标识符标识符标识符基本字基本字基本字基本字字符字符字符字符算符算符算符算符界符界符界符界符语法语法语法语法单位单位单位单位(范畴范畴范畴范畴)表达式表达式表达式表达式语句语句语句语句函数、过程函数、过程函数、过程函数、过程程序程序程序程序例例例例 源程序字符串源程序字符串源程序字符串源程序字符串 0.5*X1+C0.5*X1+C0.5*X1+C0.5*X1+C 0.5 0.5 0.5 0.5*X1 X1 X1 X1+C C C C 0.5*X1+C
11、0.5*X1+C 0.5*X1+C 0.5*X1+C(a+b)*2(a+b)*2(a+b)*2(a+b)*2(a a a a+b b b b)*2 2 2 2(a+b)*2(a+b)*2(a+b)*2(a+b)*210程序语言的定义程序语言的定义 p32p32n n语义语义 用以定义用以定义程序意义程序意义的规则集的规则集uu静态语义静态语义静态语义静态语义FF确定哪些合乎语法的程序是合适的规则集合确定哪些合乎语法的程序是合适的规则集合确定哪些合乎语法的程序是合适的规则集合确定哪些合乎语法的程序是合适的规则集合uu动态语义动态语义动态语义动态语义FF表明程序要做些什么,要计算什么表明程序要做些
12、什么,要计算什么表明程序要做些什么,要计算什么表明程序要做些什么,要计算什么uu在不同语言中完全相同的语法单位在不同语言中完全相同的语法单位在不同语言中完全相同的语法单位在不同语言中完全相同的语法单位 含义却可能完全不同含义却可能完全不同含义却可能完全不同含义却可能完全不同uu例如:例如:例如:例如:x=y Cx=y Cx=y Cx=y C语言语言语言语言赋值表达式赋值表达式赋值表达式赋值表达式 PascalPascalPascalPascal语言语言语言语言关系表达式关系表达式关系表达式关系表达式 C C C C中中中中x=yx=yx=yx=y11程序语言构成的共同点程序语言构成的共同点n
13、n语法:语法:uu语句的组成规则语句的组成规则uu描述方法:描述方法:BNFBNF范式、语法描述图范式、语法描述图n n词法:词法:uu单词的组成规则单词的组成规则uu描述方法:描述方法:BNFBNF范式、正规式范式、正规式n n单词:单词:uu具有语义的最小字符串(可区分的)具有语义的最小字符串(可区分的)章节目录章节目录章节目录章节目录123.1 3.1 文法的直观概念文法的直观概念 p32p32n n定义描述英语句子的文法定义描述英语句子的文法uu例如例如例如例如 He gave me a bookHe gave me a bookHe gave me a bookHe gave me
14、a bookn n文法的规则文法的规则如下:如下:(1)(1)(1)(1)(2)(2)(2)(2)(3)(3)(3)(3)(4)(4)(4)(4)(5)(5)(5)(5)(6)(6)(6)(6)He|meHe|meHe|meHe|me(7)(7)(7)(7)a a a a(8)(8)(8)(8)gavegavegavegave(9)(9)(9)(9)book|peachbook|peachbook|peachbook|peach13上下文无关文法上下文无关文法 实例实例例例例例 He gave me a bookHe gave me a bookHe gave me a bookHe gave
15、 me a book应用上述语法规则进行推导:应用上述语法规则进行推导:应用上述语法规则进行推导:应用上述语法规则进行推导:句子句子句子句子=主语主语主语主语 谓语谓语谓语谓语 间接宾语间接宾语间接宾语间接宾语 直接宾语直接宾语直接宾语直接宾语=代词代词代词代词 谓语谓语谓语谓语 间接宾语间接宾语间接宾语间接宾语 直接宾语直接宾语直接宾语直接宾语=He He He He 谓语谓语谓语谓语 间接宾语间接宾语间接宾语间接宾语 直接宾语直接宾语直接宾语直接宾语=He=He=He=He 动词动词动词动词 间接宾语间接宾语间接宾语间接宾语 直接宾语直接宾语直接宾语直接宾语=He=He=He=He gav
16、egavegavegave 间接宾语间接宾语间接宾语间接宾语 直接宾语直接宾语直接宾语直接宾语=He gave=He gave=He gave=He gave 代词代词代词代词 直接宾语直接宾语直接宾语直接宾语=He gave=He gave=He gave=He gave memememe 直接宾语直接宾语直接宾语直接宾语=He gave me=He gave me=He gave me=He gave me 冠词冠词冠词冠词 名词名词名词名词=He gave me=He gave me=He gave me=He gave me a a a a 名词名词名词名词=He gave me a=
17、He gave me a=He gave me a=He gave me a bookbookbookbookn n终结符号终结符号终结符号终结符号He,me,book,gave,aHe,me,book,gave,aHe,me,book,gave,aHe,me,book,gave,a等等等等n n非终结符号非终结符号非终结符号非终结符号句子句子句子句子,主语主语主语主语,谓语谓语谓语谓语,动词等动词等动词等动词等n n开始符号开始符号开始符号开始符号 句子句子句子句子n n产生式产生式产生式产生式 语法规则语法规则语法规则语法规则14上下文无关文法上下文无关文法 实例语法树实例语法树例例 He
18、 gave me a bookHe gave me a book HeHe gavegave meme a abookbook非终结符非终结符非终结符非终结符开始符开始符开始符开始符 终结符终结符终结符终结符由文法所定义的终结符串由文法所定义的终结符串由文法所定义的终结符串由文法所定义的终结符串句子句子句子句子15文法概念理解文法概念理解(课堂练习课堂练习)p32)p32n n描述汉语句子的文法规则描述汉语句子的文法规则:(1)(1)(1)(1)(2)(2)(2)(2)|(3)(3)(3)(3)我我我我|你你你你|他他他他(4)(4)(4)(4)王明王明王明王明|大学生大学生大学生大学生|工人
19、工人工人工人|英语英语英语英语(5)(5)(5)(5)(6)(6)(6)(6)是是是是|学习学习学习学习(7)(7)(7)(7)|n n请给出请给出他学习英语他学习英语的推导过程和语法树:的推导过程和语法树:BEGINBEGINn n文法的特点:文法的特点:以有穷的集合刻画无穷集合的一个工具。以有穷的集合刻画无穷集合的一个工具。以有穷的集合刻画无穷集合的一个工具。以有穷的集合刻画无穷集合的一个工具。章节目录章节目录章节目录章节目录163.2 3.2 符号和符号串符号和符号串 p33p33n n字母表字母表n n符号串符号串n n符号串的头尾符号串的头尾n n符号串的连接符号串的连接n n符号串
20、的方幂符号串的方幂n n符号串的集合符号串的集合17基本概念基本概念 符号和字母表符号和字母表 p33n n符号符号(元素元素)可以相互区别的记号可以相互区别的记号uu例例例例 a b 0 1a b 0 1a b 0 1a b 0 1n n字母表字母表 符号的非空有穷集合符号的非空有穷集合uu例例例例=0=0=0=0,1 1 1 1 二进制数语言的字母表二进制数语言的字母表二进制数语言的字母表二进制数语言的字母表 A=aA=aA=aA=a,b b b b 由符号由符号由符号由符号a a a a和和和和b b b b组成的字母表组成的字母表组成的字母表组成的字母表uu字母表包含语言中所允许出现的
21、一切符号字母表包含语言中所允许出现的一切符号字母表包含语言中所允许出现的一切符号字母表包含语言中所允许出现的一切符号uu一种程序设计语言的字母表是该语言的一种程序设计语言的字母表是该语言的一种程序设计语言的字母表是该语言的一种程序设计语言的字母表是该语言的基本字符基本字符基本字符基本字符集集集集uuC C C C语言语言语言语言是是是是C C C C程序程序程序程序的集合的集合的集合的集合uuC C C C程序程序程序程序是在是在是在是在C C C C基本字符集基本字符集基本字符集基本字符集上定义的,按一定规则构上定义的,按一定规则构上定义的,按一定规则构上定义的,按一定规则构成的成的成的成的
22、符号串符号串符号串符号串18基本概念基本概念 符号串符号串 p33n n符号串符号串符号串符号串 由字母表中的符号所组成的任何有穷序由字母表中的符号所组成的任何有穷序由字母表中的符号所组成的任何有穷序由字母表中的符号所组成的任何有穷序 列称为该字母表上的符号串列称为该字母表上的符号串列称为该字母表上的符号串列称为该字母表上的符号串uu例例例例 001110001110001110001110是字母表是字母表是字母表是字母表上的符号串上的符号串上的符号串上的符号串 a,b,aa,bb,abb,bba,a,b,aa,bb,abb,bba,a,b,aa,bb,abb,bba,a,b,aa,bb,ab
23、b,bba,都是字母表都是字母表都是字母表都是字母表A A A A上的符号串上的符号串上的符号串上的符号串uu注意注意注意注意 符号串中符号的符号串中符号的符号串中符号的符号串中符号的顺序顺序顺序顺序是重要的是重要的是重要的是重要的 例例例例 abababab不同于不同于不同于不同于babababan n符号串的符号串的符号串的符号串的长度长度长度长度 符号串中符号的个数符号串中符号的个数符号串中符号的个数符号串中符号的个数uu例例例例 x=001110 x=001110 x=001110 x=001110 则则则则x x x x长度长度长度长度|x|=6|x|=6|x|=6|x|=6n n空
24、串空串空串空串 (空字空字空字空字)长度为长度为长度为长度为0 0 0 0的符号串的符号串的符号串的符号串uu|=0|=0|=0|=019关于符号串操作关于符号串操作 n n运算运算 设设设设x x x x是某字母表上的符号串是某字母表上的符号串是某字母表上的符号串是某字母表上的符号串uu连接连接连接连接(并置并置并置并置)x=123,y=45x=123,y=45x=123,y=45x=123,y=45那么那么那么那么xy=12345xy=12345xy=12345xy=12345uu方幂方幂方幂方幂:x x x x的的的的n n n n次方幂即将次方幂即将次方幂即将次方幂即将n n n n个
25、个个个x x x x连接连接连接连接 x x x x0 0 0 0=x=x=x=x1 1 1 1=x x=x x=x x=x x2 2 2 2=xx=xx=xx=xxn n子符号串子符号串 v v是是xvyxvy的子符号串,的子符号串,v v非空非空n n头,尾头,尾 x x是是xyxy的头,的头,y y是是xyxy的尾的尾20符号串集合符号串集合n n符号串集合符号串集合 uu若集合若集合若集合若集合A A A A中的一切元素都是某字母表上的符号中的一切元素都是某字母表上的符号中的一切元素都是某字母表上的符号中的一切元素都是某字母表上的符号 串,则称串,则称串,则称串,则称A A A A为该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cha3 文法 语言
限制150内