第四章文法和语言 本章目的 为语言的语法描述寻求工具 工具要对程序设计语言给出精确无二义的语法描 述。(严谨、简洁、易读) 形式工具-形式语言抽象地定义为一个数学 系统。“形式”是指这样的事实:语言的 所有规则只以什麽符号串能出现的方式来 陈述
1 第四章 文法和语言 本章目的 为语言的语法描述寻求工具 工具要对程序设计语言给出精确无二义的语法描 述。(严谨、简洁、易读) 形式工具--形式语言抽象地定义为一个数学 系统。“形式”是指这样的事实:语言的 所有规则只以什麽符号串能出现的方式来 陈述
本章知识点(内容) 引言和预备知识 文法和语言的形式定义 文法的类型 上下文无关文法及其语法树 上下文无关文法的句型分析 有关文法实用中的一些说明
2 本章知识点(内容) 引言和预备知识 文法和语言的形式定义 文法的类型 上下文无关文法及其语法树 上下文无关文法的句型分析 有关文法实用中的一些说明
文法的直观概念和语言概述 当我们表述一种语言时,无非是说明这种语言的句 子,如果语言只含有有穷多个句子,则只需列出 句子的有穷集就行了,但对于含有无穷句子的语 言来讲,存在着如何给出它的有穷表示的问题 以自然语言为例,人们无法列出全部句子,但是人 可以给出一些规则,用这些规则来说明(或者定 义)句子的组成结构,比如汉语句子可以是 由主语后随谓语而成,构成谓语的是动词和直接宾 语,我们采用第2章所介绍的EBNF来表示这种句 子的构成规则
3 文法的直观概念和语言概述 当我们表述一种语言时,无非是说明这种语言的句 子,如果语言只含有有穷多个句子,则只需列出 句子的有穷集就行了,但对于含有无穷句子的语 言来讲,存在着如何给出它的有穷表示的问题。 以自然语言为例,人们无法列出全部句子,但是人 们可以给出一些规则,用这些规则来说明(或者定 义)句子的组成结构,比如汉语句子可以是 由主语后随谓语而成,构成谓语的是动词和直接宾 语,我们采用第2章所介绍的EBNF来表示这种句 子的构成规则:
“我是大学生”。是汉语的一个句子 〈句子〉∷=〈主语〉〈谓语〉 〈主语〉∷=〈代词〉|〈名词〉 〈代词〉∷三我|你|他 〈名词〉∷=王明大学生|工人|英语 〈谓语〉∷=〈动词〉〈直接宾语〉 〈动词〉∷=是|学习 〈直接宾语〉:三〈代词〉|〈名词〉
4 “我是大学生”。是汉语的一个句子 〈句子〉∷=〈主语〉〈谓语〉 〈主语〉∷=〈代词〉|〈名词〉 〈代词〉∷=我|你|他 〈名词〉∷=王明|大学生|工人|英语 〈谓语〉∷=〈动词〉〈直接宾语〉 〈动词〉∷=是|学习 〈直接宾语〉∷=〈代词〉|〈名词〉
有了一组规则以后,按照如下方式用它们导出句子:开始去找 ∷=左端的带有〈句子〉的规则并把它由∷=右端的符号串代 替,这个动作表示成: 〈句子〉→〈主语〉〈谓语〉, 然后在得到的串〈主语〉〈谓语〉中,选取〈主语〉或〈谓 语〉,再用相应规则的∷=右端代替之。比如,选取了〈主 语〉,并采用规则〈主语〉∷=〈代词〉, 那么得到:〈主语〉〈谓语〉→〈代词〉〈谓语〉, 重复做下去, 句子:“我是大学生”的全部动作过程是: 〈句子〉→〈主语〉〈谓语〉→〈代词〉〈谓语〉 →我〈谓语〉→我〈动词〉〈直接宾语〉 →我是〈直接宾语〉→我是〈名词〉→我是大学生
5 有了一组规则以后,按照如下方式用它们导出句子:开始去找 ∷=左端的带有〈句子〉的规则并把它由∷=右端的符号串代 替,这个动作表示成: 〈句子〉 〈主语〉〈谓语〉, 然后在得到的串〈主语〉〈谓语〉中,选取〈主语〉或〈谓 语〉,再用相应规则的∷=右端代替之。比如,选取了〈主 语〉,并采用规则〈主语〉∷=〈代词〉, 那么得到:〈主语〉〈谓语〉 〈代词〉〈谓语〉, 重复做下去, 句子:“我是大学生”的全部动作过程是: 〈句子〉 〈主语〉〈谓语 〈代词〉〈谓语〉 我〈谓语 我〈动词〉〈直接宾语〉 我是〈直接宾语〉 我是〈名词〉 我是大学生
“我是大学生”的构成符合上述规则,而“我 大学生是”不符合上述规则,我们说它不 是句子。这些规则成为我们判别句子结构 合法与否的依据,换句话说,这些规则看 成是一种元语言,用它描述汉语。这里仅 仅涉及汉语句子的结构描述。其中一种描 述元语言称为文法
6 “我是大学生”的构成符合上述规则,而“我 大学生是”不符合上述规则,我们说它不 是句子。这些规则成为我们判别句子结构 合法与否的依据,换句话说,这些规则看 成是一种元语言,用它描述汉语。这里仅 仅涉及汉语句子的结构描述。其中一种描 述元语言称为文法
英语句子 sentence -> subject - This Computers I verb- phrase→>≤ adverb>≤verb>| adverb -> never verb-> is run am tell object -> the a noun - university world cheese lies This is a university Computers run the world i am the cheese I never tell lies
7 英语句子 sentence –> subject –> This | Computers | I verb-phrase –> | adverb –> never verb –> is | run | am | tell object –> the | a | noun –> university | world | cheese | lies This is a university. Computers run the world. I am the cheese. I never tell lies
语言概述 语言是由句子组成的集合,是由一组符号所构成的 集合。 汉语-所有符合汉语语法的句子的全体 英语-所有符合英语语法的句子的全体 程序设计语言--所有该语言的程序的全体 每个句子构成的规律 研究语言每个句子的含义 每 个句子和使用者的关系
8 语言概述 语言是由句子组成的集合,是由一组符号所构成的 集合。 汉语--所有符合汉语语法的句子的全体 英语--所有符合英语语法的句子的全体 程序设计语言--所有该语言的程序的全体 每个句子构成的规律 研究语言 每个句子的含义 每个句子和使用者的关系
研究程序设计语言 每个程序构成的规律 每个程序的含义 每个程序和使用者的关系 语言研究的三个方面 语法 Syntax 语义 Semantics 语用 Pragmatics
9 研究程序设计语言 每个程序构成的规律 每个程序的含义 每个程序和使用者的关系 语言研究的三个方面 语法 Syntax 语义 Semantics 语用 Pragmatics
语法-表示构成语言句子的各个记号之间的 组合规律 语义一表示各个记号的特定含义。(各个记 号和记号所表示的对象之间的关系) 语用--表示在各个记号所出现的行为中,它 们的来源、使用和影响 10
10 语法 -- 表示构成语言句子的各个记号之间的 组合规律 语义 -- 表示各个记号的特定含义。(各个记 号和记号所表示的对象之间的关系) 语用 --表示在各个记号所出现的行为中,它 们的来源、使用和影响