- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 高级语言及其语法描述 ;§2.2 高级语言的一般特性 ;二、程序结构
1、FORTRAN语言:由一个主程序段和若干辅程序段组成;
2、Pascal语言:子程序嵌套结构;
3、Ada:引入程序包,把数据和操作代码封装在一起,支持 数据抽象;
4、Java语言:面向对象的高级语言,类、继承、多态、动态 绑定等概念;
三、数据类型与操作:初等数据类型、数据结构、抽象数据类型;
四、语句与控制结构:表达式、语句(赋值句、控制语句、说明句、简单句和复合句);
;§2.1语法与语义;;二、语法
1、语言的语法:用以规定产生合式程序的一组规则,有词法 规则和语法规则两部分;(合式——形式上正确)
2、词法规则:单词符号的形成规则;
3、语法规则:语法单位的形成规则;
4、单词符号:语言中具有独立意义的最基本结构,如常量、 标识符、基本字、算??、界符等;
5、语法单位:语言中一些结构更大的固定单位,如表达式、 语句、函数、过程和程序等;
三、语义
1、语言的语义:语言的单词符号和语法单位的意义;
2、语义规则:一组可以定义语义的规则;
3、语义的描述:还未有一套公认的形式系统,本书用自然语 言结合属性文法来描述。 ;§2.3 程序语言的语法描述 ;二、上下文无关文法
1、文法:即语法规则,形式化的描述语言的语法结构
2、汉语语法规则实例:
(1)文法:〈句 子〉 →〈主语〉〈谓语〉
〈主 语〉 →〈代词〉|〈名词〉
〈代 词〉 → 我 | 你 | 他
〈名 词〉 → 大学生 | 工人 | 英语
〈谓 语〉 →〈动词〉〈直接宾语〉
〈动 词〉 → 是 | 学习
〈直接宾语〉 →〈代词〉|〈名词〉
(2)句子:按此规则,“我是大学生 ”的构成符合上述规
则,是一个句子;而“我大学生是”不符合上述规则,
不是句子 。 ;(3)文法的使用:
(4)文法的
结构;3、上下文无关文法; (3)上下文无关文法的形式定义
例1:文法的几种写法
;例2:Pascal语言中控制语句的文法;例3:C++语句的文法;二、带标号语句
;三、表达式语句
expression-statement:
expressionopt ;
四、复合语句
compound-statement:
{ statement-seqopt }
statement-seq:
statement
statement-seq statement;五、选择语句;六、循环语句
;七、跳转语句;4、文法定义语言
;
例:文法G为E→E+E | E*E | (E) | i ,
即:(i*i+i)是G的一个句子。 ;三、语法分析树与二义性
1、语法树的构造
(1)倒立,根上叶下,开始符标记根结;
(2)非终结符对应中间结,终结符对应段末结(叶子);
(3)推导时,非终结符被候选替代时,产生新结;
(4)生长的任意时刻端末结自左至右的排列为一句型;
(5)中间结的生长无先后;
文档评论(0)