We propose a framework for processing source code support- ing multiple programminglanguages, named UNICOEN. UNICOEN reduces development costs and differences be- tween tool implementations. We evaluated UNICOEN by d...
详细信息
The search for better techniques to teach computerprogramming is paramount in order to improve the students' learning experiences. Several approaches have been proposed throughout the years, usually through techn...
详细信息
Historically, programmable controllers have been programmed graphically with relay ladder logic (RLL) constructs. Users have recently been overwhelmed by new graphical control languages. To understand the various lang...
详细信息
Historically, programmable controllers have been programmed graphically with relay ladder logic (RLL) constructs. Users have recently been overwhelmed by new graphical control languages. To understand the various languages and identify the applications they are suited to, it is necessary to examine the whole basic philosophy of the language. Was the language developed for state control such as the cam timer problem or for regulatory control such as controlling temperature in a paint booth? How well are both problems solved? Are other languages required to solve the target control problem? This paper charts the role and development of control languages from RLL to high-level calculation languages.
Twenty-seven papers from this symposium deal with the general topic of computer programming languages. Among the subjects covered are: portable compilers, compiler code generation, computer metatheory, various program...
详细信息
Twenty-seven papers from this symposium deal with the general topic of computer programming languages. Among the subjects covered are: portable compilers, compiler code generation, computer metatheory, various programminglanguages, algorithms, and syntax and semantics of programminglanguages. Seventeen papers are indexed separately.
Model processing tasks, like model checking, merging, slicing, and synthesis, need efficient and maintainable mechanisms to define models, as well as to query, compare and manipulate information in them. Although the ...
详细信息
Model processing tasks, like model checking, merging, slicing, and synthesis, need efficient and maintainable mechanisms to define models, as well as to query, compare and manipulate information in them. Although the Object Constraint Language (OCL) is primarily meant for expressing constraints for UML models, it can also be used for various model processing purposes. In this paper we discuss the needs for, and possibilities of, using OCL for processing models, and show how we have applied and extended OCL. We also introduce a model processing tool using OCL as an integral part of model manipulation facilities. We especially emphasise the need of combined use of OCL and programminglanguages in UML model processing.
Basic aspects of the linguistics of various programming language constructs are surveyed: their concrete grammatical and abstract syntactical specifications;their possible translation into lambda -algebra expressions ...
详细信息
Basic aspects of the linguistics of various programming language constructs are surveyed: their concrete grammatical and abstract syntactical specifications;their possible translation into lambda -algebra expressions and concrete, low-level machine-like simple statement sequences, as well as their more abstract denotational semantics description. The aim is to present varieties of analysis and synthesis tools used in understanding and designing meta- and source (programming) languages. The emphasis is on abstraction, and on enabling the student to follow the current literature on denotational semantics in particular and programming language design in general.
A job control language need not be a ″new″ language, but can be embedded in most existing programminglanguages. As an example, the necessary extensions for Algol are outlined and several applications of them are gi...
详细信息
A job control language need not be a ″new″ language, but can be embedded in most existing programminglanguages. As an example, the necessary extensions for Algol are outlined and several applications of them are given. Some aspects of the implementation and the requirements to the operating system are discussed. A complete list of all requests from job to operating system is given.
A major research goal for compilers and environments is the automatic derivation of tools from formal specifications. However, the formal model of the language is often inadequate;in particular, LR(k) grammars are una...
详细信息
A major research goal for compilers and environments is the automatic derivation of tools from formal specifications. However, the formal model of the language is often inadequate;in particular, LR(k) grammars are unable to describe the natural syntax of many languages, such as C++ and Fortran, which are inherently non-deterministic. Designers of batch compilers work around such limitations by combining generated components with ad hoc techniques (for instance, performing partial type and scope analysis in tandem with parsing). Unfortunately, the complexity of incremental systems precludes the use of batch solutions. The inability to generate incremental tools for important languages inhibits the widespread use of language-rich interactive environments. We address this problem by extending the language model itself, introducing a program representation based on parse dags that is suitable for both batch and incremental analysis. Ambiguities unresolved by one stage are retained in this representation until further stages can complete the analysis, even if the resolution depends on further actions by the user. Representing ambiguity explicitly increases the number and variety of languages that can be analyzed incrementally using existing methods. To create this representation, we have developed an efficient incremental parser for general context-free grammars. Our algorithm combines Tomita's generalized LR parser with reuse of entire subtrees via state-matching. Disambiguation can occur statically, during or after parsing, or during semantic analysis (using existing incremental techniques);program errors that preclude disambiguation retain multiple interpretations indefinitely. Our representation and analyses gain efficiency by exploiting the local nature of ambiguities: for the SPEC95 C programs, the explicit representation of ambiguity requires only 0.5% additional space and less than 1% additional time during reconstruction.
The Concurrent Prolog predicate for merging n input streams is investigated, and a compilation technique for getting its efficient code is presented. Using the technique, data are transferred with a delay independent ...
详细信息
ISBN:
(纸本)4274072215
The Concurrent Prolog predicate for merging n input streams is investigated, and a compilation technique for getting its efficient code is presented. Using the technique, data are transferred with a delay independent of n. It is shown that the addition and the removal of an input stream can be done within an average time of O(1). The predicate for distributing data on an input stream to n output streams can also be realized as efficiently as n-ary merge. The compilation technique for the distribute predicate can further be applied to the implementation of mutable arrays that allow constant-time accessing and updating. These results are also applicable to PARLOG.
暂无评论