{"title":"案例模拟语言:一个面向问题的语言的局部发展的例子","authors":"Peter J. Robinson","doi":"10.1145/503561.503607","DOIUrl":null,"url":null,"abstract":"Case Simulation Language or CSL is a programming language which facilitates the production of simulated medical cases for training students at the University of Alabama Medical Center in Birmingham. CSL was developed in two months by one programmer and is executed interpretively by a small program (occupying less than 20,000 bytes) on a Hewlett-Packard 2000 Time Share System. The language features a curious assemblage of old techniques such as fixed fields in each line of source code and numeric labels, juxtaposed to relatively new concepts such as case statements.Modular programming is encouraged by the enforced division of the program into sections. Each section can be reached by a go to line (> line) or a call line (> < line) but once a section is called, new sections must also be called (up to 10 deep) since the attempted execution of a go to line causes an immediate return.An unusual feature of CSL is that the user has many opportunities during a simulation to affect the flow of control by entering a numeric label. (These are presented on the terminal as numbered sections, e.g. 111 Aggravating Factors, 112 Alleviation, etc.) The interpreter then resumes execution of the CSL program at the new section exactly as if an internal go to line naming that section had been executed.The interpreter has built in features which provide help for a user who has gotten \"lost\". For instance, whenever the user is prompted for a section number, the user can enter a \"9\" instead, and the terminal will respond with a list of sections which could reasonably be selected.In all, CSL provides 16 basically different operations or line types including provisions for terminal and file I/O, logical branching, and primitive string variables.","PeriodicalId":151957,"journal":{"name":"ACM-SE 14","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1976-04-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Case simulation language: an example of local development of a problem oriented language\",\"authors\":\"Peter J. Robinson\",\"doi\":\"10.1145/503561.503607\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Case Simulation Language or CSL is a programming language which facilitates the production of simulated medical cases for training students at the University of Alabama Medical Center in Birmingham. CSL was developed in two months by one programmer and is executed interpretively by a small program (occupying less than 20,000 bytes) on a Hewlett-Packard 2000 Time Share System. The language features a curious assemblage of old techniques such as fixed fields in each line of source code and numeric labels, juxtaposed to relatively new concepts such as case statements.Modular programming is encouraged by the enforced division of the program into sections. Each section can be reached by a go to line (> line) or a call line (> < line) but once a section is called, new sections must also be called (up to 10 deep) since the attempted execution of a go to line causes an immediate return.An unusual feature of CSL is that the user has many opportunities during a simulation to affect the flow of control by entering a numeric label. (These are presented on the terminal as numbered sections, e.g. 111 Aggravating Factors, 112 Alleviation, etc.) The interpreter then resumes execution of the CSL program at the new section exactly as if an internal go to line naming that section had been executed.The interpreter has built in features which provide help for a user who has gotten \\\"lost\\\". For instance, whenever the user is prompted for a section number, the user can enter a \\\"9\\\" instead, and the terminal will respond with a list of sections which could reasonably be selected.In all, CSL provides 16 basically different operations or line types including provisions for terminal and file I/O, logical branching, and primitive string variables.\",\"PeriodicalId\":151957,\"journal\":{\"name\":\"ACM-SE 14\",\"volume\":\"2 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1976-04-22\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"ACM-SE 14\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/503561.503607\",\"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-SE 14","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/503561.503607","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Case simulation language: an example of local development of a problem oriented language
Case Simulation Language or CSL is a programming language which facilitates the production of simulated medical cases for training students at the University of Alabama Medical Center in Birmingham. CSL was developed in two months by one programmer and is executed interpretively by a small program (occupying less than 20,000 bytes) on a Hewlett-Packard 2000 Time Share System. The language features a curious assemblage of old techniques such as fixed fields in each line of source code and numeric labels, juxtaposed to relatively new concepts such as case statements.Modular programming is encouraged by the enforced division of the program into sections. Each section can be reached by a go to line (> line) or a call line (> < line) but once a section is called, new sections must also be called (up to 10 deep) since the attempted execution of a go to line causes an immediate return.An unusual feature of CSL is that the user has many opportunities during a simulation to affect the flow of control by entering a numeric label. (These are presented on the terminal as numbered sections, e.g. 111 Aggravating Factors, 112 Alleviation, etc.) The interpreter then resumes execution of the CSL program at the new section exactly as if an internal go to line naming that section had been executed.The interpreter has built in features which provide help for a user who has gotten "lost". For instance, whenever the user is prompted for a section number, the user can enter a "9" instead, and the terminal will respond with a list of sections which could reasonably be selected.In all, CSL provides 16 basically different operations or line types including provisions for terminal and file I/O, logical branching, and primitive string variables.