编译原理高级语言及其语法描述陈火旺版

编译原理高级语言及其语法描述陈火旺版

ID:44991997

大小:500.00 KB

页数:32页

时间:2019-11-06

编译原理高级语言及其语法描述陈火旺版_第1页
编译原理高级语言及其语法描述陈火旺版_第2页
编译原理高级语言及其语法描述陈火旺版_第3页
编译原理高级语言及其语法描述陈火旺版_第4页
编译原理高级语言及其语法描述陈火旺版_第5页
资源描述:

《编译原理高级语言及其语法描述陈火旺版》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二章高级语言及其语法描述2.1程序语言的定义2.2高级语言的一般特性2.3程序语言的语法描述复习题2.1程序语言的定义高级程序语言是用来描述算法和计算机实现这双重目的的。从语言范型来分,高级程序语言可分为强制式语言(过程式语言)作用式语言(函数式语言)基于规则的语言面向对象语言任何语言实现的基础是语言的定义一个程序语言是一个记号系统,通常包括语法、语义和语用三个方面一、语法1.词法规则:单词符号形成规则,规定字母表中哪样的字符串是一个单词符号(基本字、标识符、常数、算符、界符)。正规式和有限自动机理论是描述词法结构和进行词法分析的有效工具2.语法规则

2、:语法单位形成规则(表达式、语句、分程序、函数、过程、程序),规定如何从单词符号形成更大的结构。二、语义语义:单词符号和语法单位的意义。语义规则:使语言的一个合式程序具备含义的一组规则。三、程序的层次结构一个程序语言的基本功能是描述数据和对数据的运算。程序从本质上来说是描述一定数据的处理过程。程序语言的每个组成成分都有(抽象的)逻辑和计算机实现两方面的意义。2.2高级语言的一般特性一、高级语言的分类强制式语言(过程式语言)命令驱动,面向语句如Pascal、FORTRAN应用式语言(函数式语言)注重程序所表示的功能如LISP基于规则的语言检查一定的条件,

3、满足值则执行如Prolog面向对象语言(封装性、继承性、多态性)如Java、C++、SmallTalk二、程序结构FORTRAN语言由一个主程序段和若干个辅程序段组成PROGRAMMAIN…ENDSUBROUTINESUB1…END…SUBROUTINESUBn…END辅程序段可以是子程序、函数段或数据块2.Pascal语言Pascal是一个允许子程序嵌套定义的语言Programmain……ProcedureP1;……ProcedureP11;……begin……end;begin……end;ProcedureP2;……begin……end;begin…

4、…end.3.C++语言#include……voidmain(){……}具有面向对象特征如:封装性、继承性、多态性等4.Java语言Java语言是一种面向对象高级语言。classCar{intcolor_number;intdoor_number;intspeed;……push_break(){……}Add_oil(){……}}classTrash_Carextendscar{doubleamount;fill_trash(){……}}三、数据类型与操作数据类型三要素:用于区别这种类型的数据对象的属性这种类型的数据对象可以具有的

5、值可以作用于这种类型的数据对象的操作1.初等数据类型2.标识符和名字标识符由字母或数字组成的以字母开头的一个字符串,是一个没有意义的字符序列。名字有明确的意义和属性的字符串。值、属性一个名字的属性包括类型和作用域名字的类型决定它能具有什么样的值,值在计算机内的表示形式,以及对它能施加什么运算。作用域表示值的存在范围。3.数据结构(1)数组数组是同一类型数据所组成的某种n维矩形结构。确定数组一个数组所需存储空间大小在编译时已知可变数组在编译过程中才知道数组所需存储空间大小数组存储方式按行存放Pascal,C,C++按列存放FORTRAN内情向量表维数、各

6、维的上下限、首地址、数组元素类型、地址不变量等l1u1d1l2u2d2……lnundnnCtypea(2)记录记录结构是由已知类型的数据组合起来的一种结构。一个记录结构通常含有若干个分量,每个分量称为记录的一个栏(域)。每个分量都是一个确定类型的数据,不同分量的数据类型可以不同。存储方式为连续存放。记录结构每个分量(域)所需占用的存储单元(字节)数称为该域的长度。(3)字符串、表格、栈和队列4.抽象数据类型数据对象的一个集合,作用于这些数据对象的抽象运算的集合,这种类型对象的封装。四、语句与控制结构1.表达式表达式由算符连接运算量构成的有意义的式子表达

7、式形式前缀-X,B中缀X+Y后缀P↑表达式形成规则变量(包括下标变量),常数是表达式。若E1、E2为表达式,θ是一个二元算符,则E1θE2是表达式若E为表达式,θ为一元算符,则θE(或Eθ)是表达式若E是表达式,则(E)是表达式。算符优先顺序乘幂**或↑一元负—乘、除*/÷加、减+—关系符<≤>≥=≠非not·NOT·与∧&and·AND·或∨

8、or·OR·隐含imp等值≡~equi结合顺序左结合、右结合2.语句从功能分类执行性语句赋值语句、控制语句、输入/输出语句说明性语句从形式分类简单句、复合句、分程序(1)赋值语句A:=B左值代表一定的存储单元,

9、一个名字所代表的那个单元地址右值以该单元的内容作为值,一个名字的值出现在赋值号左边的表达式必须

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

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

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