| Y. Smaragdakis and D. Batory. Scoping constructs for program generators. In Generative and Component-Based Software Engineering Symposium (GCSE), 1999. Earlier version in Technical Report UTCS-TR-96-37. |
....17 Chapter 2 Linguistic Abstractions and their Implementation Epigrams are macros, since they are executed at read time. Alan Perlis, Epigrams on Programming [43] 2. 1 Principles Linguistic abstractions take many forms and are an established part of programmers toolkits in diverse domains [1, 8, 12, 26, 36, 39, 48, 55]. We shall rst consider a particularly useful special case of linguistic abstractions called macros. Macros in Scheme are tree transformers that rewrite concrete syntax trees. In traditional Scheme programs, program text is interspersed with macro de nitions. A macro preprocessor gathers these de ....
Smaragdakis, Y. and D. Batory. Scoping constructs for program generators. Technical Report 96-37, Department of Computer Sciences, University of Texas at Austin, December 1997.
No context found.
Y. Smaragdakis and D. Batory. Scoping constructs for program generators. In Generative and Component-Based Software Engineering Symposium (GCSE), 1999. Earlier version in Technical Report UTCS-TR-96-37.
No context found.
Y. Smaragdakis and D. Batory. Scoping constructs for program generators. In Generative and Component-Based Software Engineering Symposium (GCSE), 1999. Earlier version in Technical Report UTCS-TR-96-37.
No context found.
Yannis Smaragdakis and Don Batory. Scoping Constructs for Program Generators. Technical Report 96-37, Department of Computer Sciences, University of Texas at Austin, December 1996.
....explain such a feature called generation scoping that solves this problem for program generation tools like Jakarta. This document supersedes Section 2.2 (Name Mangling) of the Jakarta: A Language for Software Generators , Jakarta TR 96 1. This paper also assumes as background reading [1] Scoping Constructs for Program Generators by Smaragdakis and Batory. So [1] should be read before proceeding further. 2 Generation Environments Generation environments are objects that programmers use to generate code with specific variable bindings [1] Microsoft s IP was used as the ....
....for program generation tools like Jakarta. This document supersedes Section 2.2 (Name Mangling) of the Jakarta: A Language for Software Generators , Jakarta TR 96 1. This paper also assumes as background reading [1] Scoping Constructs for Program Generators by Smaragdakis and Batory. So [1] should be read before proceeding further. 2 Generation Environments Generation environments are objects that programmers use to generate code with specific variable bindings [1] Microsoft s IP was used as the original implementation platform for generation environments, which (at the time ....
[Article contains additional citation context not shown here]
Y. Smaragdakis and D. Batory, "Scoping Constructs for Program Generators", UTCS Tech Report December 1996.
.... to DiSTiL: a Transformation Library for Data Structures Yannis Smaragdakis and Don Batory Department of Computer Sciences The University of Texas at Austin Austin, Texas 78712 smaragd,dsb cs.utexas.edu it (called generation scoping a general purpose hygienic code generation facility [Sma96]) and DiSTiL the language and its implementation. We argue that IP s infrastructure is well suited for building compilers for DSLs, and that it substantially reduces the effort needed for their construction. 2 Microsoft s Intentional Programming (IP) System Many domain specific languages ....
....to the backquote and comma operators of the LISP language. Generation scoping is a general purpose facility oriented towards large scale code generation and was not designed to support only DiSTiL. This section reviews its essential features and applicability. A more complete discussion is in [Sma96] 1 . Meta programming systems are notorious for introducing ambiguities regarding the environment in which generated variable references are resolved. Programming languages usually determine the meaning of identifiers using their position in a program. Generated programs, however, are usually ....
[Article contains additional citation context not shown here]
Y. Smaragdakis and D. Batory, "Scoping Constructs for Program Generators". Technical Report TR-96-37, Department of Computer Sciences, University of Texas at Austin, December 1996.
....More generally, generation scoping allows environment instances to be arranged in directed acyclic graphs. This permits the visibility of identifiers from multiple parent environments, which is indispensable when building GenVoca generators. Detailed examples of generation scoping are presented in [Sma96]. 2.3 Tree Traversals Jak provides a Java package of classes for searching and editing trees using objects of type Ast Cursor. Methods that can be performed on cursors are listed in Table 2. 3 In the code fragment below, a cursor c is used to examine every node of a tree and subtrees that ....
Y. Smaragdakis and D. Batory, "Scoping Constructs for Program Generators". TR 96-37, Dept. of Computer Sciences, University of Texas at Austin, December 1996.
....in the Java language, or more accurately, in a superset of the Java language that is suited for building generators. We have defined component extensions to Java that support meta programming (i.e. LISP backquote and comma) for representing and manipulating programs as data and generation scoping [Sma97] (a form of hygienic, lexically scoped macros that is appropriate for generators) to help build the Jakarta tool set. These components, like all GenVoca components, can be easily removed from or installed into Java. 2 . Automated Design Patterns. JTS is geared for providing a solid foundation ....
Y. Smaragdakis and D. Batory, "Scoping Constructs for Program Generators". Technical Report 96-37, Department of Computer Sciences, University of Texas at Austin, December 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