| R. W. Gray, V. P. Heuring, S. P. Levi, A. M. Sloane, and W. M. Waite. Eli: A complete flexible compiler construction system. CACM, 1992. |
....syntactic correctness, of course) Regarding macro processors, we refer to the comprehensive survey that we provide in [3] Our present tool is unique in simultaneously being parameterized with the grammar of the host language and providing strong safety guarantees. Compiler generators, such as [9,1,7,11], have wider ambitions than our work, supporting specifications of full scale compilers including static and dynamic semantics. Invariably, this involves Turing complete computations on parse trees which of course precludes our level of safety guarantees. The extensible grammars of [4] share our ....
R. W. Gray, V. P. Heuring, S. P. Levi, A. M. Sloane, and W. M. Waite. Eli: A complete flexible compiler construction system. CACM, 1992.
....the algorithm works if DR threads are updated as evaluation proceeds. The scheduling algorithm in this paper (like that of Johnson and Fischer) is static and only accepts a subclass of attribute grammars (ordered remote attribute grammars) LIGA [10] part of the Eli compiler construction system [5], has a notation that can reduce the number of copy rules. And Hoover has shown how copy rules can be bypassed dynamically [7] Both of these techniques are mostly orthogonal to the extension of remote attribute grammars and their scheduling. One overlap is that the use of objects reduces the ....
Gray, R. W., V. P. Heuring, S. P. Levi, A. M. Sloane and W. M. Waite, Eli: A complete flexible compiler construction system, Communications of the ACM 35 (1992), pp. 121--131.
....problems. It provides a delicate mechanism for symbol searching and switching among different scopes. It is simple and reusable for some simple name analysis problems. However, it can hardly handle more complicated problems such as overloaded symbols. Oil 2 specification language [1] in Eli [5] supports operator identification, overload resolution for built in operators. It does not support general overload resolution. Implementations of symbol tables are usually complicated due to various requirements on functionality, space complexity, and time complexity. An implementation that ....
Gray, R.W., Heuring, V.P., Levi, S.P., Sloane, A.W., Waite, W.M., "Eli: A Complete, Flexible Compiler Construction System," Communications of the ACM, Vol.35, No.2, Feb. 1992, pp.121-131.
....mapping from the source language to the abstract source language machine as the compiler does. Hence implementation effort is saved if that part of the implementation can be reused. In this paper we demonstrate how interpreters and compilers can be generated from the same specification using Eli [2,15], a powerful toolset for language implementation. The specification of the mapping from the source language to an abstract machine is well supported by this toolset. Such a specification yields a compiler frontend. If an implementation of the abstract machine is added, that specification can also ....
.... encoding Internal address resolution External address resolution Figure 1: Compilation Subproblems 2 Problem Decomposition Many years of research and experience in Compiler Construction led to a generally accepted model for decomposition of compilation tasks, as shown in Figure 1 taken form [2]. Lexical analysis transforms the input program representation from a stream of characters into a stream of tokens, e.g. identifiers, numbers, operators, and keywords. It determines the role of each token within the program structure, and stores and encodes values associated with tokens. ....
[Article contains additional citation context not shown here]
Gray, R. W., Heuring, V. P., Levi, S. P., Sloane, A. M. & Waite, W. M., "Eli: A Complete, Flexible Compiler Construction System," Communications of the ACM 35 (February 1992), 121--131.
....for that language. Hence techniques for language implementation have to be applied for the construction for application generators. That correspondence is shown in Sect. 3 by matching the problem decomposition for our running example to a widely accepted one for conventional compilers. Eli [2,8] is an integrated toolset for language implementation. Eli incorporates state ofthe art know how in the field of compiler construction. Its generating tools and its library of reusable components cover a wide range of language implementation tasks. Users need not be compiler specialists to design ....
....on the design of the specification language and on the components of which application programs are composed of. Many years of research and experience in the field of compiler construction led to a generally accepted model for decomposition of compilation tasks, as shown in Figure 1 taken from [2]. This decomposition model is applicable for the implementation of domain specific languages as well as for programming languages: in case of application generator construction both the structuring and the translation task have to be solved. The encoding phase, typical for machine language ....
[Article contains additional citation context not shown here]
Gray, R. W., Heuring, V. P., Levi, S. P., Sloane, A. M. & Waite, W. M., "Eli: A Complete, Flexible Compiler Construction System", Communications of the ACM 35 (February 1992), 121--131.
....techniques and tools, including some, like UNIX s yacc, that are now routinely used in compiler projects, and some that are more experimental. These techniques and tools can be used in developing implementations for any computer language, not just traditional programming languages. Eli [9] is compiler construction system shell in other words, a system that incorporates a variety of compiler construction tools and is designed primarily to facilitate interactions among those tools. The tools include parser and lexer generators and attribute evaluators, among others. In a recent ....
R.W. Gray, V.P. Heuring, S.P. Levi, A.M. Sloane, W.M. Waite, "Eli: A complete, flexible compiler construction system," Comm. ACM 35(2), Feb. 1992, 121--131.
....(B.1) and major parts of the simple domain rule checks (B.2) ignoring functions and procedures. The system was implemented on SUN4 under SunOS 4.1.1 using C . The implementation is based on the EXPRESS DIS compiler front end ICE which has been implemented by the use of the compiler generator ELI [4]. For parallel distribution we use PVM 3.2 [3] PVM (Parallel Virtual Machine) is the present defacto standard for the portable implementation of distributed applications. It provides a C and Fortran interface for applications on a parallel virtual machine. This virtual machine can be individually ....
Gray, R.W. et al., "Eli: A Complete, Flexible Compiler Construction System." CACM 35, No. 2 (Feb.): 121-131, 1992.
....This process manages the user interface. IMPLEMENTATION We have started the implementation of the above framework on SUN4 under SunOS 4.1.1 using C . The implementation is based on the EXPRESS DIS compiler front end ICE which has been implemented by the use of the compiler generator ELI (Gray et al. 1992). For parallel distribution we use PVM 3.2 (Geist et al. 1993) PVM (Parallel Virtual Machine) is the present defacto standard for the portable implementation of distributed applications. It provides a C and Fortran interface for applications on a parallel virtual machine. This virtual machine can ....
Gray, R.W. et al. 1992. "Eli: A Complete, Flexible Compiler Construction System." CACM 35, No. 2 (Feb.): 121131.
....within a restricted problem domain. It is formulated in a dedicated specification language. An application generator is a translator for that language. Hence techniques for language implementation have to be applied for the construction for application generators. In this paper we show that Eli [2,9], an integrated toolset for language implementation, is well suited for constructing application generators. Eli incorporates state of the art know how in the field of compiler construction. It enables users who need not be compiler specialists to produce language implementations of high quality. ....
....on the design of the specification language and on the components of which application programs are composed of. Many years of research and experience in the field of compiler construction led to a generally accepted model for decomposition of compilation tasks, as shown in Figure 2 taken from [2]. Lexical analysis transforms the input program representation from a stream of characters into a stream of tokens, e.g. identifiers, numbers, operators, and keywords. It determines the role of each token within the program structure, and stores and encodes values associated with tokens. ....
Gray, R. W., Heuring, V. P., Levi, S. P., Sloane, A. M. & Waite, W. M., "Eli: A Complete, Flexible Compiler Construction System," Communications of the ACM 35 (February 1992), 121--131.
....in an increased complexity of the checks. 3 Implementation and Outlook We have started the implementation of the above framework on SUN4 under SunOS 4.1.1 using C . The implementation is based on the EXPRESS DIS compiler front end ICE that is written by the use of the compiler generator ELI [Gray92]. For parallel distribution we use PVM 3.0. PVM (Parallel Virtual Machine) seems to be the present defacto standard for the portable implementation of distributed applications. It provides a C and Fortran interface for applications on a parallel virtual machine. This virtual machine can be ....
Gray, R., W., et.al., "Eli: A Complete, Flexible Compiler Construction System", in CACM, Feb. 92, Vol. 35, No. 2, pages 121-131.
....A more detailed presentation of the above concepts can be found in [MLW93, LMW94a, MLW94a] We have implemented the relevant parts of the above framework on SUN4 using C . The implementation is based on our EXPRESS compiler front end ICE that is written by the use of the compiler generator ELI [Gray92]. For parallel distribution we use PVM 3.2 (Parallel Virtual Machine) PVM directly addresses our needs since the virtual machine can be individually configured for each test. At present, we run performance tests of our framework at the PC 2 Paderborn under various machine configurations and ....
Gray, R., W., et.al., "Eli: A Complete, Flexible Compiler Construction System", in CACM, Feb. 92, Vol. 35, No. 2, pages 121-131.
....SUIF Interface Module for Eli W. M. Waite Department of Electrical and Computer Engineering University of Colorado William.Waite Colorado.edu 1 What is Eli Eli [2] is a domain specific programming environment for language and translator development. It embodies the standard decomposition of the translation process found in any text on compiler construction [1,6] An Eli user is invited to describe the characteristics of their problem in terms of this ....
Gray, R. W., Heuring, V. P., Levi, S. P., Sloane, A. M. & Waite, W. M., "Eli: A Complete, Flexible Compiler Construction System," Communications of the ACM 35 (February 1992), 121--131.
....at compile time. This simplifies the specification, and eases the handling of erroneous input, but makes compile time consistency checks impossible. The system described here has been used for several years to provide the definition table component for translators generated by the Eli system [1]. It had its origins in the requirement of attribute grammars that a query function always return a valid value. This led the first author to the concept of providing a default response at the point of call, since the criteria for validity often depend on the context in which the query is being ....
Gray, R. W., Heuring, V. P., Levi, S. P., Sloane, A. M. &Waite, W. M., "Eli: A Complete, Flexible Compiler Construction System," Communications of the ACM 35 (February 1992), 121--131.
....depend on the particular kind of slice being defined. Since generalised slicing is based on the syntax of the language, slicing problems can be expressed in a syntactic framework such as an attribute grammar. We describe the design of a reusable library module for the Eli compiler generation system[21] that allows slicing tools to be generated from specifications. The module only requires the tool builder to implement attribution to mark the tree. Code provided by the module automatically computes the slice based on the marking. Traditional slicing is a special case of generalised slicing where ....
....the construction of tools based on slicing[14] In this section we show how the regular structure of generalised slicing tools permits an implementation strategy where only the details of the marking process needs to be specified. We implement our tools using the Eli compiler generation system[21]; similar approaches would work in other systems. Eli contains tools for automatic generation of parsers, so the first phase of a generalised slicing tool is easily produced from a context free grammar. Eli generated parsers automatically construct trees according to the abstract syntax of any ....
[Article contains additional citation context not shown here]
R. W. Gray, V. P. Heuring, S. P. Levi, A. M. Sloane, and W. M. Waite, "Eli: a complete, flexible compiler construction system," Communications of the ACM, vol. 35, pp. 121--131, Feb. 1992.
....and saves them the cost of a labor intensive implementation. Creating a special purpose language entails a cost that must be weighed against the cost of creating the implementations by hand. Advances in compiler technology, especially the availability of compiler construction environments like Eli [3], have significantly speeded the development of compilers for such languages: It is now possible to build a robust, maintainable implementation of a language like the one described in this paper in a day. Thus the linguistic approach provides tremendous leverage for labor intensive applications ....
....and maintain. 5 Conclusion We have presented a strategy for creating a general property definition module from a simple linguistic description. The system described here has been used for several years to provide the definition table component for translators generated by the Eli system [3]. Our small investment in the creation of a robust and maintainable compiler for the PDL language has paid off handsomely in simplifying specifications and providing a mechanism for supporting other system components. Both the associative memory module and the PDL compiler are available via ....
Gray, R. W., Heuring, V. P., Levi, S. P., Sloane, A. M. & Waite, W. M., "Eli: A Complete, Flexible Compiler Construction System," Communications of the ACM 35 (February 1992), 121--131.
....the complex problem, however, and can therefore be managed by the expert system in the same way. 5 3. A Specific Solution of the Error Reporting Problem My group at the University of Colorado has developed a programming environment to solve the problem of constructing compilers. Called Eli [Gray 1992], it consists of a collection of compiler construction tools managed by an expert system. The expert system shell that we used is Odin [Clemm 1986] Its knowledge base is a directed graph, called a derivation graph, whose nodes represent data objects. Each node is associated with an atomic ....
Gray, R. W., V. P. Heuring, S. P. Levi, A. M. Sloane and W. M. Waite, "Eli: A Complete, Flexible Compiler Construction System", Comm. of the ACM 35, 2 (Feb. 1992), 121-131.
....the aspects of the problem that distinguish one instance from another, rather than having to deal with those that are common. Eli is a domain specific programming environment that embodies an understanding of the class of problems that involve analyzing text and then translating or interpreting it [5]. Those problems are solved by processors having the structure shown in Figure 1. Thus Eli contains tools that accept declarative specifications and generate modules to implement Figure 1. It also contains tools that analyze the relationships among those specifications and provide the glue to ....
....not significant. If we want to provide a facility for commenting a classification then we must additionally define the form of a comment and specify that character sequences having this form are not significant. Here is one possible description of the non literal character sequences: InputText.gla[5] j fWord: a zA Z] mkidn] CCOMMENT g This macro is attached to an output file. The first line defines a Word by the regular expression [a zA Z] regular expressions are introduced by and terminated by white space) 4] Whenever such a sequence is recognized in the input text, mkidn is ....
Gray, R. W., Heuring, V. P., Levi, S. P., Sloane, A. M. & Waite, W. M., "Eli: A Complete, Flexible Compiler Construction System," Communications of the ACM 35 (February 1992), 121--131.
No context found.
Gray, R. W., Heuring, V. P., Levi, S. P., Sloane, A. M. & Waite, W. M., "Eli: A Complete, Flexible Compiler Construction System," Communications of the ACM 35 (Feb. 1992), 121--131.
No context found.
R. W. Gray, V. P. Heuring, S. P. Levi, A. M. Sloane, W. M. Waite. "Eli: A Complete, Flexible Compiler Construction System", CACM, 35 (February, 1992) 121-131.
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