前后文无关文法和语言姚版.ppt

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

本章目的 为语言的语法描述寻求工具。 通过该工具,可以: 掌握对源程序给精确无二义(严谨、简洁、易读)的语法描述手段之一---文法。 根据语言文法的特点来指导语法分析的过程 从描述语言的文法可以自动构造出可用的分析程序 制导语义翻译 本章难重点 关于文法和语言的概念是形式语言的理论基础,形式语言抽象地定义为一个数学系统。形式是指这样的事实:语言的所有规则只以什麽符号串能出现的方式来陈述。这里介绍的语言的语法描述工具正是这样的系统。 文法及语言的表示 当我们表述一种语言时,无非是说明这种语言的句子(句子:一定字符集(称字母表)上的一字符串),如果语言只含有有穷多个句子,则只需列出句子的有穷集就行了,但对于含有无穷句子的语言来讲,存在着如何给出它的有穷表示的问题。 以自然语言为例,人们无法列出全部句子,但是人们可以给出一些规则,用这些规则来说明(或者定义)句子的组成结构(也就是各种属性的单词所允许的排列规则),比如汉语句子可以是由主语后随谓语而成,构成谓语的是动词和直接宾语,我们采用EBNF来表示这种句子的构成规则: “我是大学生”。是汉语的一个句子 〈句子〉∷=〈主语〉〈谓语〉 〈主语〉∷=〈代词〉|〈名词〉 〈代词〉∷=我|你|他 〈名词〉∷=王明|大学生|工人|英语 〈谓语〉∷=〈动词〉〈直接宾语〉 〈动词〉∷=是|学习 〈直接宾语〉∷=〈代词〉|〈名词〉 “我是大学生”的构成符合上述规则,而“我大学生是”不符合上述规则,我们说它不是句子。这些规则成为我们判别句子结构合法与否的依据,换句话说,这些规则看成是一种元语言,用它描述汉语。这里仅仅涉及汉语句子的结构描述。其中一种描述元语言称为文法。 英语句子 sentence – subject verb-phrase object subject – This | Computers | I verb-phrase – adverb verb | verb adverb – never verb – is | run | am | tell object – the noun | a noun | noun noun – university | world | cheese | lies This is a university. Computers run the world. I am the cheese. I never tell lies. 语言概述 语言是由句子组成的集合,是由一组记号所构成的集合。 汉语--所有符合汉语语法的句子的全体 英语--所有符合英语语法的句子的全体 程序设计语言--所有该语言的程序的全体 语法:每个句子构成的规律 研究语言 语义:每个句子的含义 语用:每个句子和使用者的关系 研究程序设计语言 语法:每个程序构成的规律 语义:每个程序的含义 1、语法 -- 表示构成语言句子的各个记号之间的组合规律。语法包括:词法规则和语法规则 例如:C语法规定了构成条件语句的各个记号的组合规律为:第一个单词(记号)必须是”if”,然后是单词”(”、表达式,….。 2、语义 -- 表示各个记号的特定含义。(各个记号和记号所表示的对象之间的关系) 对一个语言来说,不仅要给出它的词法、语法规则,而且要定义它的单词符号和语法单位的意义。离开语义,语言只不过是一堆符号的集合。 所谓一个语言的语义是这样的一组规则,使用它可以定义一个程序的意义。这些规则称为语义规则。 阐明语义要比阐明语法难的多,现在还没有一种形式系统描述语义。 例如:我们根据C语法可以判断出声明语句”int i=999;”是正确的,但是无法判断出声明语句”int i=9999999;”是错误的,因为该语句的语法没有错误(即单词的排列顺序是对的),其错误是因为数值9999999超过了整型变量的最大允许值。这个错误就需要语义检查才能发现。 如果不考虑语义,即只从语法这一侧面来看语言,这种意义下的语言称作形式语言。形式语言抽象地定义为一个数学系统。“形式”是指这样的事实:语言的所有规则只以什么符号串能出现的方式来陈述。形式语言理论是对符号串集合的表示法、结构及其特性的研究。是程序设计语言语法分析研究的基础。 有关定义和记号 符号:可以相互区别的记号(元素)。 字母表?:符号(元素)的非空有穷集合。 符号串:由字母表?中的符号组成的任何有穷序列称为该字母表上的符号串。1.空符号串ε(没有符号的符号串)是?上的符号串 2.若x是?上的符号串,a是?的元素,则xa是?上的符号串 3. y

文档评论(0)

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

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

1亿VIP精品文档

相关文档