{"title":"从古代到现代2:种类和模块","authors":"D. Nagle","doi":"10.1145/1189022.1189023","DOIUrl":null,"url":null,"abstract":"This is the second in a series of articles about converting archaic (66, 77) Fortran to modern (90, 95, 2003) Fortran. In the first, I discussed revision control (rcs), compilation control (make), and checking procedure interfaces and common blocks. The idea is to give an older, Fortran 77 (or earlier) code a check-up before trying to modify it. I also discussed automatic conversion of older Fixed Format source files to the modern Free Format. Free Format is easier to use, and can eliminate some problems present when using Fixed Format, mainly associated with searching for names. In this article, I'll discuss the Fortran kind mechanism for selecting types and the Fortran module for sharing data among procedures. Next, I'll try to tie the notions of agreement in type, kind, and rank, the use of procedure interfaces and common block consistency issues together with the use of modules.","PeriodicalId":379614,"journal":{"name":"ACM SIGPLAN Fortran Forum","volume":"2017 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Archaic to modern 2: kinds and modules\",\"authors\":\"D. Nagle\",\"doi\":\"10.1145/1189022.1189023\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"This is the second in a series of articles about converting archaic (66, 77) Fortran to modern (90, 95, 2003) Fortran. In the first, I discussed revision control (rcs), compilation control (make), and checking procedure interfaces and common blocks. The idea is to give an older, Fortran 77 (or earlier) code a check-up before trying to modify it. I also discussed automatic conversion of older Fixed Format source files to the modern Free Format. Free Format is easier to use, and can eliminate some problems present when using Fixed Format, mainly associated with searching for names. In this article, I'll discuss the Fortran kind mechanism for selecting types and the Fortran module for sharing data among procedures. Next, I'll try to tie the notions of agreement in type, kind, and rank, the use of procedure interfaces and common block consistency issues together with the use of modules.\",\"PeriodicalId\":379614,\"journal\":{\"name\":\"ACM SIGPLAN Fortran Forum\",\"volume\":\"2017 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2006-12-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM SIGPLAN Fortran Forum\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1189022.1189023\",\"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 SIGPLAN Fortran Forum","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1189022.1189023","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
This is the second in a series of articles about converting archaic (66, 77) Fortran to modern (90, 95, 2003) Fortran. In the first, I discussed revision control (rcs), compilation control (make), and checking procedure interfaces and common blocks. The idea is to give an older, Fortran 77 (or earlier) code a check-up before trying to modify it. I also discussed automatic conversion of older Fixed Format source files to the modern Free Format. Free Format is easier to use, and can eliminate some problems present when using Fixed Format, mainly associated with searching for names. In this article, I'll discuss the Fortran kind mechanism for selecting types and the Fortran module for sharing data among procedures. Next, I'll try to tie the notions of agreement in type, kind, and rank, the use of procedure interfaces and common block consistency issues together with the use of modules.