Abstract. The development and implementation of source-to-source code transformations based on high-level intermediate representations (IRs) is a labor-intensive, error-prone task. It tends to result in large code bases which are hard to read and maintain. Although not encoun-tered within widely used source-to-source compiler infrastructures, trans-formation systems tackle this issue by utilizing declarative descriptions of unification-based term rewriting rules. However, unification lacks the ability of (arbitrarily) deep term inspection and is limited to tree nodes exhibiting a fixed arity – a property not generally satisfied by high-level IRs or programming languages. In this paper we present a declarative tree transformation system whic...
AbstractImplementation of a rule-based transformation engine consists of several tasks with various ...
We present an intermediate representation (IR) for a Java just in time (JIT) compiler written in Jav...
Most compilers have a single core intermediate representation (IR) (e.g., LLVM) sometimes complement...
The intermediate representations (IR) used by most compilers have an operational semantics. The node...
High level data structures are a cornerstone of modern programming and at the same time stand in the...
Compilers commonly translate an input program into an intermediate representation (IR) before optimi...
Intermediate representations (IR) are a key issue both for compilers as well as for reverse engineer...
Designing compiler intermediate representations (IRs) is often a manual process that makes explorati...
One of the most difficult tasks a compiler writer faces is the construction of the code generator. T...
A binary rewriter is a piece of software that accepts a binary executable program as input, and prod...
AbstractA major problem in deriving a compiler from a formal definition is the production of correct...
This paper describes methods and procedures used for code analysis and transformation. It contains b...
Abstract. Configurable computing relies on the expression of a computation as a circuit. Its main pu...
Code generators for modern compilers are difficult to construct. To build a code generator that prod...
Applications that deal with editing of structured data over multiple iterations, such as structure e...
AbstractImplementation of a rule-based transformation engine consists of several tasks with various ...
We present an intermediate representation (IR) for a Java just in time (JIT) compiler written in Jav...
Most compilers have a single core intermediate representation (IR) (e.g., LLVM) sometimes complement...
The intermediate representations (IR) used by most compilers have an operational semantics. The node...
High level data structures are a cornerstone of modern programming and at the same time stand in the...
Compilers commonly translate an input program into an intermediate representation (IR) before optimi...
Intermediate representations (IR) are a key issue both for compilers as well as for reverse engineer...
Designing compiler intermediate representations (IRs) is often a manual process that makes explorati...
One of the most difficult tasks a compiler writer faces is the construction of the code generator. T...
A binary rewriter is a piece of software that accepts a binary executable program as input, and prod...
AbstractA major problem in deriving a compiler from a formal definition is the production of correct...
This paper describes methods and procedures used for code analysis and transformation. It contains b...
Abstract. Configurable computing relies on the expression of a computation as a circuit. Its main pu...
Code generators for modern compilers are difficult to construct. To build a code generator that prod...
Applications that deal with editing of structured data over multiple iterations, such as structure e...
AbstractImplementation of a rule-based transformation engine consists of several tasks with various ...
We present an intermediate representation (IR) for a Java just in time (JIT) compiler written in Jav...
Most compilers have a single core intermediate representation (IR) (e.g., LLVM) sometimes complement...