Results 1 -
8 of
8
The Syntax Definition Formalism SDF - Reference Manual
, 2001
"... SDF is a formalism for the definition of syntax which is comparable to BNF in some respect, but has a wider scope in that it also covers the definition... ..."
Abstract
-
Cited by 132 (23 self)
- Add to MetaCart
SDF is a formalism for the definition of syntax which is comparable to BNF in some respect, but has a wider scope in that it also covers the definition...
Semantics of Programming Languages: A Tool-Oriented Approach
- ACM SIGPLAN Notices
, 1999
"... By paying more attention to semantics-based tool generation, programming language semantics can significantly increase its impact. Ultimately, this may lead to "Language Design Assistants" incorporating substantial amounts of semantic knowledge. 1991 ACM Computing Classification System: D.2.2, D. ..."
Abstract
-
Cited by 30 (5 self)
- Add to MetaCart
By paying more attention to semantics-based tool generation, programming language semantics can significantly increase its impact. Ultimately, this may lead to "Language Design Assistants" incorporating substantial amounts of semantic knowledge. 1991 ACM Computing Classification System: D.2.2, D.3.1, D.3.4, F.3.2 Keywords and Phrases: semantics of programming languages, tool generation, language development system, language design assistant, domain-specific language, compiler toolkit, software renovation tool Note: Submitted to ACM SIGPLAN Notices. This research was supported in part by the Telematica Instituut under the Domain-Specific Languages project. 1 The Role of Programming Language Semantics Programming language semantics has lost touch with large groups of potential users [39]. Among the reasons for this unfortunate state of a#airs, one stands out. Semantic results are rarely incorporated in practical systems that would help language designers to implement and test a ...
HARMONIA: A Flexible Framework for Constructing Interactive Language-Based Programming Tools
, 2001
"... Despite many attempts in both research and industry to develop successful language-based software engineering tools, the resulting systems consistently fail to become adopted by working programmers. One of the main reasons for this failure is the closed-world view adopted by these systems: it is vir ..."
Abstract
-
Cited by 20 (6 self)
- Add to MetaCart
Despite many attempts in both research and industry to develop successful language-based software engineering tools, the resulting systems consistently fail to become adopted by working programmers. One of the main reasons for this failure is the closed-world view adopted by these systems: it is virtually impossible to integrate them with any outside technology. To address this problem, and to create a research infrastructure, we created HARMONIA, an open framework for constructing interactive language-based programming tools. This report presents the architecture of the HARMONIA framework. We brie review the design of the two earlier Berkeley projects, the PAN and ENSEMBLE systems, discuss their in on the design of HARMONIA, and present the organization and interactions of the major components in the HARMONIA framework. This work was supported in part by NSF grant CCR-9988531, by NSF Graduate Research Fellowship, and by Sun Microsystems Fellowship to Marat Boshernitsan. Contents 1
The Pan Language-Based Editing System
- ACM Transactions on Software Engineering and
, 1991
"... Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information conc ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
Powerful editing systems for developing complex software documents are difficult to engineer. Besides requiring efficient incremental algorithms and complex data structures, such editors must integrate smoothly with the other tools in the environment, maintain a sharable database of information concerning the documents being edited, accommodate flexible editing styles, provide a consistent, coherent, and empowering user interface, and support individual variations and project-wide configurations. Pan is a language-based editing and browsing system that exhibits these characteristics. This paper surveys the design and engineering of Pan, paying particular attention to a number of issues that pervade the system: incremental checking and analysis, information retention in the presence of change, tolerance for errors and anomalies, and extension facilities.
Graph Rewrite Systems for Program Optimization
, 2000
"... Graph rewrite systems can be used to specify and generate program optimizations. For termination of the systems... ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
Graph rewrite systems can be used to specify and generate program optimizations. For termination of the systems...
Metaprogramming in the Large
- Jarzabek (Eds.), Generative and Component-Based Software Engineering. Lecture Notes in Computer Science
, 2000
"... Software evolution demands continuous adaptation of software systems to continuously changing requirements. Our goal is to cope with software evolution by automating program transformation and system reconfiguration. We show that this can be achieved with a static metaprogramming facility and a libr ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
Software evolution demands continuous adaptation of software systems to continuously changing requirements. Our goal is to cope with software evolution by automating program transformation and system reconfiguration. We show that this can be achieved with a static metaprogramming facility and a library of suitable metaprograms. We show that former approaches of program transformations are not sufficient for large object oriented systems and outline two base transformations that fill the gap.
Strengthening invariants for efficient computation
- in Conference Record of the 23rd Annual ACM Symposium on Principles of Programming Languages
, 2001
"... This paper presents program analyses and transformations for strengthening invariants for the purpose of efficient computation. Finding the stronger invariants corresponds to discovering a general class of auxiliary information for any incremental computation problem. Combining the techniques with p ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
This paper presents program analyses and transformations for strengthening invariants for the purpose of efficient computation. Finding the stronger invariants corresponds to discovering a general class of auxiliary information for any incremental computation problem. Combining the techniques with previous techniques for caching intermediate results, we obtain a systematic approach that transforms non-incremental programs into ecient incremental programs that use and maintain useful auxiliary information as well as useful intermediate results. The use of auxiliary information allows us to achieve a greater degree of incrementality than otherwise possible. Applications of the approach include strength reduction in optimizing compilers and finite differencing in transformational programming.
Application Software, Domain-Specific Languages, and Language Design Assistants
, 2000
"... While application software does the real work, domain-specific languages (DSLs) are tools to help produce it efficiently, and language design assistants in turn are meta-tools to help produce DSLs quickly. DSLs are already in wide use (HTML for web pages, Excel macros for spreadsheet applications, V ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
While application software does the real work, domain-specific languages (DSLs) are tools to help produce it efficiently, and language design assistants in turn are meta-tools to help produce DSLs quickly. DSLs are already in wide use (HTML for web pages, Excel macros for spreadsheet applications, VHDL for hardware design, : : :), but many more will be needed for both new as well as existing application domains. Language design assistants to help develop them currently exist only in the basic form of language development systems. After a quick look at domain-specific languages, and especially their relationship to application libraries, we survey existing language development systems and give an outline of future language design assistants. 1998 ACM Computing Classi cation System: D.3 Keywords and Phrases: application software, application domain, domain-speci c language, task-oriented language, end user programming, language development system, language-based tool generation, langu...

