网站大量收购独家精品文档,联系QQ:2885784924

[工学]第3章 文法和语言.ppt

  1. 1、本文档共112页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第3章 文法和语言

第3章 文法和语言 学生帐号信息: 帐号:专业第一个字 + 年级(四位数字) + 学号后四位 如 计算机科学与技术1班某同学帐号: 初始密码为空。 网站地址: 00:8080/Compilers/login.jsp 本章知识点(内容) 文法和语言的形式定义 文法的类型 上下文无关文法及其语法树 上下文无关文法的句型分析 有关文法实用中的一些说明 文法的直观概念和语言概述 当我们表述一种语言时,无非是说明这种语言的句子 如果语言只含有有穷多个句子,则只需列出句子的有穷集就行了,但对于含有无穷句子的语言来讲,存在着如何给出它的有穷表示的问题。以自然语言为例,人们无法列出全部句子,但是人们可以给出一些规则,用这些规则来说明(或者定义)句子的组成结构,比如汉语句子可以是由主语后随谓语而成,构成谓语的是动词和直接宾语,我们采用EBNF来表示这种句子的构成规则: “我是大学生”。是否是汉语的一个句子? 〈句子〉∷=〈主语〉〈谓语〉 〈主语〉∷=〈代词〉|〈名词〉 〈代词〉∷=我|你|他 〈名词〉∷=王明|大学生|工人|英语 〈谓语〉∷=〈动词〉〈直接宾语〉 〈动词〉∷=是|学习 〈直接宾语〉∷=〈代词〉|〈名词〉 有了一组规则以后,按照如下方式用它们导出句子: 那么得到:〈主语〉〈谓语〉 ? 〈代词〉〈谓语〉, 重复做下去, 如句子:“我是大学生”的全部动作过程是: 〈句子〉 ? 〈主语〉〈谓语〉 ? 〈代词〉〈谓语〉  ?我〈谓语〉 ?我〈动词〉〈直接宾语〉  ? 我是〈直接宾语〉 ?我是〈名词〉 ?我是大学生 由此可见:“我是大学生”的构成符合上述规则, 而“我大学生是”不符合上述规则,我们说它不是句子。 这些规则成为我们判别句子结构合法与否的依据,换句话说,这些规则看成是一种元语言,用它描述汉语。这里仅仅涉及汉语句子的结构描述。这种元语言称为文法。 语言概述 语言是由句子组成的集合,是由一组符号所构成的集合。 汉语--所有符合汉语语法的句子的全体 英语--所有符合英语语法的句子的全体 程序设计语言--所有该语言的程序的全体 每个句子构成的规律 研究语言 每个句子的含义 每个句子和使用者的关系 研究程序设计语言 每个程序构成的规律 每个程序的含义 每个程序和使用者的关系 语言研究的三个方面 语法 Syntax 语义 Semantics 语用 Pragmatics 如果不考虑语义和语用,即只从语法这一侧面来看语言,这种意义下的语言称作形式语言。 形式语言抽象地定义为一个数学系统。 给出语言上的有关运算 设L是(?上的)一个语言,M是(?上的)一个语言, 语言L和M的并,交,差,补是一个语言。 语言L和M的并记为 L?M. 如: L1 ={a,b,…y,z} M1 ={1,2…8,9 } L1?M1={a,b,… y,z,1,2…8,9 } 语言L和M的连接是一个语言,记为 LM LM={st |s∈L且 t∈M} 如: L1M1 ={a1,b1,…y1,z1,a2,b2…a9…z9} 有L ?ε?= ?ε?L=L。 语言上的运算 语言L的 闭包记为 L*。 L*= L0 ? L1 ? L2 ? ... L0= ?ε? , Ln= L Ln-1= Ln-1 L,n?1 语言L的正 闭包记为 L+, L+= L1 ? L2 ? L3 ... L+= LL*= L*L L*= L+ ? ?ε? 如何来描述一种语言? 如果语言是有穷的(只含有有穷多个句子),可以将句子逐一列出来表示 如果语言是无穷的,找出语言的有穷表示。 语言的有穷表示有两个途经: 生成方式 (文法):使用文法定义句子的结构,用适当条数的规则把语言的全部句子描述出来。 识别方式(自动机):使用自动机的行为来描述语言,(以后再详细讲) 例 文法G=(VN,VT,P,S) VN = { S }, VT ={ 0, 1 } P={ S→0S1, S→01 } S为开始符号 例:标识符文法G=(VN,VT,P,S) VN ={标识符,字

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档