欢迎来到天天文库
浏览记录
ID:38313068
大小:251.32 KB
页数:27页
时间:2019-06-09
《编译原理-数据类型和类型检查》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter6DataTypesandTypeCheckingInstructorJianhuiYueSoftwareCollege@SCUcompilerscu@21cn.comCompilerTheoryFall2003JianhuiYuePrincipalTaskofCompilerTypeinference-thecomputationandmaintenanceofinformationondatatypesTypechecking–theuseoftheinformationtoensurethateachpartoftheprogr
2、ammakessenseunderthetyperulesofthelanguage.Thesetwotasksarerelated,performedtogether,andreferredastypechecking.CompilerTheoryFall2003JianhuiYueDataTypeDatatypeissetofvalueswithcertainoperationsonthosevalues.Example:integerreferstoasubsetofthemathematicalintegers,togetherwithth
3、earithmeticoperationsthatareprovidedbythelanguagedefinition.Datatypesaredescribedbyatypeexpressions,whichisAtypename(suchasinteger)orAstructuredexpressions(suchasarray[10])OperationsareassumedorimpliedCompilerTheoryFall2003JianhuiYueTypeExpressionsTypeexpressionscanoccurinseve
4、ralplacesinaprogram.Explicittypeinformationintx;-associatesatypetoavariablenameclassCar{…}–definesanewtypenameImplicittypeinformationconstgreeting=“Hello!”;-arrayofcharinPascal.Typeinformation,thatiscontainedindeclarations,ismaintainedinthesymboltableandretrievedbythetypecheck
5、erwhenevertheassociatednamesarereferenced.Example:a[i].Arangecheckingisnotstaticallydeterminable.CompilerTheoryFall2003JianhuiYueSimpleTypesTherearebuild-in(predefined)typesinaprogramminglanguage.Example:intanddoubleThepredefinedtypescorrespondtoNumericdatatypesthatareprovided
6、bymachinearchitecturesandwhoseoperationsexistasmachineinstructions.Elementarytypeslikebooleanorcharwhosebehavioriseasytoimplement.Suchdatatypesaresimpletypes,theirvalueshavenointernalstructure.CompilerTheoryFall2003JianhuiYueNewSimpleDataTypesInsomeprogramminglanguagesitisposs
7、ibletodefinenewsimpletypes.typedefenum{red,green,blue}Color;CompilerTheoryFall2003JianhuiYueStructuredTypesGivenasetofpredefinedtypes,newdatatypescanbecreatedusingtypeconstructors,suchasarrayandstruct.Suchtypesareoftencalledstructuredtypes.Arraysarecommonlyallocatedcontiguouss
8、toragefromsmallertolargerindexes.CompilerTheoryFall2003Jianhu
此文档下载收益归作者所有