高级语言及其语法描述1

高级语言及其语法描述1

ID:39814210

大小:334.50 KB

页数:60页

时间:2019-07-11

高级语言及其语法描述1_第1页
高级语言及其语法描述1_第2页
高级语言及其语法描述1_第3页
高级语言及其语法描述1_第4页
高级语言及其语法描述1_第5页
资源描述:

《高级语言及其语法描述1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章高级语言及其语法描述2.1程序语言的定义及特性2.2形式语言基础2.3文法的直观理解2.4文法和语言的定义2.5文法的类型2.6语法树与二义性2.7有关文法的限制2.1程序语言的定义及特性显然,用高级语言编程比用低级语言来得方便,但要解决两个问题:(1).计算机怎样懂得高级语言程序,这就需要一个翻译程序实现从源程序到目标程序的转换。(2).用什么方法来精确定义高级语言,即怎样精确描述高级语言。要构造一个编译程序,应深刻理解被编译的源语言的结构(即词法和语法)及其含义(即语义),同时要弄清源

2、语言的语法规则和语义规则是采用什么理论或什么方法来描述的。1程序语言的定义语法语义语用任何语言均可看作一个集合。这个集合中的每个元素都是在一定符号集(字母表)上的一个符号串。对于自然语言来说,它们是定义在某个字母表上的句子的集合。对于程序语言来说,它们也是定义在某个字母表上的句子的集合。这里的句子,就是一个源程序。通常,源程序是由关键字、标识符、常数、运算符以及一些界限符组成。这些语法成分统称为单词或单词符号。单词符号是语言中具有独立意义的最基本单位。语言的单词符号是由词法规则所确定的,即词法规

3、则规定了单词符号的形成规则。当我们表述一种语言时,无非是说明这种语言的句子,如果语言只含有穷多个句子,则只需列出句子的有穷集就行了,但对于含有无穷句子的语言来讲,存在着如何给出它的有穷表示的问题。以自然语言为例,人们无法列出全部句子,但是人们可以给出一些规则,用这些规则来说明(或者定义)句子的组成结构,比如汉语句子可以是由主语后随谓语而成,构成谓语的是动词和直接宾语。“我是大学生”。是汉语的一个句子用语法来描述:〈句子〉∷=〈主语〉〈谓语〉〈主语〉∷=〈代词〉|〈名词〉〈代词〉∷=我|你|他〈名

4、词〉∷=王明|大学生|工人|英语〈谓语〉∷=〈动词〉〈直接宾语〉〈动词〉∷=是|学习〈直接宾语〉∷=〈代词〉|〈名词〉有了一组规则以后,按照如下方式用它们导出句子:开始去找∷=左端的带有〈句子〉的规则并把它由∷=右端的符号串代替,这个动作表示成:〈句子〉〈主语〉〈谓语〉,然后在得到的串〈主语〉〈谓语〉中,选取〈主语〉或〈谓语〉,再用相应规则的∷=右端代替之。比如,选取了〈主语〉,并采用规则〈主语〉∷=〈代词〉,那么得到:〈主语〉〈谓语〉〈代词〉〈谓语〉,重复做下去,句子:“我是大学生”的全部

5、动作过程是:〈句子〉〈主语〉〈谓语〉〈代词〉〈谓语〉我〈谓语〉我〈动词〉〈直接宾语〉我是〈直接宾语〉我是〈名词〉我是大学生“我是大学生”的构成符合上述规则,而“我大学生是”不符合上述规则,我们说它不是句子。这些规则成为我们判别句子结构合法与否的依据,换句话说,这些规则看成是一种元语言,用它描述汉语。这里仅仅涉及汉语句子的结构描述。其中一种描述元语言称为文法。语言概述语言是由句子组成的集合,是由一组符号所构成的集合。汉语——所有符合汉语语法的句子的全体英语——所有符合英语语法

6、的句子的全体程序设计语言——所有该语言的程序的全体每个句子构成的规律研究语言每个句子的含义每个句子和使用者的关系研究程序设计语言每个程序构成的规律每个程序的含义每个程序和使用者的关系语言研究的三个方面语法Syntax语义Semantics语用Pragmatics语法——表示构成语言句子的各个记号之间的组合规律。语义——表示各个记号的特定含义。即是一组规则,使用它可以定义语言的意义。(各个记号和记号所表示的对象之间的关系)语用——表示在各个记号所出现的行为中,它们的来源、使用和影响。语言的实例若在

7、语法上是正确的,其相关联的意义可以从两个观点来看,其一是该句子的创立者所想要表示的意义,另一是接收者所检验到的意义。这两个意义并非总是一样的,前者称为语言的语义,后者是其语用意义。幽默、双关语和谜语就是利用这两方面意义间的差异。如果不考虑语义和语用,即只从语法这一侧面来看语言,这种意义下的语言称作形式语言。形式语言抽象地定义为一个数学系统。“形式”是指这样的事实:语言的所有规则只以符号串能出现的方式来陈述。形式语言理论是对符号串集合的表示法、结构及其特性的研究。是程序设计语言语法分析研究的基础。

8、2高级语言的分类强制式语言(ImperativeLanguage)/过程式语言FORTRAN,C,Pascal应用式语言(ApplicativeLanguage)/函数式语言LISP基于规则的语言(Rule-basedLanguage)Prolog面向对象语言(Object-orientedLanguage)2.2形式语言基础一、字母表和符号串字母表:符号的非空有限集合例:={a,b,c}符号:字母表中的元素例:a,b,c符号串:符号的有穷序列例:a,aa,ac,abc,..空符号串:无任何符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。