{"title":"抽象层次和编译器","authors":"B. Buckles, G. Hintze","doi":"10.1145/800191.805630","DOIUrl":null,"url":null,"abstract":"Based upon experience gained through the development of a compiler, this paper recommends the software partitioning technique known as levels of abstraction as a practical strategy for organizing medium to large-scale software systems. How to identify levels of abstraction, specific properties possessed by levels of abstraction, and how to integrate the technique into the software design phase are the principal topics. Each concept is illustrated by examples from the compiler. Some parallels are drawn between levels of abstraction and the concepts of resource management, of data abstractions, and of information hiding.","PeriodicalId":379505,"journal":{"name":"ACM '76","volume":"72 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1976-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Levels of abstraction and compilers\",\"authors\":\"B. Buckles, G. Hintze\",\"doi\":\"10.1145/800191.805630\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Based upon experience gained through the development of a compiler, this paper recommends the software partitioning technique known as levels of abstraction as a practical strategy for organizing medium to large-scale software systems. How to identify levels of abstraction, specific properties possessed by levels of abstraction, and how to integrate the technique into the software design phase are the principal topics. Each concept is illustrated by examples from the compiler. Some parallels are drawn between levels of abstraction and the concepts of resource management, of data abstractions, and of information hiding.\",\"PeriodicalId\":379505,\"journal\":{\"name\":\"ACM '76\",\"volume\":\"72 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1976-10-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM '76\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/800191.805630\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM '76","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/800191.805630","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Based upon experience gained through the development of a compiler, this paper recommends the software partitioning technique known as levels of abstraction as a practical strategy for organizing medium to large-scale software systems. How to identify levels of abstraction, specific properties possessed by levels of abstraction, and how to integrate the technique into the software design phase are the principal topics. Each concept is illustrated by examples from the compiler. Some parallels are drawn between levels of abstraction and the concepts of resource management, of data abstractions, and of information hiding.