Results 1 
8 of
8
BURG  Fast Optimal Instruction Selection and Tree Parsing
 SIGPLAN Notices
, 1991
"... This document describes only that fraction of the BURS model that is required to use Burg. Readers interested in more detail might start with Reference [BDB90]. Other relevant documents include References [Kro75, HO82, HC86, Cha87, PLG88, PL87, BMW87, Hen89, FH91, Pro91] ..."
Abstract

Cited by 40 (2 self)
 Add to MetaCart
This document describes only that fraction of the BURS model that is required to use Burg. Readers interested in more detail might start with Reference [BDB90]. Other relevant documents include References [Kro75, HO82, HC86, Cha87, PLG88, PL87, BMW87, Hen89, FH91, Pro91]
Code generation based on formal BURS theory and heuristic search
 Acta Informatica
, 1997
"... BURS theory provides a powerful mechanism to efficiently generate pattern matches in a given expression tree. BURS, which stands for bottomup rewrite system, is based on term rewrite systems, to which costs are added. We formalise the
underlying theory, and derive an algorithm that computes all pat ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
BURS theory provides a powerful mechanism to efficiently generate pattern matches in a given expression tree. BURS, which stands for bottomup rewrite system, is based on term rewrite systems, to which costs are added. We formalise the
underlying theory, and derive an algorithm that computes all pattern matches. This algorithm terminates if the term rewrite system is finite. We couple this algorithm with
the wellknown search algorithm A* that carries out pattern selection. The search algorithm is directed by a cost heuristic that estimates the minimum cost of code that
has yet to be generated. The advantage of using a search algorithm is that we need to compute only those costs that may be part of an optimal rewrite sequence (and not the costs of all possible rewrite sequences as in dynamic programming). A system that implements the algorithms presented in this work has been built.
Bottomup Tree Acceptors
 Science of Computer Programming
, 1986
"... This paper deals with the formal derivation of an efficient tabulation algorithm for tabledriven bottomup tree acceptors. Bottomup tree acceptors are based on a notion of match sets. First we derive a naive acceptance algorithm using dynamic computation of match sets. Tabulation of match sets lead ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
This paper deals with the formal derivation of an efficient tabulation algorithm for tabledriven bottomup tree acceptors. Bottomup tree acceptors are based on a notion of match sets. First we derive a naive acceptance algorithm using dynamic computation of match sets. Tabulation of match sets leads to an efficient acceptance algorithm, but tables may be so large that they can not be generated due to lack of space. Introduction of a convenient equivalence relation on match sets reduces this effect and improves the tabulation algorithm. 1 Introduction Nowadays, many parts of a compiler can be generated automatically. For instance, the automatic generation of lexical and syntactic analyzers using notations based on regular expressions and contextfree grammars is commonly used (see e.g. [1]). However, much research is still going on in the field of universal codegenerator generators, which take a description of a machine as input and deliver a (good) code generator for that machine. C...
A New Algorithm for Linear Regular Tree Pattern Matching
 Theoretical Computer Science
, 1998
"... ..."
Code Generation Techniques
 In INFOCOM (1
, 1992
"... Optimal instruction scheduling and register allocation are NPcomplete problems that require heuristic solutions. By restricting the problem of register allocation and instruction scheduling for delayedload architectures to expression trees we are able to find optimal schedules quickly. This thesis ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Optimal instruction scheduling and register allocation are NPcomplete problems that require heuristic solutions. By restricting the problem of register allocation and instruction scheduling for delayedload architectures to expression trees we are able to find optimal schedules quickly. This thesis presents a fast, optimal code scheduling algorithm for processors with a delayed load of 1 instruction cycle. The algorithm minimizes both execution time and register use and runs in time proportional to the size of the expression tree. In addition, the algorithm is simple
Code Generation = A* + BURS
 Compiler Construction
, 1996
"... A system called BURS that is based on term rewrite systems and a search algorithm A* are combined to produce a code generator that generates optimal code. The theory underlying BURS is redeveloped, formalised and explained in this work. The search algorithm uses a cost heuristic that is derived fro ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
A system called BURS that is based on term rewrite systems and a search algorithm A* are combined to produce a code generator that generates optimal code. The theory underlying BURS is redeveloped, formalised and explained in this work. The search algorithm uses a cost heuristic that is derived from the term rewrite system to direct the search. The advantage of using a search algorithm is that we need to compute only those costs that may be part of an optimal rewrite sequence.
Extending GrahamGlanville Techniques for Optimal Code Generation
"... We propose a new technique for constructing codegenerator generators, which combines the advantages of the GrahamGlanville parsing technique and the bottomup tree parsing approach. Machine descriptions are similar to Yacc specifications. The construction effectively generates a pushdown automaton ..."
Abstract
 Add to MetaCart
We propose a new technique for constructing codegenerator generators, which combines the advantages of the GrahamGlanville parsing technique and the bottomup tree parsing approach. Machine descriptions are similar to Yacc specifications. The construction effectively generates a pushdown automaton as the matching device. This device is able to handle ambiguous grammars, and can be used to generate locally optimal code without the use of heuristics. Cost computations are performed at preprocessing time. The class of regular tree grammars augmented with costs that can be handled by our system properly includes those that can be handled by bottomup systems based on finitestate tree parsing automata. Parsing time is linear in the size of the subject tree. We have tested the system on specifications for some systems and report table sizes.