




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
各种语言成分的语法及其翻译方案(示例)1.普通声明语句的翻译下面是声明语句的文法:P 程序id(输入、输出)D;SDD;列表:天;S列表列表1,id | idT 整数|实数| T1的数组C | T1 |记录DC数 C | 声明语句的翻译模式:p程序id(输入、输出)偏移量:=0 天;SDD;Ddid :T 输入(,T.type,offset);偏移量:=偏移量宽度t整数T.type :=整数;t。宽度:=4t实数T类型:=实数;t。宽度:=8T1T型:=阵列(数值,T1型)的T阵列数;T.width :=num.valT1.widthT1 T.type :=指针(T1。类型);t。宽度:=42.嵌套过程中声明语句的翻译嵌套过程声明语句的产生式。p程序id(输入、输出)D;SDD;D | id : T |程序id;d . S .(7.1)嵌套过程声明语句的翻译模式:p程序id(输入、输出医学博士;Saddwidth(top(tblptr),top(offset);pop(tblptr);弹出(偏移)Mt :=mktable(零);推动(t,tblptr).推送(0,偏移)dD1;D2d过程id;D1北部;St:=顶部(结核病防治中心);addwidth(t,顶部(偏移);pop(tblptr);流行音乐(偏移);企业(top(tblptr),,t)did :T 回车(顶部(tblptr),,T.type,top(偏移量);顶部(偏移):=顶部(偏移)宽度N t:=mktable(顶部(tblptr);推动(t,tblptr).推送(0,偏移)3.记录的翻译下面是生成记录类型的产生式:t记录D端生成记录类型的翻译模式:T 记录内径结束T.type :=记录(顶部(tblptr);t。宽度:=顶部(偏移);pop(tblptr);弹出(偏移)L t:=mktable(零);推动(t,tblptr).推送(0,偏移)4.赋值语句的翻译下面是典型的赋值语句文法:南左:=东E E1 E2 | E1 * E2 | - E1 | (E1 ) |左侧左侧Elist | id埃利斯特埃利斯特,E | id E (7.2)赋值语句的翻译模式:南左:=东如果左偏移=空则/*左侧是简单变量id*/通用代码(左地址:=东地址);其他gencode(左地址左偏移 :=东地址)/*左是数组元素*/工程E1 E2 工程地址:=新温度;通用代码(电子地址:=E1。地址E2。地址) E(E1)E.addr:=E1.addr东左如果左偏移=空则/*左侧是简单id*/东加:=左加否则开始/*向左是数组元素*/E.addr:=newtemp .通用代码(东地址:=左地址左偏移)结束左Elist左左。addr:=newtemp/*左侧是数组元素,因此存放基址和位移*/向左。偏移量:=新温度;gencode(左地址:=c(Elist。数组);gencode(左偏移:=Elist。addr * width(Elist。数组)左id Left。addr :=id。addrLeft.offset:=null ElistElist1,e t:=newtempm :=Elist 1。ndim 1;gencode(t :=Elist 1。addr *限制(Elist 1。数组,m);/*计算em-1nm */通用代码(t :=t e . addr);/*计算im */elist。数组:=Elist 1。数组;Elist.addr:=t .Elist.ndim:=m埃利斯特id;elist。addr :=e . addr。Elist.ndim:=15.各种控制结构的翻译5.1布尔表达式的翻译布尔表达式的文法为: BB1或B2先生 BB1和B2先生B不是B1 B(B1) BE1 relop E2B真b假 M布尔表达式的翻译模式如下所示:BB1或B2先生后插(B1。假声,男四元);B.truelist :=合并(B2,特鲁特。true list);b .错误列表:=B2。错误列表BB1和B2先生背板(B1.truelist,M . quad);b .truelist :=B2。truelistb .错误列表:=合并(B1。错误列表B2。错误列表)B不是B1B真实列表:=B1虚假列表;B.falselist :=B1.truelistB (B1) B . truelist :=B1。truelistb .错误列表:=B1。错误列表BE1 relop E2B真列表:=制造列表(下一个四元);b .假列表:=制作列表(下一个四元1);gencode(如果E1。addr relop。ope 1。addr goto );gencode(goto ) B真 B . truelist :=makelist(下一个四元组);gencode(goto ) BfalseB.falselist :=制造商列表(下一个四边形);gencode(goto ) MM.quad :=nextquad5.2常用控制流语句的翻译控制流语句如果-那么,如果-那么-其他和while-do的文法为:S如果b、则S1S如果b、则S1,否则S2S而B做S1S开始L结束SALL1;SLS (7.9)如果-那么,如果-那么-其他和while-do语句的翻译模式:S如果b、则M1S1,否则M2S2后插(M1特鲁特。四边形);背板(b)。脚手架M2。四元);下一列表:=合并(下一列表,合并(下一列表,下一列表)N N .下一个列表:=制作列表(下一个四元);gencode(goto ) MM.quad :=nextquadS如果b、则S1先生后插(B.truelist,M quad);下一列表:=合并SM1 B做M2S1后插(下一个名单,M1。四边形);背板(M2特鲁特。四边形);下一个列表:=错误列表;gencode(gotoM1.quad)S开始L结束下一个列表:=下一个列表sas.nextlist :=0 ll1;微软公司背板(L1.nextlist,m . quad);下一列表:=下一列表lsl.nextlist :=s . next list 5.3用于循环语句的翻译为循环语句的文法如下所示:sid :=E1至E2步骤E3至S1为循环语句的翻译模式如下所示:S 对于id :=E1到E2步骤E3到S1后插(S1 .下一个列表,再次m,gencode(goto ,-,-,m再次出现);下一个列表:=M .M M.addr :=条目(id);gencode(:=,E1.addr,-,m . addr);T1:=新温度.gencode(:=,E2.addr,-,T1);T2:=新温度.gencode(:=,E3.addr,-,T2);q:=nextquad .gencode(goto,-,-,Q2);再次m .=Q1;通用代码(,地址T2,地址);M.nextlist:=nextquad .gencode( if m . addr T1 goto-);5.4重复语句的翻译重复语句的文法如下所示:S重复S1直到B重复语句的翻译模式如下所示:s重复m1,直到注意背面贴片(二)错误列表,男四元);S.nextlist:=B.truelistMM.quad :=nextquadn背板(S1.nextlist,nextquad)6.转换语句的语法制导翻译转换语句的文法为:S 开关(东)灯斜坡案例V : S斜坡|默认: S转换语句的翻译模式如下所示:S开关(五) I :=0;是的。next list :=0;推下列表;推送地址;推我;q:=0 .推送qclist pop q;流行音乐一;流行音乐电子邮件地址;流行音乐。下一个列表:=合并(si。下一个列表,q);推送下一列表Clist案件v : pop q;流行音乐一;I :=I 1;流行音乐电子邮件地址;如果nextquad 0,则进行背面检测(q,下一个四边形);q:=nextquad .gencode( if e . addr Vi goto Li);推送地址;推我;按q键;流行音乐一;流行音乐电子邮件地址;流行的Si-1。下一个列表;p:=nextquadgencode( goto-);gencode(李:);是的。下一个列表:=合并(si。下一个列表,p)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025秋统编版三年级语文上册(2024)新教材第七单元20 古诗三首《望天门山》练习题附答案
- 柠檬酸充填封装工入职考核试卷及答案
- 纤维板压机润滑工艺考核试卷及答案
- 灯具组装自动化设备安全防护工艺考核试卷及答案
- 刑事技术考试题目及答案
- 银行营销活动试题及答案
- 地质专业试题及答案
- 计量专业试题及答案
- 汽车类专业试题及答案
- 小学语文人教部编版六年级上册《21文言文二则-2书戴嵩画牛》课件
- 2025版校园食堂日管控、周排查、月调度记录表
- 康养中心项目可行性研究报告
- 《城乡规划管理与法规系列讲座课件-建设项目规划与审批》
- 工业废水处理工初级复习题+答案
- 监狱防病知识培训课件
- 2025届广东省广州市高三上学期12月调研英语试题及答案
- 医院购置设备论证报告格式
- GB/T 32151.27-2024温室气体排放核算与报告要求第27部分:陆上交通运输企业
- 教学教学(以往培训课件)农村集体经济审计问题
- 医疗建筑施工要点
- 石油化工建设工程总承包招标文件示范文本
评论
0/150
提交评论