欢迎来到天天文库
浏览记录
ID:51619208
大小:134.50 KB
页数:42页
时间:2020-03-26
《编译原理2E全套配套课件龙书 Chapter_eight(1).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、COMPILERCONSTRUCTIONPrinciplesandPracticeKennethC.Louden8.CodeGenerationPARTONEGenerateexecutablecodeforatargetmachinethatisafaithfulrepresentationofthesemanticsofthesourcecodeDependsnotonlyonthecharacteristicsofthesourcelanguagebutalsoondetailedinformationaboutthetargetarchitecture,thestructureo
2、ftheruntimeenvironment,andtheoperatingsystemrunningonthetargetmachineContentsPartOne8.1IntermediateCodeandDataStructureforcodeGeneration8.2BasicCodeGenerationTechniquesOtherParts8.3CodeGenerationofDataStructureReference8.4CodeGenerationofControlStatementsandLogicalExpression8.5CodeGenerationofPro
3、cedureandFunctioncalls8.6CodeGenerationonCommercialCompilers:TwoCaseStudies8.7TM:ASimpleTargetMachine8.8ACodeGeneratorfortheTINYLanguage8.9ASurveyofCodeOptimizationTechniques8.10SimpleOptimizationsforTINYCodeGenerator8.1IntermediateCodeandDataStructuresforCodeGeneration8.1.1Three-AddressCodeAdata
4、structurethatrepresentsthesourceprogramduringtranslationiscalledanintermediaterepresentation,orIR,forshortSuchanintermediaterepresentationthatresemblestargetcodeiscalledintermediatecodeIntermediatecodeisparticularlyusefulwhenthegoalofthecompileristoproduceextremelyefficientcode;Intermediatecodeca
5、nalsobeusefulinmakingacompilermoreeasilyretarget-able.Studytwopopularformsofintermediatecode:Three-AddresscodeandP-codeThemostbasicinstructionofthree-addresscodeisdesignedtorepresenttheevaluationofarithmeticexpressionsandhasthefollowinggeneralform:X=yopzFigure8.1SampleTINYprogram:{sampleprogramin
6、TINYlanguage--computesfactorial}readx;{inputaninteger}if0>xthen{don’tcomputeifx<=0}fact:=1;repeatfact:=fact*x;x:=x-1untilx=0;writefact{outputfactorialofx}endsTheThree-addresscodesforaboveTINYprogramreadxt1=x>0if_falset1gotoL1fact=1labelL2t2=fact*xfact=t2t3=x-1x=t3t4=x==0if_falset4gotoL2writefact
7、labelL1halt8.1.2DataStructuresfortheImplementationofThree-AddressCodeThemostcommonimplementationistoimplementthree-addresscodeasquadruple,whichmeansthatfourfieldsarenecessary:OnefortheoperationandthreefortheaddressesAd
此文档下载收益归作者所有