Within their application domains, domain-specific languages offer substantial gains in expressiveness, productivity, and ease of use, compared with general-purpose programming languages. Despite the many advantages of...
详细信息
ISBN:
(纸本)9789537138097
Within their application domains, domain-specific languages offer substantial gains in expressiveness, productivity, and ease of use, compared with general-purpose programming languages. Despite the many advantages of domain-specific languages, their use has been unduly limited, by a lack of support in developmental environments. Recently, Microsoft introduced some support by constructing domain-specific languages with a plug-in 'DSL Tools for Visual Studio'. This paper gives language designers tips on developing a domain-specific language using this tool and describes the experiences of an end-user of constructing a language. Another contribution of this paper is a comparison of tools with the traditional approach by the implementation of a domain-specific language, done on the same representative language.
Efficient and elegant complex numbers are one of the preconditions for the use of Java in scientific computing. This paper introduces a preprocessor and its translation rules that map a new basic type complex and its ...
详细信息
Efficient and elegant complex numbers are one of the preconditions for the use of Java in scientific computing. This paper introduces a preprocessor and its translation rules that map a new basic type complex and its operations to pure Java, For the mapping it is insufficient to just replace one complex-variable with two double-variables. Compared to code that uses Complex objects and method invocations to express arithmetic operations, the new basic type increases readability and it is also executed faster. On average, the versions of our benchmark programs that use the basic type outperform the class-based versions by a factor of 2 up to 21 (depending on the JVM used). Copyright (C) 2000 John Wiley & Sons, Ltd.
Efficient and elegant complex numbers are one of the preconditions for the use of Java in scientific computing. This paper introduces a preprocessor and its translation rules that map a new basic type complex and its ...
详细信息
The Polaris Program Manipulation System is a production quality tool for source-to-source transformations and complex analysis of Fortran code. In this paper, we describe the motivations for and the implementation of ...
详细信息
The Polaris Program Manipulation System is a production quality tool for source-to-source transformations and complex analysis of Fortran code. In this paper, we describe the motivations for and the implementation of Polaris' internal representation (IR). The IR is composed of a basic abstract syntax tree on top of which exist many layers of functionality. This functionality allows complex operations on the data structure. Further, the IR is designed to enforce the consistency of the internal structure in terms of both the correctness of the data structures and the correctness of the Fortran code being manipulated. In addition, operations on the IR result in the automatic updating of affected data structures such as flow information. We describe how the system's philosophies developed from its predecessor, the Delta prototyping system, and how they were implemented in Polaris' IR. We also provide a number of examples of using the Polaris system.
The use of source-to-source program transformations has proved valuable in improving program performance. The concept of program manipulation is elucidated by describing its role in both conventional optimization and ...
详细信息
The use of source-to-source program transformations has proved valuable in improving program performance. The concept of program manipulation is elucidated by describing its role in both conventional optimization and high level modification of conditional, looping, and procedure structures. An example program fragment written in an Algol-like language is greatly improved by transformations enabled by a user-provided assertion about a data array. A compilation model based on the use of source-to-source program transformations is used to provide a framework for discussing issues of code generation, compilation of high level languages such as APL, and eliminating overhead commonly associated with modular structured programming. Application of the compilation model to several different languages is discussed.
We treat a program as an object of manipulation, determine items of program constancy, and simplify the program based on the constancy. Some motivation for program manipulation is presented, along with two examples of...
详细信息
ISBN:
(纸本)9781450374774
We treat a program as an object of manipulation, determine items of program constancy, and simplify the program based on the constancy. Some motivation for program manipulation is presented, along with two examples of “higher level optimization” written in an Algol-like language. A collection of program transformations and a model of the compilation process in terms of source-to-source transformations are presented. Finally a description of the application of these ideas to an existing programming language is given.
暂无评论