Code generation is very complex. Using ALGOL68, complexity increases due to the recursivity of the manipulated values. The set of routines manipulating values will be recursive too. Describing such a manipulating process with flow charts makes it less readable. To avoid that difficulty the description of the process will use a generative action grammar. With such a grammar recursivity is natural, so the description of a recursive process will be very readable. Moreover, such a grammar can easily be translated into a program, which will be very structured and modular. The produced code will be very structured too and that can be helpful for debugging and checking processes.
{"title":"Description of dynamic manipulation of ALGOL68 values using a generative grammar","authors":"C. F. Vansina","doi":"10.1145/872738.807144","DOIUrl":"https://doi.org/10.1145/872738.807144","url":null,"abstract":"Code generation is very complex. Using ALGOL68, complexity increases due to the recursivity of the manipulated values. The set of routines manipulating values will be recursive too. Describing such a manipulating process with flow charts makes it less readable. To avoid that difficulty the description of the process will use a generative action grammar. With such a grammar recursivity is natural, so the description of a recursive process will be very readable. Moreover, such a grammar can easily be translated into a program, which will be very structured and modular. The produced code will be very structured too and that can be helpful for debugging and checking processes.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"288 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125033128","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes the problems and solutions of a particular “pulled” bootstrap transportation of the Cambridge ALGOL68C compiler; in particular, the problems encountered in making the external appearance of the compiler system conform to the conventions of the object machine's operating system interface.
{"title":"A transportation of ALGOL68C","authors":"P. J. Gardner","doi":"10.1145/800238.807148","DOIUrl":"https://doi.org/10.1145/800238.807148","url":null,"abstract":"This paper describes the problems and solutions of a particular “pulled” bootstrap transportation of the Cambridge ALGOL68C compiler; in particular, the problems encountered in making the external appearance of the compiler system conform to the conventions of the object machine's operating system interface.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"25 9","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133455260","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper discusses some language features which might have been in ALGOL68. They would not have complicated the compiler to any considerable extent. They would certainly have contributed to the expressive power of the language. In fact their desirability emerged from the practice of ALGOL68 programming (cf. {4}). “Might-have-beens” are small super-language features and some of them could even be considered as “might-be”s in the sense that they still might be incorporated in existing compilers without (great) difficulty. A few of these “lost chances” have deeper roots and may contribute to the development of future languages.
{"title":"ALGOL 68 might-have-beens","authors":"S. G. V. D. Meulen","doi":"10.1145/872738.807137","DOIUrl":"https://doi.org/10.1145/872738.807137","url":null,"abstract":"This paper discusses some language features which might have been in ALGOL68. They would not have complicated the compiler to any considerable extent. They would certainly have contributed to the expressive power of the language. In fact their desirability emerged from the practice of ALGOL68 programming (cf. {4}). “Might-have-beens” are small super-language features and some of them could even be considered as “might-be”s in the sense that they still might be incorporated in existing compilers without (great) difficulty. A few of these “lost chances” have deeper roots and may contribute to the development of future languages.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121435192","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A tool for the systematic production of test cases for a compiler is first presented. The input of the generator are formal grammars, derived from the definition of the reference language. This tool has been applied to the generation of test programs for Algol 68. For each construction which the language possesses, the syntactic structure of the corresponding test and the semantic verifications it contains are given. The test set has begun to be employed on a specific implementation. Discovered errors related to Algol 68 constructions are analysed.
{"title":"Verification of an Algol 68 implementation","authors":"B. Houssais","doi":"10.1145/800238.807151","DOIUrl":"https://doi.org/10.1145/800238.807151","url":null,"abstract":"A tool for the systematic production of test cases for a compiler is first presented. The input of the generator are formal grammars, derived from the definition of the reference language. This tool has been applied to the generation of test programs for Algol 68. For each construction which the language possesses, the syntactic structure of the corresponding test and the semantic verifications it contains are given. The test set has begun to be employed on a specific implementation. Discovered errors related to Algol 68 constructions are analysed.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131244001","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes some of the techniques which can be used for managing the run time storage required for an ALGOL68 program. The emphasis is on stack storage, since garbage collection techniques would require another paper. The problems caused by some ALGOL68 constructs are described: the solutions given are mainly those adopted in the Cambridge ALGOL68C system.
{"title":"Storage management for ALGOL68","authors":"A. Birrell","doi":"10.1145/800238.807147","DOIUrl":"https://doi.org/10.1145/800238.807147","url":null,"abstract":"This paper describes some of the techniques which can be used for managing the run time storage required for an ALGOL68 program. The emphasis is on stack storage, since garbage collection techniques would require another paper. The problems caused by some ALGOL68 constructs are described: the solutions given are mainly those adopted in the Cambridge ALGOL68C system.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132308168","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper we describe how a software testbed is used to determine the quality of testing of Algol 68 programs. The system monitors the execution of an Algol 68 program and obtains a run-time execution history. This history is then compared with the results of a static analysis and three levels of testing are calculated. The third level is an extension to Algol 68 of a method originally devised for analysing Fortran IV programs. The system has been used extensively in the coordination stage of the NAG Algol 68 numerical algorithms library and we quote some results obtained from an analysis of stringent tests on these library routines.
{"title":"Quantifying the test effectiveness of Algol 68 programs","authors":"M. Hennell, D. Hedley, M. Woodward","doi":"10.1145/800238.807140","DOIUrl":"https://doi.org/10.1145/800238.807140","url":null,"abstract":"In this paper we describe how a software testbed is used to determine the quality of testing of Algol 68 programs. The system monitors the execution of an Algol 68 program and obtains a run-time execution history. This history is then compared with the results of a static analysis and three levels of testing are calculated. The third level is an extension to Algol 68 of a method originally devised for analysing Fortran IV programs. The system has been used extensively in the coordination stage of the NAG Algol 68 numerical algorithms library and we quote some results obtained from an analysis of stringent tests on these library routines.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"211 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132436957","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The paper describes the experiences of a small team in writing a substantial ALGOL 68 program to model the shapes of engineering components. The application derives much advantage from structures, operators and the heap. It includes a command interpreter, graphics package, vector and matrix routines, and procedures for moving data structures on the heap to and from disc. A system has been devised to ensure safe, selective compilation of program segments.
{"title":"Geometric modelling in ALGOL 68","authors":"I. Braid, R. C. Hillyard","doi":"10.1145/800238.807158","DOIUrl":"https://doi.org/10.1145/800238.807158","url":null,"abstract":"The paper describes the experiences of a small team in writing a substantial ALGOL 68 program to model the shapes of engineering components. The application derives much advantage from structures, operators and the heap. It includes a command interpreter, graphics package, vector and matrix routines, and procedures for moving data structures on the heap to and from disc. A system has been devised to ensure safe, selective compilation of program segments.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133335670","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Among the formalisms used for the definition of programming languages, context-free grammars are widely and satisfactorily used, but their power is limited. Augmented with attributes they can express context sensitive aspects of a language. In this paper a subset of Algol 68 is described by an attribute-grammar. This is done in a way which suggests that the attribute point of view may also help reading and writing W-grammars.
{"title":"An attribute description of a subset of Algol 68","authors":"M. Simonet","doi":"10.1145/800238.807152","DOIUrl":"https://doi.org/10.1145/800238.807152","url":null,"abstract":"Among the formalisms used for the definition of programming languages, context-free grammars are widely and satisfactorily used, but their power is limited. Augmented with attributes they can express context sensitive aspects of a language. In this paper a subset of Algol 68 is described by an attribute-grammar. This is done in a way which suggests that the attribute point of view may also help reading and writing W-grammars.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126021973","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
It is often believed that Pascal is - Algol68 in miniature - well “structured”. It will be argued in Part One of this paper that both beliefs are badly founded.
{"title":"Is Pascal a logical subset of Algol68 or not? Part One","authors":"R. Edwards","doi":"10.1145/800238.807161","DOIUrl":"https://doi.org/10.1145/800238.807161","url":null,"abstract":"It is often believed that Pascal is - Algol68 in miniature - well “structured”.\u0000 It will be argued in Part One of this paper that both beliefs are badly founded.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130145630","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The paper outlines the use of ALGOL 68R in the production of a series of simulation models for a Multi Radar Tracking feasibility study. Particular reference is made to the use of structures, the chaining mechanisms used and the modularity of the models. The multi-radar tracking models were developed in ALGOL 68'R by Plessey Radar Ltd. and run on their 1906S under George 3/MOP.
本文概述了ALGOL 68R在多雷达跟踪可行性研究的一系列仿真模型制作中的应用。特别提到了结构的使用,所使用的链接机制和模型的模块化。多雷达跟踪模型由Plessey雷达有限公司在ALGOL 68'R中发展并且在他们的1906S George 3/MOP下运行。
{"title":"A Multi Radar Tracking simulation using ALGOL 68'R","authors":"P. R. West","doi":"10.1145/800238.807159","DOIUrl":"https://doi.org/10.1145/800238.807159","url":null,"abstract":"The paper outlines the use of ALGOL 68R in the production of a series of simulation models for a Multi Radar Tracking feasibility study. Particular reference is made to the use of structures, the chaining mechanisms used and the modularity of the models. The multi-radar tracking models were developed in ALGOL 68'R by Plessey Radar Ltd. and run on their 1906S under George 3/MOP.","PeriodicalId":226613,"journal":{"name":"Strathclyde ALGOL 68 Conference","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1977-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130305280","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}