- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2讲--高级语言的语法描述
第二讲 高级语言的语法描述 主要内容 ◇预备知识 ◇上下文无关文法及其语言的形式定义 ◇文法的等价性 ◇语法树及文法二义性 ◇文法的类型 ◇语法分析的一些思考 一、预备知识 1.文法的直观概念 当我们表述一种语言时,无非是说明这种语言的句子,如果语言只含有有穷多个句子,则只需列出句子的有穷集就行了,但对于含有无穷多个句子的语言来讲,存在着如何给出它有穷表示的问题。 以自然语言为例,人们无法列出全部句子,但是人们可以给出一些规则,用这些规则来说明(或者定义)句子的组成结构,比如汉语句子可以是由主语后随谓语而成,构成谓语的是动词和直接宾语。 举例如下: “我是大学生”是汉语的一个句子 对该句子我们可以通过下列一组规则描述: 〈句子〉∷=〈主语〉〈谓语〉 〈主语〉∷=〈代词〉|〈名词〉 〈代词〉∷= 我|你|他 〈名词〉∷= 王明|大学生|工人|英语 〈谓语〉∷=〈动词〉〈直接宾语〉 〈动词〉∷= 是|学习 〈直接宾语〉∷=〈代词〉|〈名词〉 有了这组规则以后,可按如下方式导出句子: 先找∷=左端的带有〈句子〉的规则,并将它用 ∷=右端的符号串代替,于是表示成: 〈句子〉 ? 〈主语〉〈谓语〉 然后在得到的串〈主语〉〈谓语〉中,选取〈主语〉或〈谓语〉,再用相应规则的∷=右端代替之。比如,选取了〈主语〉,并采用规则〈主语〉∷=〈代词〉,那么得到: 〈主语〉〈谓语〉 ? 〈代词〉〈谓语〉 依此类推,句子“我是大学生”的全部导出过程是: 〈句子〉 ? 〈主语〉〈谓语〉 ? 〈代词〉〈谓语〉 ?我〈谓语〉 ?我〈动词〉〈直接宾语〉 ? 我是〈直接宾语〉 ?我是〈名词〉 ?我是大学生 “我是大学生”的构成符合上述规则,而“我大学生是”不符合上述规则,我们说它不是句子。这些规则成为我们判别句子结构合法与否的依据。换句话说,这些规则看成是一种元语言,用它描述汉语,仅仅涉及汉语句子的结构描述。 这里“? ”读作“导出”或“派生出”。 而“::=”(通常又简记为“→”)读作“定义为”或“由…组成”,而每一条规则又称作是产生式或重写式。这样的一种描述形式就称作是BNF(Backus-Naur Form)。 例:赋值表达式可描述为 赋值表达式 → 左部=右部 左部 → 标识符 右部 → 表达式 表达式 → 表达式算符表达式 表达式 → 标识符|常数 标识符 → a1|b123|salary|stu_age 常数 → 18|123|4.5|-6 算符 → + |- |* |/ 2.语言概述 语言是由句子组成的集合。 汉语--所有符合汉语语法的句子的全体。 英语--所有符合英语语法的句子的全体。 程序设计语言--所有符合该语言语法的程序的全体。 每个句子构成的规则 研究语言 每个句子的含义 每个句子和使用者的关系 研究程序设计语言 每个程序构成的规则 每个程序的含义 每个程序和使用者的关系 语言研究的三个方面: 语法(Syntax) -- 表示构成语言句子的各个记号之 间的组合规则 语义(Semantics) -- 表示各个记号的特定含义。 (各个记号和记号所表示的对象之间的关系) 语用(Pragmatics) --表示在各个记号所出现的行 为中,它们的来源、使用和影响。 每种语言具有两个可识别的特性,即语言的形式和该形式相关联的意义。 语言的实例若在语法上是正确的,其相关联的意义可以从两个观点来看,其一是该句子的创立者所想要表示的意义,另一是接收者所检验到的意义。这两个意义并非总是一样的,前者称为语言的语义,后者是其语用意义。
文档评论(0)