{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,11,13]],"date-time":"2023-11-13T00:06:25Z","timestamp":1699833985311},"reference-count":8,"publisher":"Wiley","issue":"3","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":9006,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1982,3]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The CDC Pascal 6000\u20133.4 compiler allows external procedures to be designed and compiled separately. Such a mechanism strongly enhances the extensibility of the language. However, the external procedures are restricted to having \u2018fixed\u2019 parameter list only and is therefore unsuitable for designing I\/O routines. This paper describes a cheap way to release the restriction thereby extending the power of the external procedure mechanism significantly. The method is to include a new compiler option, called the Z option, to the existing Pascal compiler. The Z option allows a user to breach the strong binding between format and actual parameters while not diminishing program reliability. The main advantage is that the I\/O system can now be isolated from the compiler. I\/O features can be added and removed easily as with other library routines.<\/jats:p>","DOI":"10.1002\/spe.4380120309","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T02:39:16Z","timestamp":1163817556000},"page":"283-292","source":"Crossref","is-referenced-by-count":0,"title":["Extending the power of Pascal's external procedure mechanism"],"prefix":"10.1002","volume":"12","author":[{"given":"Yung H.","family":"Tsin","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4615-9984-5"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380070307"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/987649.987652"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380010403"},{"key":"e_1_2_1_6_2","volume-title":"Assembly Language Programming for the Control Data 6000 Series and the Cyber 70 Series","author":"Grishman R.","year":"1974"},{"key":"e_1_2_1_7_2","unstructured":"Control Data COMPASS Reference Manual."},{"key":"e_1_2_1_8_2","unstructured":"Control Data Cyber 70 Series Computer Systems models 72 73 74 6000 Series Computer Systems KRONOS 2.1 Reference Manual."},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF00264291"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380120309","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380120309","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,12]],"date-time":"2023-11-12T14:31:17Z","timestamp":1699799477000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380120309"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1982,3]]},"references-count":8,"journal-issue":{"issue":"3","published-print":{"date-parts":[[1982,3]]}},"alternative-id":["10.1002\/spe.4380120309"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380120309","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1982,3]]}}}