{"title":"一般化矩形数组的数据结构","authors":"S. A. Hoffman","doi":"10.1145/1460833.1460870","DOIUrl":null,"url":null,"abstract":"Three problems associated with structured data sets -- <u>description, allocation</u>, and <u>retrieval</u> -- are briefly considered. The first is a problem in describing data to a compiler in a formal manner that will allow the compiler program to allocate storage and retrieve data when the data is referenced. The second is the problem of providing contiguous storage for the data set in such a way that when suitably described pieces of the data are required at run time, the positions of these pieces of data relative to some base will be determinable. The third problem is that of referencing or describing subsets of the data set. A class of data structures is defined. This class is shown to be a generalization of the class of structures which are representable as n-dimensional rectangular arrays. These structures are termed generalized structures; a formal method of describing these structures (by descriptors) is defined. The formal entities, called reference expressions, that describe the data to be retrieved from storage, are also defined for this class of structures. Finally, the appropriate form of the storage mapping function is derived. The storage mapping function is the mathematical expression which relates the description of an item of data to its position in memory. The manner in which this function is derived from the descriptor is shown. In every case, the work performed for generalized structures is shown to be a direct generalization of the corresponding considerations for rectangular arrays. Finally, an ALGOL program for the Burroughs 220 computer is briefly described. The program simulates the actions that a compiler would take upon receiving a descriptor in forming the storage mapping function, and the actions that would be carried out at run time when a reference expression is presented.","PeriodicalId":307707,"journal":{"name":"AIEE-IRE '62 (Spring)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1899-12-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":"{\"title\":\"Data structures that generalize rectangular arrays\",\"authors\":\"S. A. Hoffman\",\"doi\":\"10.1145/1460833.1460870\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Three problems associated with structured data sets -- <u>description, allocation</u>, and <u>retrieval</u> -- are briefly considered. The first is a problem in describing data to a compiler in a formal manner that will allow the compiler program to allocate storage and retrieve data when the data is referenced. The second is the problem of providing contiguous storage for the data set in such a way that when suitably described pieces of the data are required at run time, the positions of these pieces of data relative to some base will be determinable. The third problem is that of referencing or describing subsets of the data set. A class of data structures is defined. This class is shown to be a generalization of the class of structures which are representable as n-dimensional rectangular arrays. These structures are termed generalized structures; a formal method of describing these structures (by descriptors) is defined. The formal entities, called reference expressions, that describe the data to be retrieved from storage, are also defined for this class of structures. Finally, the appropriate form of the storage mapping function is derived. The storage mapping function is the mathematical expression which relates the description of an item of data to its position in memory. The manner in which this function is derived from the descriptor is shown. In every case, the work performed for generalized structures is shown to be a direct generalization of the corresponding considerations for rectangular arrays. Finally, an ALGOL program for the Burroughs 220 computer is briefly described. The program simulates the actions that a compiler would take upon receiving a descriptor in forming the storage mapping function, and the actions that would be carried out at run time when a reference expression is presented.\",\"PeriodicalId\":307707,\"journal\":{\"name\":\"AIEE-IRE '62 (Spring)\",\"volume\":\"21 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1899-12-30\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"11\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"AIEE-IRE '62 (Spring)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1460833.1460870\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"AIEE-IRE '62 (Spring)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1460833.1460870","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Data structures that generalize rectangular arrays
Three problems associated with structured data sets -- description, allocation, and retrieval -- are briefly considered. The first is a problem in describing data to a compiler in a formal manner that will allow the compiler program to allocate storage and retrieve data when the data is referenced. The second is the problem of providing contiguous storage for the data set in such a way that when suitably described pieces of the data are required at run time, the positions of these pieces of data relative to some base will be determinable. The third problem is that of referencing or describing subsets of the data set. A class of data structures is defined. This class is shown to be a generalization of the class of structures which are representable as n-dimensional rectangular arrays. These structures are termed generalized structures; a formal method of describing these structures (by descriptors) is defined. The formal entities, called reference expressions, that describe the data to be retrieved from storage, are also defined for this class of structures. Finally, the appropriate form of the storage mapping function is derived. The storage mapping function is the mathematical expression which relates the description of an item of data to its position in memory. The manner in which this function is derived from the descriptor is shown. In every case, the work performed for generalized structures is shown to be a direct generalization of the corresponding considerations for rectangular arrays. Finally, an ALGOL program for the Burroughs 220 computer is briefly described. The program simulates the actions that a compiler would take upon receiving a descriptor in forming the storage mapping function, and the actions that would be carried out at run time when a reference expression is presented.