{"title":"在对象语言的单独编译中集成全局优化","authors":"Jean Privat, Roland Ducournau","doi":"10.3166/objet.10.2-3.61-74","DOIUrl":null,"url":null,"abstract":"Mainly used compilers are based on separate compilation, whereas optimizations of object-oriented programs mostly need a complete knowledge of the whole program. This is especially the case for type analysis and late binding implementations. Both approaches have pros and cons. Therefore, this paper proposes an integration of global optimizations in a separate compilation framework. The code generated by the local step is tagged and completed with a class schema and a template abstracting the circulation of types in the class methods. Before linking, a global step makes all global computations and substitutes computed values for symbols in the code generated by the local step.","PeriodicalId":201701,"journal":{"name":"Obj. Logiciel Base données Réseaux","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":"{\"title\":\"Intégration d'optimisations globales en compilation séparée des langages à objets\",\"authors\":\"Jean Privat, Roland Ducournau\",\"doi\":\"10.3166/objet.10.2-3.61-74\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Mainly used compilers are based on separate compilation, whereas optimizations of object-oriented programs mostly need a complete knowledge of the whole program. This is especially the case for type analysis and late binding implementations. Both approaches have pros and cons. Therefore, this paper proposes an integration of global optimizations in a separate compilation framework. The code generated by the local step is tagged and completed with a class schema and a template abstracting the circulation of types in the class methods. Before linking, a global step makes all global computations and substitutes computed values for symbols in the code generated by the local step.\",\"PeriodicalId\":201701,\"journal\":{\"name\":\"Obj. Logiciel Base données Réseaux\",\"volume\":\"15 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2004-09-30\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Obj. Logiciel Base données Réseaux\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.3166/objet.10.2-3.61-74\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Obj. Logiciel Base données Réseaux","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3166/objet.10.2-3.61-74","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Intégration d'optimisations globales en compilation séparée des langages à objets
Mainly used compilers are based on separate compilation, whereas optimizations of object-oriented programs mostly need a complete knowledge of the whole program. This is especially the case for type analysis and late binding implementations. Both approaches have pros and cons. Therefore, this paper proposes an integration of global optimizations in a separate compilation framework. The code generated by the local step is tagged and completed with a class schema and a template abstracting the circulation of types in the class methods. Before linking, a global step makes all global computations and substitutes computed values for symbols in the code generated by the local step.