| C. W. Fraser, D. R. Hanson, and T. A. Proebsting, "Engineering a simple, efficient code-generator generator," ACM LOPLAS, vol. 1, no. 3, pp. 213--226, Sep 1992. |
....given DFT according to the grammar rules. This requires only two passes (bottom up and top down) over the nodes of the input DFT, so that the runtime is linear in the number of DFT nodes. Code generators based on this paradigm can be automatically generated with tools like twig [59] and iburg [62]. The key idea in the approach by Araujo and Malik is the use of register specific instruction patterns or grammar rules. Instead of separating detailed register allocation from code selection as in classical compiler construction, the instruction patterns contain implicit information on the ....
....is based on the DFT model explained in Section III C 1. The source program, given in the programming language DFL, is first transformed into an intermediate representation, consisting of DFTs. The code generator is automatically generated from the HDL processor model by means of the iburg tool [62]. Since iburg requires a tree grammar model of the target instruction set, some preprocessing of the HDL model is necessary. RECORD uses an instruction set extraction phase to transform the structural HDL model into an internal model of the machine instruction set. This internal model captures the ....
C. W. Fraser, D. R. Hanson, and T. A. Proebsting, "Engineering a simple, efficient code generator generator," ACM Lett. Programming Lang. and Syst., vol. 1, no. 3, pp. 213--226, 1992.
....additional information and to be used as conditions for matching in rewrite rules. Another difference between HATS and our approach is that HATS may sometimes use problem specific transformations, which our transformational system does not currently support. Two other systems, Twig [1] and iburg [11], produce code generators that modify the parse tree. Unlike APTS, which makes many passes over the parse tree, these code generator generators work by making only two passes over the parse tree. The first pass finds a set of minimal cost patterns that cover the tree. The second pass executes the ....
Fraser, C. W., D. R. Hanson, and T. A. Proebsting: 1992, `Engineering a Simple, Efficient Code Generator Generator'. ACM Letters on Programming Languages and Systems 1(3), 213--226.
....as little as 50 machine cycles per match. The price which is paid is the loss of flexibility, as the grammars may have neither guarded productions, nor non constant cost functions. Proebsting s thesis[12] gives a comprehensive bibliography of all of the theory which lies behind this tool. IBURG[4], and the closely related tool lburg, used by lcc[3] both perform their dynamic programming at compiler runtime. They accept conditional expressions as production costs, and produce their matchers in ANSI C. The output consists of the source code of the labelling pass, and a skeleton of the ....
C W Fraser, D R Hanson and T A Proebsting. Engineering a simple efficient code-generator generator. Letters on Programming Languages and Systems, Volume 1, Number 3, pages 213-- 226, 1992.
....SLR(1) parsing. The tree pattern matching techniques are divided into two methods by matching methodology, namely, top down tree pattern matching, bottom up tree pattern matching. BURS(Bottom Up Rewrite System) technology produces extremely fast code generators with bottom up tree pattern matching [HOD82, Cha87, BDB90, FHP93, FHP91, PrF92]. However, the code generator generator requires a lot of time and space to generate a code generator for a CISC machine [PrF92] In this paper, the problems of BURS technology and the general description of tree patterns for a machine instructions to solve the problems is addressed. 1.2 ....
....of the code generator, interests in code generator generator based on BURS technology have been growing. Especially, many algorithms have been proposed for the efficient generation of the code generator because BURS technology often requires a lot of time and space to generate a code generator [HOD82, Cha87, BDB90, FHP93, FHP91, PrF92]. Although many algorithms have been suggested for the efficiency, they have still required a lot of time and space. Bottom up tree rewriting is solved by associating a state with the nodes of input tree. The state is a set of tree patterns which could match some tree simultaneously. Hoffmann ....
[Article contains additional citation context not shown here]
Christopher W. Fraser, David R. Hanson and Todd A. Proebsting, "Engineering a Simple, Efficient Code Generator Generator.", ACM Letters on Programming Languages and Systems, Vol.27, No.6, pp.331-340, 1992.
....a sub pattern is then connected to the remaining rules via additional non terminals. Pr.IEEE paper Formatted December 13, G. Goossens et al. Embedded Software : Design Technologies 11 Examples of code selector generators using regular tree grammars include Twig [38] Burg [39] Iburg [40], and the Graham Glanville code generators 5 [41] Several recent compilers for embedded processors have adopted Iburg for the code selection phase, such as CBC [36] Record [42] and the Spam project compiler [43] In the CBC compiler the regular tree grammar, that serves as the input to ....
....proves that these strong normal forms are optimal for the canonical problem introduced above. Dynamic programming is also used in more recent code selection approaches for processors with a heterogeneous register structure, such as the code selectors generated by Twig [38] Beg [53] and Iburg [40]. Again, dynamic programming is used for cost calculation. However, this time a separate cost is calculated per register class, at each of the nodes in the subject tree. To keep the problem tractable, a number of simplifications are made. First of all, it is assumed that every register class has ....
C.W. Fraser et al., "Engineering a simple, efficient code-generator generator," ACM Letters on Prog. Lang. and Syst., vol. 1, no. 3, pp. 213--226, Sept. 1993.
....our original trees are always binary we can always match patterns which have multiple arguments. The theory of tree rewriting originated with Aho and Johnson[1] as long ago as 1976. It has become widely used only in the last few years. mburg is roughly comparable in its capabilities with iburg[2], although the implementation is significantly different. It is possible to create faster tree rewriters using the so called burs theory , although to take advantage of this potential speed increase requires a significant loss of flexibility, as in the burg tool. 3] 2 Bottom up tree rewriting ....
C W Fraser and D R Hanson, and T A Proebsting. Engineering a simple efficient codegenerator generator, Letters on Programming Languages and Systems , Vol 1(3), 213--226, 1992.
No context found.
C. W. Fraser, D. R. Hanson, and T. A. Proebsting, "Engineering a simple, efficient code-generator generator," ACM LOPLAS, vol. 1, no. 3, pp. 213--226, Sep 1992.
No context found.
C. W. Fraser, D. R. Hanson, T. A. Proebsting. "Engineering a Simple, Efficient Code Generator Generator". In ACM Letters on Programming Languages and Systems, 1, 3 (Sept. 1992).
No context found.
C.W. Fraser, D.R. Hanson, T.A. Proebsting, "Engineering a simple, efficient code-generator generator", ACM Letters of Prog. Lang. and Systems, Vol. 1, No. 3, Sept. 1992, pp. 213--226.
No context found.
C.W. Fraser, D.R. Hanson, T.A. Proebsting, "Engineering a simple, efficient code-generator generator", ACM Letters of Prog. Lang. and Systems, Vol. 1, No. 3, Sept. 1992, pp. 213--226.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC