There are 25 papers presented in the symposiumproceedings on languageissues in programmingenvironments. Topics discussed in these papers object based, rule-based, side-effect-free, Mesa, Cedar, and logic programmin...
详细信息
ISBN:
(纸本)0897911652
There are 25 papers presented in the symposiumproceedings on languageissues in programmingenvironments. Topics discussed in these papers object based, rule-based, side-effect-free, Mesa, Cedar, and logic programmingenvironments. Software environment is also considered.
The programming system generator developed at the Technical University of Darmstadt generates sophisticated interactive programmingenvironments.from formal language definitions. From a formal, entirely non-procedural...
详细信息
ISBN:
(纸本)0897911652
The programming system generator developed at the Technical University of Darmstadt generates sophisticated interactive programmingenvironments.from formal language definitions. From a formal, entirely non-procedural definition of the language's syntax, context conditions and denotaticial semantics, it produces a hybrid editor, an interpreter and a library system. The editor allows both structure editing and text editing, guaranteeing immediate recognition of syntactic and semantic errors. The generator has been used to generate environments.for PASCAL, MODULA-2 and the formal language definition language itself. A brief description of the generated environments.and the definition language is given, and our experiences with formal language definitions are discussed from the language definer's point of view as well as from the programmer's point of view using the generated environments.
Lisp and its successors provide the programmer with a powerful single tool in which he can write, modify, debug and execute programs. Side effects play a crucial role in these programmingenvironments. We propose an a...
详细信息
ISBN:
(纸本)0897911652
Lisp and its successors provide the programmer with a powerful single tool in which he can write, modify, debug and execute programs. Side effects play a crucial role in these programmingenvironments. We propose an alternative approach to debugging that doesn't rely on side effects. Then we describe an implementation of our approach in a purely functional language.
The components of a programming environment must communicate with the user while maintaining a state that is constantly evolving. We introduce the 'dialogue', an abstraction of such components, and we implemen...
详细信息
ISBN:
(纸本)0897911652
The components of a programming environment must communicate with the user while maintaining a state that is constantly evolving. We introduce the 'dialogue', an abstraction of such components, and we implement a dialogue function in a purely applicative language. The dialogue function exploits the properties of lasy evaluation and recursion to implement communication and state through recursively defined streams. We show how to define programming environment components using dialogues. The components of the resulting programming environment are consistent in their treatment of communication and state.
People everywhere are developing multi-window, integrated programmingenvironments.for their favorite computers and languages. This paper describes the Mesa programming facilities of the Xerox Development Environment ...
详细信息
ISBN:
(纸本)0897911652
People everywhere are developing multi-window, integrated programmingenvironments.for their favorite computers and languages. This paper describes the Mesa programming facilities of the Xerox Development Environment (XDE). This paper describes the programming environment: the user illusion, the set of programming tools, and the facilities available for augmenting the environment.
A model for packages is introduced, along with operations for their manipulation. The model is based on the unifying principle that programs should be represented by trees, and packages by substitutions on trees. Oper...
详细信息
ISBN:
(纸本)0897911652
A model for packages is introduced, along with operations for their manipulation. The model is based on the unifying principle that programs should be represented by trees, and packages by substitutions on trees. Operations are defined on packages, that allow the construction of any package from a collection of basic packages. A programming environment, based on this model, would allow manipulations and operations that are not possible in current languages. Information hiding and encapsulation are automatically supported by the model. A typing mechanism is presented, which allows polymorphic types. The typing does not affect the typeless aspect of the model.
It has been claimed that logic programming offers outstanding possibilities for new concepts in programmingenvironments. But there has been little progress reported in the field of logic programmingenvironments. Thi...
详细信息
ISBN:
(纸本)0897911652
It has been claimed that logic programming offers outstanding possibilities for new concepts in programmingenvironments. But there has been little progress reported in the field of logic programmingenvironments. This summary describes our current work on a generic software engineering shell for logic programming. We use reflection and the amalgamation of meta-level language with the object level to express and support the incremental character of specifying/programming. An important facet of the shell is that we formalize some aspects of programming methodology and provide heuristics for avoiding errors. These heuristics formalize what experienced programmers may already know. The shell bears similarities to an expert system since it has explanation mechanisms and provides programming-knowledge acquisition. Currently, it supports single user Prolog programming and runs in C-Prolog. The shell is generic in that it provides support for activities ranging from artificial intelligence programming to formal specification development.
This paper presents a simple programming system based on a clear separation of value-oriented programming and object-oriented programming. The value-oriented component is a conventional functional programminglanguage...
详细信息
ISBN:
(纸本)0897911652
This paper presents a simple programming system based on a clear separation of value-oriented programming and object-oriented programming. The value-oriented component is a conventional functional programminglanguage. The object-oriented component is based on a model of objects and values connected by relations, and on production system-like rules that determine the alteration of these relations through time. It is shown that these few basic ideas permit simple prototyping of a software development environment.
The ability to generate language-based editors depends on the existence of a powerful, language-independent model of editing. A model is proposed in which programs are represented as attributed abstract-syntax trees w...
详细信息
ISBN:
(纸本)0897911652
The ability to generate language-based editors depends on the existence of a powerful, language-independent model of editing. A model is proposed in which programs are represented as attributed abstract-syntax trees with an associated relational database. Relations can depend on the state of the attributed tree, and attributes can depend on the values in relations, provided there are no circular dependencies. The power and the limitations of relational operations are demonstrated with respect to the support of staticsemantic checking, anomaly detection, an interrogation facility, and the ability to define alternate views of a program. The advantages of the hybrid systems over both the purely relational and purely attribute-based systems are presented, and a prototype implementation of an editor generator is discussed. New algorithms are given for query evaluation and incremental view updating motivated by the efficiency requirements of interactive editing under the defined model.
暂无评论