An attribute grammars describes a computation over a recursive data structure (syntax tree). The corresponding evaluator can be directly encoded as a set of lazy evaluated functions. In this paper we show how this set may be converted into a larger set of strict functions and a collection of new data types. We call this process, which is based on a global dataflow analysis, strictification. The resulting set of small functions and the new data types are amenable to further analysis and optimization. Especially the elimination transformation leads to very efficient programs, both in time and space, and which are much more suited for incremental (i.e. memoized) and parallel evaluation
In this paper we present higher-order attributed tree transducers as a formal computational model fo...
Building verified compilers is difficult, especially when complex analyses such as type checking or ...
AbstractBuilding verified compilers is difficult, especially when complex analyses such as type chec...
This paper describes the precise specication, design, analysis, implementation, and measurements of ...
Knuth's attribute grammars are a powerful, natural way of specifying translations such as those invo...
The attribute dependence graph of a syntax tree may be partitioned into disjoint regions. Attribute ...
A computation sequence for a derivation tree specifies a way of walking through the tree evaluating...
An evaluator for an attribute grammar takes a derivation tree as input and produces a computation s...
Properties of programs can be formulated using various techniques: dataflow analysis, abstract inter...
AbstractEvaluation of attributes w.r.t. an attribute grammar can be obtained by inductively computin...
Abstract. Properties of programs can be formulated using various tech-niques: dataflow analysis, abs...
AbstractExpression evaluation in lazy applicative languages is usually implemented by an expensive m...
International audienceEvaluation of attributes w.r.t. an attribute grammar can be obtained by induct...
Amtoft has formulated an “on-line ” constraint normalization method for solving a strict-ness infere...
A programming language is an essential ingredient for writing concise, maintainable, and error-free ...
In this paper we present higher-order attributed tree transducers as a formal computational model fo...
Building verified compilers is difficult, especially when complex analyses such as type checking or ...
AbstractBuilding verified compilers is difficult, especially when complex analyses such as type chec...
This paper describes the precise specication, design, analysis, implementation, and measurements of ...
Knuth's attribute grammars are a powerful, natural way of specifying translations such as those invo...
The attribute dependence graph of a syntax tree may be partitioned into disjoint regions. Attribute ...
A computation sequence for a derivation tree specifies a way of walking through the tree evaluating...
An evaluator for an attribute grammar takes a derivation tree as input and produces a computation s...
Properties of programs can be formulated using various techniques: dataflow analysis, abstract inter...
AbstractEvaluation of attributes w.r.t. an attribute grammar can be obtained by inductively computin...
Abstract. Properties of programs can be formulated using various tech-niques: dataflow analysis, abs...
AbstractExpression evaluation in lazy applicative languages is usually implemented by an expensive m...
International audienceEvaluation of attributes w.r.t. an attribute grammar can be obtained by induct...
Amtoft has formulated an “on-line ” constraint normalization method for solving a strict-ness infere...
A programming language is an essential ingredient for writing concise, maintainable, and error-free ...
In this paper we present higher-order attributed tree transducers as a formal computational model fo...
Building verified compilers is difficult, especially when complex analyses such as type checking or ...
AbstractBuilding verified compilers is difficult, especially when complex analyses such as type chec...