欢迎来到天天文库
浏览记录
ID:51619207
大小:257.50 KB
页数:83页
时间:2020-03-26
《编译原理2E全套配套课件龙书 Chapter_eight(2).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、COMPILERCONSTRUCTIONPrinciplesandPracticeKennethC.Louden8.CodeGeneration8.1IntermediateCodeandDataStructuresforCodeGeneration8.1.1Three-AddressCode8.1.2DataStructuresfortheImplementationofThree-AddressCode8.1.3P-Code8.2BasicCodeGenerationTechniques8.2.1I
2、ntermediateCodeorTargetCodeasaSynthesizedAttribute8.2.2PracticalCodeGeneration8.2.3GenerationofTargetCodefromIntermediateCodeCodegenerationfromintermediatecodeinvolveseitherorbothoftwostandardtechniques:MacroexpansionandStaticsimulationMacroexpansioninvo
3、lvesreplacingeachkindofintermediatecodeinstructionwithanequivalentsequenceoftargetcodeinstructionsStaticsimulationinvolvesastraight-linesimulationoftheeffectsoftheintermediatecodeandgeneratingtargetcodetomatchtheseeffectsConsidertheexpression(x=x+3)+4,tr
4、anslatetheP-codeintothree-addresscode:LadxLodxLdc3Adit1=x+3Stnx=t1Ldc4Adit2=t1+4WeperformastaticsimulationoftheP-machinestacktofindthree-addressequivalenceforthegivencodeNowconsiderthecaseoftranslatingfromthree-addresscodetoP-code,bysimplemacroexpansion.
5、Athree-addressinstruction:a=b+cCanalwaysbetranslatedintotheP-codesequenceldaalodblodcadistoThen,thethree-addresscodefortheexpression(x=x+3)+4:T1=x+3X=t1T2=t1+4CanbetranslatedintothefollowingP-code:Ldat1LodxLdc3AdiStoLadxLodt1StoLdat2Lodt1Ldc4AdiStoConten
6、tsPartOne8.1IntermediateCodeandDataStructureforcodeGeneration8.2BasicCodeGenerationTechniquesPartTwo8.3CodeGenerationofDataStructureReference8.4CodeGenerationofControlStatementsandLogicalExpression8.5CodeGenerationofProcedureandFunctioncallsOtherParts8.6
7、CodeGenerationonCommercialCompilers:TwoCaseStudies8.7TM:ASimpleTargetMachine8.8ACodeGeneratorfortheTINYLanguage8.9ASurveyofCodeOptimizationTechniques8.10SimpleOptimizationsforTINYCodeGenerator8.3CodeGenerationofDataStructureReferences8.3.1AddressCalculat
8、ions(1)Three-AddressCodeforAddressCalculationsTheusualarithmeticoperationscanbeusedtocomputeaddressesSupposewishedtostoretheconstantvalue2attheaddressofthevariablexplus10bytest1=&x+10*t1=2Theimplementationofthesenewaddress
此文档下载收益归作者所有