| Daniel C. Wang, Andrew W. Appel, Je L. Korn, and Christopher S. Serra. The Zephyr abstract syntax description language. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 213--228, October 1997. |
....in order to avoid warped ASTs. Additionally, he provides a procedure for transforming a YACC style grammar into a more tasteful grammar. His BNF extension allows annotations that steer the mapping with the same effect as SDF s aliases. He does not discuss automatic name synthesis. AsdlGen [147] provides the most comprehensive approach we are aware of to syntax driven support of component based language tools. It generates library code for various programming languages from abstract syntax definitions. It offers ASDL as abstract syntax definition formalism, and pickles as space efficient ....
D. C. Wang, A. W. Appel, J. L. Korn, and C. S. Serra. The Zephyr abstract syntax description language. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 213--28, Berkeley, CA, October 1997. USENIX Association.
....and the user can create descriptions of entity classes simply by clicking with mouse and typing the required information. 5. RELATED WORK Domain specific languages have been used in various domains such as graphics [16] financial products [3] description and analysis of abstract syntax trees [17], web computing [1] 3D animation [5] robot control [12] etc. These applications have clearly illustrated the advantages of domain specific languages over general purpose languages in areas such as productivity, reliability, maintainability and flexibility. We strongly believe that the design ....
Wang D.C., Appel A.W., Korn J.L., Serra C.S. The Zephyr abstract syntax description language. In [15], pp. 213 -- 228, 1997.
....a collection of abstract syntax trees represented as ATerms of 98 Casl files, the total number of lines of Casl code is 2,506. For more details on Casl and the abstract syntax tree representation as ATerms we refer to Section 6.5.1. lcc Parse Forest: a new back end similar to the ASDL back end [WAKS97] has been added to the lcc compiler [Han99a] This back end maps the internal format used by the lcc compiler to ATerms. The ATerm representation and the ASDL representation of a C program contain equivalent information. 95 6 ATERMS Term # nodes # unique Sharing Memory Bytes nodes ( ....
....in compiler frameworks There exist numerous frameworks for compilers and programming environments that provide facilities for representing intermediate data. Examples are Centaur s VTP [BCD 89] Eli [GHL 92] Cocktail s Ast [Gro92] 104 Discussion 6. 6 SUIF [WFW 94] ASDL [WAKS97] and Montana [Kar98] These systems either provide an explicit intermediate format (Eli, Ast, SUIF) or they provide a programmable interface to the intermediate data (VTP, Montana, ASDL) Lamb s IDL [Lam87] and OMG s IDL [OMG97] are frameworks for representing intermediate data that are not tied ....
[Article contains additional citation context not shown here]
D.C. Wang, A.W. Appel, J.L. Korn, and C.S. Serra. The Zephyr Abstract Syntax Description Language. In Proceedings of the Conference on Domain-Specific Languages, pages 213--227, 1997.
....well as programming languages. Many DSLs are supported by a DSL compiler which generates applications from DSL programs. In this case, the DSL compiler is referred to as application generator in the literature [17] and the DSL as application specific language. Other DSLs, such as YACC [7] or ASDL [77], are not aimed at programming (specifying) complete applications, but rather at generating libraries or components. Also, DSLs exist for which execution consists in generating documents (T E X) or pictures (PIC [7] A common term for DSLs geared towards building business data processing systems ....
....languages. Their domains can be grouped into the following areas: ffl Software Engineering Financial products [12, 22, 24] behavior control and coordination [9, 10] software architectures [54] and databases [39] ffl Systems Software Description and analysis of abstract syntax trees [77, 19, 51], video device driver specifications [76] cache coherence protocols [15] data structures in C [72] and operating system specialization [63] ffl Multi Media Web computing [14, 35, 4, 33] image manipulation [73] 3D animation [29] and drawing [44] ffl Telecommunications String and tree ....
D. C. Wang, A. W. Appel, J. L. Korn, and C. S. Serra. The Zephyr abstract syntax description language. In Ramming
....JJForester is different from JJTree and JTB, because it generates iterating accept methods rather than iterating visitors. JJForester is less ambitious and more lightweight than Demeter Java, which is a programming system rather than a code generator. ASDL (Abstract Syntax Definition Language [26]) comes with a visitor generator for Java (and other languages) It generates non iterating visitors and non iterating accept methods. Thus, traversals are not supported. ASDL does not incorporate parsing or parser generation; it only addresses issues of abstract syntax. In other programming ....
D. C. Wang, A. W. Appel, J. L. Korn, and C. S. Serra. The Zephyr abstract syntax description language. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 213--28, Berkeley, CA, October 15--17 1997. USENIX Association.
....in order to avoid warped ASTs. Additionally, he provides a procedure for transforming a Yacc style grammar into a more tasteful grammar. His BNF extension allows annotations that steer the mapping with the same effect as SDF s aliases. He does not discuss automatic name synthesis. AsdlGen [19] provides the most comprehensive approach we are aware of to syntaxdriven support of component based language tools. It generates library code for various programming languages from abstract syntax definitions. It offers ASDL as abstract syntax definition formalism, and pickles as space efficient ....
D. C. Wang, A. W. Appel, J. L. Korn, and C. S. Serra. The Zephyr abstract syntax description language. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 213--28, Berkeley, CA, Oct. 15--17 1997. USENIX Association.
....JJForester is different from JJTree and JTB, because it generates iterating accept methods rather than iterating visitors. JJForester is less ambitious and more lightweight than Demeter Java, which is a programming system rather than a code generator. ASDL (Abstract Syntax Definition Language [26]) comes with a visitor generator for Java (and other languages) It generates non iterating visitors and non iterating accept methods. Thus, traversals are not supported. ASDL does not incorporate parsing or parser generation; it only addresses issues of abstract syntax. In other programming ....
D. C. Wang, A. W. Appel, J. L. Korn, and C. S. Serra. The Zephyr abstract syntax description language. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 213--28, Berkeley, CA, October 15--17 1997. USENIX Association. 19 Kuipers & Visser 20
....a collection of abstract syntax trees represented as ATerms of 98 Casl files, the total number of lines of Casl code is 2,506. For more details on Casl and the abstract syntax tree representation as ATerms we refer to Section 5.1.2. lcc Parse Forest: a new back end similar to the ASDL back end [WAKS97] has been added to the lcc compiler [Han99] This back end maps the internal format used by the lcc compiler to ATerms. The ATerm representation and the ASDL representation of a C program contain equivalent information. Given this back end the C sources of the lcc compiler itself are mapped to ....
....Intermediate representations in compiler frameworks There exist numerous frameworks for compilers and programming environments that provide facilities for representing intermediate data. Examples are Centaur s VTP [BCD 89] Eli [GHL 92] Cocktail s Ast [Gro92] SUIF [WFW 94] ASDL [WAKS97] and Montana [Kar98] These systems either provide an explicit intermediate format (Eli, Ast, SUIF) or they provide a programmable interface to the intermediate data (VTP, Montana, ASDL) Lamb s IDL [Lam87] and OMG s IDL [OMG97] are frameworks for representing intermediate data that are not tied ....
[Article contains additional citation context not shown here]
D.C. Wang, A.W. Appel, J.L. Korn, and C.S. Serra. The Zephyr Abstract Syntax Description Language. In Proceedings of the Conference on Domain-Specific Languages, pages 213--227, 1997.
....community has decided to use ATERMS [8] as its exchange format. As an alternative possibility, SGML has also been taken in account while considering exchange format options [30] If this choice had to be redone at present, some other formats, among which abstract syntax definition language (ASDL) [36, 16] and eXtensible Markup Language (XML) 38] deserves explicit mention, would merit consideration. ATERMS were originally developed to represent parse trees within the ASF SDF Meta Environment. 4.1 ATERMS ATERMS is a generic formalism for the representation of structured information. It is both ....
D.C. Wang, A.W. Appel, J.L. Korn, and C.S. Serra. The Zephyr Abstract Syntax Description Language. In Proceedings of the Conference on Domain-Specific Languages, pages 213--227, 1997.
....a collection of abstract syntax trees represented as ATerms of 98 Casl les, the total number of lines of Casl code is 2,506. For more details on Casl and the abstract syntax tree representation as ATerms we refer to Section 5.1.2. lcc Parse Forest: a new back end similar to the ASDL back end [WAKS97] has been added to the lcc compiler [Han99] This back end maps the internal format used by the lcc compiler to ATerms. The ATerm representation and the ASDL representation of a C program contain equivalent information. Given this back end the C sources of the lcc compiler itself are mapped to ....
....paradigm. Intermediate representations in compiler frameworks There exist numerous frameworks for compilers and programming environments that provide facilities for representing intermediate data. Examples are Centaur s VTP [ Eli [GHL 92] Cocktail s Ast [Gro92] SUIF [WFW 94] ASDL [WAKS97] and Montana [Kar98] These systems either provide an explicit intermediate format (Eli, Ast, SUIF) or they provide a programmable interface to the intermediate data (VTP, Montana, ASDL) Lamb s IDL [Lam87] and OMG s IDL [OMG97] are frameworks for representing intermediate data that are not tied ....
[Article contains additional citation context not shown here]
D.C. Wang, A.W. Appel, J.L. Korn, and C.S. Serra. The Zephyr Abstract Syntax Description Language. In Proceedings of the Conference on Domain-Specic Languages, pages 213-227, 1997.
....(e.g. ASN.1 and ATerms) are optimized for size down to the bit level, which means that encoding and decoding is awkward and costly. In contrast, XDR s data unit is 4 bytes wide, which makes it easier and faster to read write, but wastes space. The Abstract Syntax Description Language (ASDL) [30] has been designed to describe abstract syntax trees, but any other tree data structure can be expressed as well. The trees are described with a simple declarative language which looks similar to an algebraic data type speci cation. ASDL supports a pre de ned (in nite precision) integer and a ....
Daniel C. Wang, Andrew W. Appel, Je L. Korn, and Christopher S. Serra. The Zephyr abstract syntax description language. Proceedings of the Conference on Domain-Specic Languages, pages 213-228, October 1997.
....transformation from on disk to in memory representation and the design of the API might seem to be tightly coupled and thus trivial, but in practice the designer has quite a bit of leeway. To illustrate this, we brie y describe two exchange formats: the Abstract Syntax Description Language (ASDL) [11] and the binary format of Annotated Terms (ATerms) 10] which is called Binary ATerm Format (BAF) The rest of the paper uses both formats as a running example to illustrate some points under discussion. ASDL and BAF have a lot in common; namely, both are binary formats, both can represent ....
Daniel C. Wang, Andrew W. Appel, Je L. Korn, and Christopher S. Serra. The Zephyr abstract syntax description language. Proceedings of the Conference on Domain-Specic Languages, pages 213-228, October 1997.
....information about the target program. For example, versions 5 and 6 of Microsoft s Visual C write debugging information to program database files. The twist is that the contents of the external symbol table are defined by a grammar written in the Abstract Syntax Description Language (ASDL) [4], and the ASDL tools generate the code that constructs, reads, and writes these symbol tables from this grammar. The resulting debugger is thus smaller and more reliable, because a significant amount of its code is generated automatically from a compact specification. ASDL is part of the National ....
....address space. target nub (client) debugger nub (server) RPC channel symbol table Figure 3. Revised design, in two process mode. Revising cdb to use an external symbol table requires a precise definition of the external representation, and functions to construct, read, and write the data. ASDL [4] automates much of this effort and asdlGen, the one of the ASDL tools, generates most of the necessary code. IMPLEMENTATION As in the original implementation, lcc injects debugging code at the intermediate representation level, but the injected code in the revised implementation is simpler, as ....
D. C. Wang, A. W. Appel, J. L. Korn, and C. S. Serra, `The Zephyr abstract syntax description language', Proceedings of the Conference on Domain-Specific Languages, Santa Barbara, CA, Oct. 1997, pp. 213--227. See http://www.cs.princeton.edu/zephyr/ASDL/.
....more researchers to attack computer systems problems and thus increase the rate at which new research results appear. The NCI includes the Stanford University Intermediate Format [2] and the emerging Zephyr program generation tools, which includes the Abstract Syntax Description Language (ASDL) [3]. ASDL describes the abstract syntax of compiler intermediate representations and other tree like data structures. The ASDL generator, asdlGen, converts ASDL specifications into appropriate data structure definitions, constructors, and functions to read and write these data structures to files in ....
....compilers or in compilers for higher level languages. Second, lcc wasn t designed to be decomposed into reusable program components, so doing so suggests how di#cult it is to retrofit ASDL into existing compilers. ASDL ASDL is a small, domain specific language for describing tree data structures [3]. ASDL specifications are concise and independent of any particular programming language. The ASDL generator, asdlGen, accepts an ASDL specification and emits code that defines a concrete representation for the data structures described in the specification, along with code that constructs, reads, ....
[Article contains additional citation context not shown here]
Daniel C. Wang, Andrew W. Appel, Je# L. Korn, and Christopher S. Serra, `The Zephyr abstract syntax description language', Proceedings of the Conference on Domain-Specific Languages, Santa Barbara, October 1997, pp. 213--227.
....in the size or type of data. Stores are annotated with the size of the data stored. Explicit tree nodes specify byte order. More generally, they specify how to transfer data between storage spaces with different cell sizes. Figure 1 uses the Zephyr Abstract Syntax Description Language (Wang et al. 1997) to show the form of RTLs. Working from the bottom, a register transfer list is a list of guarded effects. Each effect represents the transfer of a value into a storage location, i.e. a store operation. The transfer takes place only if the guard (an expression) evaluates to true. Effects in a ....
Wang, Daniel C., Andrew W. Appel, Jeff L. Korn, and Christopher S. Serra. 1997 (October) . The Zephyr abstract syntax description language. In Proceedings of the 2nd USENIX Conference on Domain-Specific Languages, pages 213--227, Santa Barbara, CA.
....(Token fld5, AbsSyn fld6, AbsSyn fld7) The functions generated also include constructors, a print operation (for debugging) and an overwrite operation to replace one node s contents by another s. Thus, this is kind of a low rent version of the abstract syntax generator described in [16]. Although in principle it does very little, in practice it is extremely useful. We actually have two specifications in this language that we use, one for an abstract syntax which is fairly concrete (the parser actions shown above construct trees in that abstract syntax) and another for a more ....
D. Wang, A. Appel, J. Korn, C. Serra, The Zephyr abstract syntax description language, Proc. USENIX Conf. on Domain-Specific Languages, Santa Barbara, Oct. 1997, 213--227.
....methods of processor construction have little to say about language design. Also, although we include in our program generators a lexer generator (analogous to lex [Levine et al. 92] a parser generator (analogous to yacc [Levine et al. 92] and an abstract syntax generator (analogous to Zephyr [Wang et al. 97] we see the thrust of this work to be quite different from those efforts. In particular, those program generators lack a programming capability, which is what the embedding approach provides for free. It is sometimes argued that program generators don t need a programming capability, but it is ....
D. Wang, A. Appel, J. Korn, C. Serra, The Zephyr abstract syntax description language, Proc. USENIX Conf. on Domain-Specific Languages, Santa Barbara, Oct. 1997, 213--227.
....communication among such components, Zephyr supports creation and interchange of trees: abstract syntax trees, intermediaterepresentation trees, RTL trees, and even trees representing calls to interface functions. These trees are described using Zephyr s Abstract Syntax Description Language (ASDL) (Wang et al. 1997), which provides support for multiple languages. As an example, Figure 3 shows the SUIF front end, which is written in C , connected to a code expander, which is written in ML, connected to VPO, which is written in C. ASDL uses grammars to describe tree data structures. Figure 4 shows an ASDL ....
Wang, Daniel C., Andrew W. Appel, Jeff L. Korn, and Christopher S. Serra. 1997 (October). The Zephyr abstract syntax description language. In Proceedings of the 2nd USENIX Conference on Domain-Specific Languages, pages 213--227, Santa Barbara, CA.
No context found.
Daniel C. Wang, Andrew W. Appel, Je L. Korn, and Christopher S. Serra. The Zephyr abstract syntax description language. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 213--228, October 1997.
No context found.
D. Wang, A. Appel, J. Korn, and C. Serra. The Zephyr Abstract Syntax Description Language. In Proceedings of the Conference on Domain-Specific Languages (DSL-97), pages 213--228, Berkeley, Oct. 15--17 1997. USENIX Association.
No context found.
Daniel C. Wang, Andrew W. Appel, Je L. Korn, and Christopher S. Serra. The Zephyr abstract syntax description language. In Proceedings of the USENIX Conference on Domain-Specific Languages, pages 213--228, October 1997.
No context found.
Daniel C. Wang, Andrew W. Appel, Je# L. Korn, and Christopher S. Serra. The Zephyr abstract syntax description language. In USENIX Conference on Domain-Specific Languages, October 1997.
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