第4章程序设计语言常用语法与翻译.ppt
《第4章程序设计语言常用语法与翻译.ppt》由会员分享,可在线阅读,更多相关《第4章程序设计语言常用语法与翻译.ppt(44页珍藏版)》请在三一办公上搜索。
1、信息学院软件工程教研室,编译原理,刘向菊QQ:8064793Tel:13765021988信息学院软件工程教研室,信息学院软件工程教研室,第四章 程序设计语言常用的 语法与翻译方法,信息学院软件工程教研室,4.1 逆波兰表示法,逆波兰表示表达式 高级语言表示表达式 ab*a*b ab*c+a*b+c abcd/+*a*(b+c/d)ab*cd*+a*b+c*d,信息学院软件工程教研室,高级语言表达式E的逆波兰表示法可这样定义:(1)若E是高级语言中的一个变量或常数,则E的逆波兰表示式仍是E。(2)若高级语言中的表达式为E1 op E2,其中,op是一个二元算符,E1、E2也是表达式,则逆波兰式
2、表示为E1 E2 op,其中,E1是E1的逆波兰式,E2是E2的逆波兰式。(3)若高级语言中的表达式为(E),则逆波兰表示式为去掉括号的E,E为E的逆波兰表示式。,信息学院软件工程教研室,三地址代码是由下面一般形式的语句构成的序列。x:=y op z其中x、y、z是变量名或编译时产生的临时变量名;y、z还可以是常数;op代表某种操作符。这种中间语言的特点有两个。(1)非常接近汇编语言形式,包括汇编语言中最基本的操作。(2)每个语句中赋值号的右边只有一个操作符,使得句子意义最小且不可分。例如,源语言表达式x+y*z可被翻译成如下的句子序列:T1:=y*zT2:=x+T1,4.2 三地址代码,信息
3、学院软件工程教研室,三地址代码的语句形式可分为两类:一类是带有各种运算操作的赋值语句第二类是转移语句 三地址码语句可看成是一种中间代码的抽象形成,在编译程序中,三地址代码的具体实现常以记录的形式表示,通常有3种表示方法:四元式、三元式、间接三元式,信息学院软件工程教研室,4.3 程序设计语言常用语法,4.3.1 表达式语法(算术)4.3.2 赋值语句4.3.3 if语句4.3.4 循环语句4.3.5 说明语句4.3.6 函数的定义与调用4.3.7 程序语句序列文法,信息学院软件工程教研室,4.3.1 表达式语法(算术),根据算术表达式的定义,一般算术表达式记为E,其文法被定义为:EE op E
4、(op 为双目操作符)Eop E(op 为单目操作符)ED|id(D为数字,id为标识符号)这是一个无法直接使用的二义性文法,必须使用前述两种消除二义性文法的策略将文法中的二义性表达加以限制或改写。,信息学院软件工程教研室,对这种表达式保留文法的二义性也有好处。不过在作语法分析时要规定算符间的优先关系和结合顺序,这样才能确定语句的最终意义。这就是常用于表达式语法分析的算符优先分析法。,信息学院软件工程教研室,无二义的表达式文法一般定义为:无论采用哪一种文法形式,只要最终语句的意义是确定、不含糊的,并且是统一的,那么同一个语句所对应的抽象语法树就是相同的。,信息学院软件工程教研室,4.3.2 赋
5、值语句,赋值语句的文法最简单,定义为:其中,是一个名字,它表示各种类型的变量,包括下标变量(数组)。“=”是赋值号,E是表达式,赋值语句的语义是把赋值号右边表达式的值放到赋值号左边名字所指的地址中去。,信息学院软件工程教研室,对赋值语句文法定义的句子而言,相应的抽象语法树如图所示。,信息学院软件工程教研室,4.3.3 if语句,if语句是控制语句的一种,它的文法被定义为:这个语法有两个候选式,这两个候选式的前半部分是一样的,即:。也就是说,在一个符号串之后可能紧跟一个或跟其他的符号串。由于可选的影响,这个文法有二义性的,即所谓“悬挂问题”。,信息学院软件工程教研室,考虑以下符号串:其中,符号E
6、1、E2、S1、S2都是由终结符组成的符号串。这个串有两个分析树,该语法树把看作与其最近的同属一层,该语法树把看作与整句之首的同属一层,信息学院软件工程教研室,改写的文法如下:这个文法用非终结符M单独定义可嵌套的ifelse语句。它是无二义的,只是有些累赘,也不太容易理解。实际上,并不是所有的语句文法一定会存在悬挂,有些语言的设计就避免了这个问题。如果所有的语句都有结尾,或其他类似符号结尾,就不存在这个问题了。,信息学院软件工程教研室,语句又称分支语句。在C中,它的语义是根据表达式的值决定是否执行语句S或执行两个语句S中的某一个。仔细分析一下语句的符号串,真正有可执行意义的符号只有E和S两个非
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章程 设计 语言 常用 语法 翻译
链接地址:https://www.31ppt.com/p-5638789.html