{"title":"Language specification by multi-axiom grammars","authors":"T. Rus, J. P. L. Peau","doi":"10.1109/ICCL.1988.13049","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13049","url":null,"abstract":"Multiaxiom grammars and language, presented as generalizations of context-free grammars and languages, are defined and used as a mechanism for programming language specification and implementation. It is shown how to divide such a grammar into a sequence of subgrammars that generate inductively the language specified by the original grammar. Furthermore, it is shown how to use this sequence of subgrammars for inductive language recognition by a process of tokenizing. Two classes of algorithms for languages parsing based on multi-axiom grammars are developed: an algorithm obtained by generalizing context-free LR-parsers to multi-axiom grammars, and a pattern-matching algorithm that results from the ability to layer a multi-axiom language into levels such that each sublanguage is independent of the language that contains it. The implications of multi-axiom grammars for compiler code generation are briefly discussed.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124113075","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}
{"title":"Array theory, logic and the Nial language","authors":"J. Glasgow, M. A. Jenkins","doi":"10.1109/ICCL.1988.13077","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13077","url":null,"abstract":"A logical description of arrays is developed, indicating that it is possible to incorporate array data structures into a theory that builds on the conventional theory of lists. This theory provides a basis for the functional programming language Nial. An emphasis in the development of Nial has been to explore ways to integrate the logic programming paradigm with the functional-programming and array-handling capabilities of the language. By providing a logical basis for array theory, the authors have provided a formal basis for the development of a semantics for logic programming with arrays in Nial.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"136 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127836325","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}
{"title":"The elimination of intermediate containers in the evaluation of first-class array expressions","authors":"C. McCrosky","doi":"10.1109/ICCL.1988.13052","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13052","url":null,"abstract":"A language with first-class arrays has functions that map from arrays to arrays, where arrays are nested rectangular containers. Such languages are conceptually appropriate for a wide range of applications. Unfortunately, straightforward implementations have high memory allocation and data movement overheads. An algorithm and implementation which discover efficient implementations for first-class array expressions is presented. This optimizer achieves results equivalent to the code a good imperative programmer would produce. For many examples, all temporary arrays and unnecessary moves are avoided. To motivate and provide a basis for this work, a first-class array language is defined and examples of its use are given.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131915133","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}
{"title":"FLEX: towards flexible real-time programs","authors":"Kwei-Jay Lin, S. Natarajan","doi":"10.1109/ICCL.1988.13074","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13074","url":null,"abstract":"The authors describe a language called FLEX, which makes it possible to program real-time systems that can respond to dynamic environments. In the worst case, when certain resources are not available, the program can produce approximate, imprecise results. This ability to write programs that are flexible in their execution time is provided by using constraints to express timing requirements, and sieves and imprecise values to obtain imprecise results. The authors discuss the semantic aspects of computing with imprecise values.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114576574","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}
{"title":"Languages in electrotechnical laboratory's dataflow machines","authors":"H. Herath","doi":"10.1109/ICCL.1988.13054","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13054","url":null,"abstract":"An overview is presented of the development of the SIGMA-1 and the EM-3 dataflow computers. The main goal of the SIGMA-1 project is to outperform conventional supercomputers for scientific and technological computations by a dataflow machine. The main goal of the EM-3 project is to develop the basic technology for intelligence computations. A description is given of the SIGMA-1 operational model, the DFC language and its operational semantics, and the EM-3 operational model, EM-Lisp language, and its operational semantics are reviewed. The dataflow computing base language, DCBL, and its operational semantics are discussed.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114649191","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}
{"title":"The precise control of inheritance and the inheritance of theory in the ADABTPL language","authors":"T. Sheard, D. Stemple","doi":"10.1109/ICCL.1988.13064","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13064","url":null,"abstract":"It is possible to include robust inheritance features while separating them from data structuring mechanisms to a higher degree than is accomplished in most languages. The ADABTPL language does this by supplying a small class of orthogonal inheritance producing and restricting mechanisms. ADABTPL also supports a paradigm of programming by tying the compiler to a powerful Boyer-Moore-style theorem prover that can be invoked by the programmer to verify properties of programs and validate program transformations. This is accomplished by the use of higher-order functions and metatheorems to produce a tailored theory about particular programs.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"135 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132561482","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}
{"title":"High level communication primitives for concurrent systems","authors":"V. Garg, C. Ramamoorthy","doi":"10.1109/ICCL.1988.13047","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13047","url":null,"abstract":"To support high-level specification and analysis of distributed systems, the authors propose two constructs: handshake and unit. The handshake construct is a remote procedure call generalized for multiple parties. The unit construct has three functions: to restrict the possible calls to various handshake procedures, to provide a synchronization mechanism, and to specify computation that is directly relevant to communication. These constructs are part of a formal model called the synchronous token based communicating state (STOCS) model, which lends itself to automatic analysis. These constructs can be added to any existing language easily, and the current system, called ConC (Concurrent C), extends C for concurrent programming. A prototype of the system runs on a Sun cluster operating under Unix 4.2 BSD.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115874879","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}
{"title":"Type inference by program transformation and partial evaluation","authors":"T.W. Fruwirth","doi":"10.1109/ICCL.1988.13083","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13083","url":null,"abstract":"A simple yet powerful metaprogramming method to derive type information from Prolog programs is proposed. Prolog itself is used to represent the type information, so no special language for types is necessary. Metaprogramming techniques also manipulate the types derived. A kind of program transformation, called type projection, infers type information expressed in Prolog. The inferred type procedures can be used to check the consistency of the program and in some cases, even to generate instances of the type. The author defines a nonredundant standard representation of a type. The standardization algorithm is an adaptation of partial evaluation. He extends type projection by partial evaluation to derive more precise types. For the first time, a part of the type information inherent in negated goals is utilized. Type negation is introduced.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115815074","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}
{"title":"Software requirements specification from a cognitive psychology perspective","authors":"J. Snodgrass, D. Yun","doi":"10.1109/ICCL.1988.13092","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13092","url":null,"abstract":"A description is given of the results of an empirical study of the early tasks of software development. Using these and analogous results from other studies, the authors draw on cognitive psychology theory to argue that part of the reason for the technology-transfer problem is a mismatch between the cognitive processes currently used by engineers and the cognitive processes actually required to make effective use of the tools. A cognitive model is presented that describes how engineers accomplish certain development tasks.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121214870","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}
{"title":"PNSOFT: a menu-driven software package for Petri-net modeling and analysis","authors":"G. Hura, M. A. C. C. G. Buell, M. Cvetanović","doi":"10.1109/ICCL.1988.13041","DOIUrl":"https://doi.org/10.1109/ICCL.1988.13041","url":null,"abstract":"A discussion is presented of PNSOFT, a user-friendly, menu-driven software package for Petri-net modeling and analysis of real-time systems. It aids in the design, management and analysis of Petri-net models. PNSOFT runs in an automated programming environment that provides both a graphical and a matrix interface for the creation and modification of Petri-net models in different environments. The proposed software package is written in the C programming language and is efficient with respect to both time and space. It can easily be upgraded to perform a variety of other functions. The data structures created by PNSOFT's editing facilities can be used by other application programs. Various functions and programs used for analytical operations can be directly accessed by the user, using a menu-driven interface, at different levels.<<ETX>>","PeriodicalId":219766,"journal":{"name":"Proceedings. 1988 International Conference on Computer Languages","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-10-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123070120","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}