- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * 第二章 高级语言及其语法描述 程序语言的定义 高级语言的一般特性 程序语言的语法描述 2.1 程序语言的定义 程序语言 一、语法 语言程序 一定字符集上的字符串。 语法:一组规则,用它可以形成和产生一个合式(形式上正确的)程序。 词法规则:单词符号形成规则(常数、标志符、基本字、算符、界符) 语法规则:语法单位形成规则(表达式、语句、分程序、函数、过程等) 如字符串:0.5*x+c组成表达式,其中, 表达式0.5*x+c称为语言的一个语法范畴,或语法单位。 语言的单词符号由词法规则确定,单词符号是语言中具有独立意义的最基本结构。 一个程序语言只使用有限字符集作为字母表。 语法 语义 字母表 有限序列 常数 0.5 标识符 x,c 算符 *,+ 称为语言的单词符号 2.1 程序语言的定义 词法分析工具:正规式 语法分析工具:上下文无关文法 二、语义 语义:一组规则,用它可以定义一个程序的意义。 程序语言基本功能:描述数据和对数据的运算。 语义规则 2.2 高级语言的一般特性 一、高级语言分类 1.强制式语言(过程式语言):命令驱动,面向语句 程序由一系列语句组成,每个语句的执行引起若干存储单元值的改变。 如:Fortran,C,Pascal等 2.应用式语言(函数式语言):注重程序表示的功能 (嵌套式) 函数n(…函数2(函数1(数据))…)。 如:Lisp 3.基于规则的语言(逻辑程序设计语言):检查条件,满足值则执行相应动作。 如:Prolog 4.面向对象语言(Object-Oriented Language):封装性、继承性、多态性。 如:Java、C++ 2.2 高级语言的一般特性 二、程序结构 ①Fortran: 主程序段及若干辅程序段组成。 辅程序可为子程序、函数段或 数据块。 Program main … end Subroutine Sub1 …end Subroutine Sub2 … end Subroutine Subn … end ② Pascal:允许子程序嵌套定义语言 Program main … Procedure P1; … Procedure P11; … Begin … End; Begin … End; Procedure P2; … Begin … End; Begin … End. 2.2 高级语言的一般特性 三、数据类型与操作 数据类型三要素:属性、值、操作 1.初等数据类型 ①数值数据:如整数、实数…,可执行+、-、*、/等 ②逻辑数据: 可执行and、or、not等 ③字符数据 ④指针类型数据 标识符:用字母或数字组成的以字母为开头的一个字符串。 区分:标识符:无意义的字符序列 名字: 有明确意义及属性。 名字的属性 类型:决定值及在计算机内表示方式以及可作的运算 作用域:规定值的存在范围 2.2 高级语言的一般特性 三、数据类型与操作 2.数据结构 ①数组:由同一类型数据所组成的某种n维矩形结构。 A[i1,i2,…,in] 确定数组:所需存储空间在编译时已经确定 可变数组 编译时,碰到数组说明必须将数组有关信息放入一个“内情向量”中。 内情向量:维数、各维上下限、首地址、数组(元素)的类型等。 ②记录 记录结构:由已知类型数据组合起来的一种结构。 一个记录结构含有若干分量,每个分量称为记录的一个栏(域,field),有确定数据类型。 ③字符串、表格、栈、队列 3.抽象数据类型: 数据对象的一个集合 抽象运算的一个集合 类型对象的封装 2.2 高级语言的一般特性 四、语句与控制结构 1.表达式:操作数+算符 表达式形成规则: ①变量(包括下标变量)、常数是表达式 ②若E1,E2为表达式,θ为二元运算符,则E1θE2为表达式 ③若E为表达式,θ为一元运算符,则θE 或 Eθ为表达式 ④若E为表达式,则(E)为表达式 2.语句 执行性语句:描述动作 说明性语句:定义变量或运算 ①赋值句:A:=B B的值送入A所代表的单元 ②控制语句:如goto L, if
文档评论(0)