属性文法课堂练习讲稿.ppt
《属性文法课堂练习讲稿.ppt》由会员分享,可在线阅读,更多相关《属性文法课堂练习讲稿.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、属性文法课堂练习第一页,讲稿共二十二页哦1、写出下面文法的属性文法:NumberNumber1DigitNumberDigitDigit0|1|2|3|4|5|6|7|8|9|文法规则语义规则NumberNumber1DigitNumber.val=Number1.val*10+Digit.valNumberDigitNumber.val=Digit.valDigit0Digit.val=0Digit9Digit.val=9第二页,讲稿共二十二页哦2、写出下面文法的属性文法:Number Digit Number1Number DigitDigit 0|1|2|3|4|5|6|7|8|9|文法
2、规则语义规则NumberDigitNumber1Number.mul=Number1.mul*10Number.val=Digit.val*Number.mul+Number1.valNumberDigitNumber.mul=1Number.val=Digit.valDigit0Digit.val=0Digit9Digit.val=9第三页,讲稿共二十二页哦3、给出下列文法中S产生的二进制数值的语义规则,并用堆栈说明该语义的实现过程,例如输入1101.011时,S.val=13.375:S-L.L|LL-LB|BB-0|1第四页,讲稿共二十二页哦B.Val:=0B-0B.Val:=1B-1L
3、.val:=B.val;L.length=1L-BL.val:=L.val*2+B.valL.length=L.length+1L-LBS.val:=L.valS-LS.val:=L1.val+L2.val/2L2.lengthS-L1.L2语义规则产生式第五页,讲稿共二十二页哦13_._1_1L.L1L.Val:=L.val*2+B.val(L.ength=2)13_._1L.L1B.Val:=113_._0_1L.LB113_._0_1L.L11L.Val:=B.val(L.length=1)13_._0L.L11B.Val:=113_._0L.B1113_._0L.01113_.L.01
4、1L.Val:=L.val*2+B.val(L.length=4)13L.011B.Val:=16_1LB.0116_1L1.011L.val:=L.val*2+B.val(L.length=3)6L1.011B.val:=03_0LB1.0113_0L01.011L.val:=L.val*2+B.val(L.length=2)3L01.011B.val:=11_1LB01.0111_1L101.011L.val:=B.val(L.length=1)1L101.011B.val:=11B101.01111101.011-1101.011使用的语义规则使用的语义规则valstate输入输入第六页
5、,讲稿共二十二页哦S.Val:=L1.val+L2.val/2L2.length13.375SL.Val:=L.val*2+B.val(L.ength=3)13_._3L.LB.Val:=113_._1_1L.LB13_._1_1L.L1使用的语义规则使用的语义规则valstate输入输入第七页,讲稿共二十二页哦1101.011的分析树的分析树1B.val=1L1.val=11B.Val=1L1.val=30B.Val=0L1.val=60B.Val=0L2.val=01B.Val=1L2.val=11B.Val=1L2.val=3.S=13.3751B.Val=1L1.val=13第八页,讲
6、稿共二十二页哦4、十进制浮点数的文法修改如下:dnumnum.snumnumnum1digit|digitsnumdigitsnum1|digitdigit0|1|2|3|4|5|6|7|8|9(注意:整数、小数分别用左、右递归文法)第九页,讲稿共二十二页哦文法规则语义规则dnumnum.snumdnum.val=num.val+snum.valnumnum1digitnum.val=num1.val*10+digit.valnumdigitnum.val=digit.valsnumdigitsnum1snum.val=(snum1.val+digit.val)/10snumdigitsnum
7、.val=digit.val/10digit0digit.val=0digit9digit.val=9第十页,讲稿共二十二页哦5、下面文法给出是Pascal说明的文法,写出变量类型的一个属性文法。decl-var-list:typevar-list-var-list,id|idtype-int|float第十一页,讲稿共二十二页哦文法规则语义规则declvar-list:typevar-list.dtype=type.dtypevar-list1var-list2,idvar-listidtypeintegertype.dtype=integertyperealtype.dtype=realv
8、ar-list2.in=var-list1.dtypevar-list2.dtype=var-list2.inid.in=var-list1.dtypeid.in=var-list.dtypevar-list2.dtype=var-list1.dtypeid.dtype=var-list1.dtypeid.dtype=var-list.dtype第十二页,讲稿共二十二页哦6、对于输入的表达式、对于输入的表达式(4*7+1)*2,根据下表的语法制导定义建立一棵带注释的分析树。,根据下表的语法制导定义建立一棵带注释的分析树。val:val:表示非终结符的整数值表示非终结符的整数值,综合属性综合属性
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 属性 文法 课堂 练习 讲稿
限制150内