43 citations found. Retrieving documents...
U. Kastens and W. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, June 1994.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Parse-Tree Annotations Meet Re-Engineering Concerns - Kort, Lämmel (2003)   (2 citations)  (Correct)

....our current window. 8 Related work Attribute grammars vs. rewriting Our approach is related to attribute grammars [10] AGs) While our computational model is predominantly rewriting based, we indeed borrow certain elements of both the basic AG formalism and some of its vital extensions (e.g. [7, 8]) Understanding the precise correspondence is a useful exercise. AGs assign a meaning to context free grammars by attributing parse trees. The values of the attributes are computed by means of semantic rules associated to the context free productions. AGs are typically applied for semantic ....

....attributes are immutable place holders in the mathematical sense, while we assume that annotations progress for each rewrite step. Otherwise, our concepts are inspired by ideas in the AG field. That is, our progression methods are similar to symbolic computations and forms of remote access in [8]. Our consideration of graphs instead of trees (recall links as annotations) is similar to the amalgamation of the purely declarative AG formalism with references as in [7] Sophisticated rewriting approaches There are extensions of term rewriting which address some of our concerns. Most ....

U. Kastens and W. Waite. Modularity and reusability in attribute grammars. Acta Informatica 31, pages 601--627, 1994.


Consistency Checking of Financial Derivatives Transactions - Dui, Emmerich, Nentwich.. (2002)   (Correct)

....[16] which have been shown to be e#ciently executable by compilers. Attribute grammars are not very concise specifications of consistency as one constraint is typically spread over a large number of products. On the other hand, they have been shown to be very amenable to e#cient execution [14, 15], which is an important property when considering compiling large amounts of source code on slow processors. We have made a slightly di#erent trade o# decision with xlinkit and favour conciseness of the constraint definition over e#ciency. This is particularly appropriate given the small size of ....

U. Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, 1991.


Forwarding in Attribute Grammars for Modular Language.. - Van Wyk, de Moor.. (2002)   (Correct)

....grammars may contain spurious attributes that are never evaluated, and indeed that need not be de ned. 1 Motivation The modular de nition of programming languages is a long standing problem, and a lot of work has been devoted to its solution in the context of attribute grammars e.g. [1, 3, 8, 10, 11, 13, 14, 19, 17, 21, 25, 29, 32]. Some of these proposals take inspiration from the object oriented paradigm, advocating the use of inheritance to achieve modularisation. Others take inspiration from functional programming, by employing higher order functions to achieve a separation of concerns. The present paper is a modest ....

U. Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601-627, 1994. 14


Incremental Evaluators for Remote Attribute Grammars - Boyland (2002)   (Correct)

....the scope object is fully populated with declarations. Then the system connects these two generated attributes in the production for block. In other words, rather than relying on manually added control attributes as in Kastens and Waite s use of imperative symbol tables in an attribute grammar [11], we use the declarative semantics of the (remote) attribute grammar to constrain the schedule. However, even though a remote attribute grammar is declarative, an implementation based on control attributes is not declarative and thus cannot be directly incrementalized. One way forward would thus ....

Kastens, U. and W. M. Waite, Modularity and reusability in attribute grammars, Acta Informatica 31 (1994), pp. 601--627.


Traversals of Object Structures: Specification and.. - Lieberherr, Patt-Shamir (2000)   (8 citations)  (Correct)

.... as a part of attribute grammars, for traversing abstract syntax trees [33] Using conventional programming techniques, the details of traversals must be hard coded in the attribute grammar; this fact makes attribute grammars hard to maintain, say in the case of some modifications in the grammar [14]. In the Eli system [12] this problem is addressed by separating the details of the grammar from the underlying algorithm, using traversal specifications which basically correspond to single edge strategy graphs. Meta programming techniques have also been developed for traversals. For example, in ....

U. Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, 1994.


Product Configuration Using Object Oriented Grammars - Hedin, Ohlsson, McKenna (1998)   (Correct)

....introduction of derived copy properties can be cumbersome and lead to a cluttered specification. This problem is well known in attribute grammars and many attribute grammar notation languages therefore introduce various shortcut notations to avoid having to introduce such copy properties, see e.g. [11]. The enclosing mechanism mentioned above is one such shortcut notation (called including in [11] By letting a component c directly access a property p in an enclosing component e, we can avoid introducing a number of derived properties which copy the value of p from e down to c. Besides ....

.... problem is well known in attribute grammars and many attribute grammar notation languages therefore introduce various shortcut notations to avoid having to introduce such copy properties, see e.g. 11] The enclosing mechanism mentioned above is one such shortcut notation (called including in [11]) By letting a component c directly access a property p in an enclosing component e, we can avoid introducing a number of derived properties which copy the value of p from e down to c. Besides cutting down on the number of properties and rules, this shortcut notation is very important for ....

[Article contains additional citation context not shown here]

U. Kastens and W. M. Waite. Modularity and Reusability in Attribute Grammars. Acta Informatica, 31:601-627, 1994.


Reusability of Formal Specifications in Programming Language.. - Mernik, Zumer (1997)   (Correct)

....semantic modifications can be captured by minimal disruption of the existing semantics. Furthermore, it is also possible with this approach to reuse parts of semantics specification of one programming language to define another. A modular framework of attribute grammars is also presented in [8], where with remote attribute access and inheritance, an attribution module is defined and can be reused in a variety of applications. On the other hand, action semantics [9] is invented as a direct response to the disadvantages of pragmatic aspects of denotational semantics such as lack of ....

U. Kastens and M. W. Waite, "Modularity and Reusability in Attribute Grammars," Acta Informatica 31, pp. 601--627, 1994.


First-class Attribute Grammars - de Moor, Backhouse, Swierstra (2000)   (Correct)

....Furthermore, because the semantics is a functional program, one immediately obtains a prototype for experimenting with newly defined features. Naturally the results of this paper do not stand on their own, and many of the ideas have been gleaned from the attribute grammar literature, in particular [5, 6, 16, 19, 20, 23, 26]. Especially the thesis by Stephen Adams [1] has been an inspiration for this work. Attribute grammars and functional programming There exists a well known encoding of attribute grammars into programming languages that have lazy evaluation [14, 18] This encoding has been dismissed by others on ....

....of the productions, and overriding the original definition of the ntree attribute in the Leaf production. Indeed, most attribute grammar systems treat structuring mechanisms in this syntactic way. Furthermore, they introduce syntactic abbreviations for common patterns such as chained attributes [16]. We aim to show how these structuring operations can be given a precise semantics. In our semantic view, the only essential di#erence between the above two grammars is the presence of the count attribute: the rest of the semantics is shared. The overriding of the ntree attribute is modelled by ....

[Article contains additional citation context not shown here]

U. Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, 1994.


First-class Attribute Grammars - de Moor, Backhouse, Swierstra (2000)   (Correct)

....Furthermore, because the semantics is a functional program, one immediately obtains a prototype for experimenting with newly de ned features. Naturally the results of this paper do not stand on their own, and many of the ideas have been gleaned from the attribute grammar literature, in particular [5, 6, 16, 19, 20, 23, 26]. Especially the thesis by Stephen Adams [1] has been an inspiration for this work. Attribute grammars and functional programming There exists a well known encoding of attribute grammars into programming languages that have lazy evaluation [14, 18] This encoding has been dismissed by others on ....

....of the productions, and overriding the original de nition of the ntree attribute in the Leaf production. Indeed, most attribute grammar systems treat structuring mechanisms in this syntactic way. Furthermore, they introduce syntactic abbreviations for common patterns such as chained attributes [16]. We aim to show how these structuring operations can be given a precise semantics. In our semantic view, the only essential di erence between the above two grammars is the presence of the count attribute: the rest of the semantics is shared. The overriding of the ntree attribute is modelled by ....

[Article contains additional citation context not shown here]

U. Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601-627, 1994.


Domain Specific Language Extensions - Backhouse (2000)   (Correct)

....has been slightly di#erent to ours. AG specifications written with only the primitive AG facilities are often highly redundant. This is because many very similar computations need to be painstakingly written out for every production in the grammar. Both Dueck and Cormack [3] and Kastens and Waite [15] ascribe the problem to a lack of appropriate abstraction facilities. Dueck and Cormack propose the use of patterns as a solution. Kastens and Waite suggest three techniques: remote attribute access, symbol computations and inheritance. We give a brief description of these techniques below. ....

....a second bucket brigade, involving the attributes x and y. Then the code given above needs to be written out a second time with x and y substituted for env and def, respectively. For proper reuse to be possible, patterns need to be parameterisable. 3.3. 2 Remote Attribute Access Kastens and Waite [15] note that AGs frequently need to transfer an attribute value from one position in the tree to another. To do this, attribute rules that copy the value need to be written out for every stage of the transfer path. Kastens and Waite identify three common kinds of remote access and introduce special ....

[Article contains additional citation context not shown here]

Kastens, U. and Waite, W. M. (October 1994) "Modularity and reusability in attribute grammars." Acta Informatica, 31(7): pages 601-- 627.


Aspect-Oriented Compilers - de Moor, Jones, Van Wyk (1999)   (3 citations)  (Correct)

....of achieving that ordering is to compute the attribute values in a demand driven fashion. Indeed, attribute grammars can be viewed as a particular style of writing lazy functional programs [11, 19] Unfortunately, however, compilers written as attribute grammars suffer from a lack of modularity [16]. In their pure form, the only way in which attribute grammars are decomposed is by production. It is not possible to separate out a single semantic aspect (such as the environment ) across all productions, and then add that as a separate entity to the code already written. The compiler writer is ....

....is written EmptyRec, and whose type is Rec EmptyRow. 3 Motivating example: Algol 60 scope rules In contrast to a good many of its successors, Algol 60 has very clear and uniform scope rules. A simplification of these scope rules is a favourite example to illustrate the use of attribute grammars [16]. A definition of an identifier x is visible in the smallest enclosing block with the exception of inner blocks that also contain a definition of x. Here we shall study these scope rules via a toy language that has the following example program and abstract syntax: 3 example = Use x , Use ....

U. Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, 1994.


Domain Specific Meta Languages - Van Wyk (2000)   (Correct)

....WORK There are several other techniques designed to address the problems of complexity in attribute grammars. The use of domain specific meta languages should be used in conjunction with these other techniques. A common complaint is that attribute grammars are not described in a modular manner [13]. Attribute coupled grammars of Ganzinger and Geirech [8] increase the modularity of attribute grammars by recognizing that the translation process is often broken into distinct phases mapping the source program through a series of intermediate representations until its final target language ....

U. Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601-- 627, 1994.


Constructing SDEs with the IPSEN Meta Environment - Klein, Schürr (1997)   (2 citations)  (Correct)

....graph grammars [14] and their accompanying generators are still rather immature compared to attribute grammar based approaches. Resulting specifications tend to become very large and unmaintainable due to the lack of module or abstraction concepts as they were developed for attribute grammars [9, 17]. Finally, we are not aware of any syntax definition formalisms which are well suited for the specification of hybrid languages, i.e. for languages with nested textual and visual sublanguages or for languages which have both a textual and a visual representation. As a consequence, it is still ....

U. Kastens, M.W. Waite: "Modularity and Reusability in Attribute Grammars", in Acta Informatica 31, 1994, pp. 601--627


Multiple Attribute Grammar Inheritance - Mernik, Lenic, Avdicausevic, Zumer (1999)   (4 citations)  (Correct)

....attributes of its respective base nonterminal. Therefore, extensible attribute grammars support some form of strict inheritance while our approach supports nonstrict inheritance. In our opinion the only widely accepted approach with reusability of attribute grammars is the approach presented in [20] and incorporated in the Eli compiler generator, where with remote attribute access and inheritance, an attribution module is dened which can be reused in a variety of applications. But with this approach the attribution module can be only constructed for those attribute computations where the ....

....a variety of applications. But with this approach the attribution module can be only constructed for those attribute computations where the attribute depends only on remote attributes. In this case computation is associated to a symbol rather than to production. With the inheritance described in [20] an attribute computation can be further independent from symbols used in particular language denitions. 6. Conclusion When introducing a new concept, the designer has diOEculties in integrating it into the language in an easy way. To enable incremental language design we introduce a new object ....

Kastens U., Waite W.M. Modularity and reusability in attribute grammars, Acta Informatica, Vol. 31, 1994, pp. 601 627, 1994.


Algebraic Definition of Programming Languages - Rus (1999)   (Correct)

....source language constructs f Gamma0; 0g, representing the source meaning 0, 12 is mapped into the target constructs f Gamma0; 0g and the source language meaning 0 is mapped into the target language f Gamma0; 0g as expected. SEL images are similar to the attributes used in attributed grammars [KW94] for semantics specification of programming language constructs. However, while attributes are properties of source language constructs SEL images are well defined constructs of the SEL language. In addition, attributes are processed by tools that belong to the source language processing ....

U. Kastens and W.M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, 1994.


TICS: A Component-Based Language Processing Environment - Rus, Kooima, Soricut.. (2000)   (Correct)

.... The most obvious similarities and differences are: ffl specification rules are similar, though TICS specification rules are not necessarily interpreted as defining grammars; ffl semantics specification uses SEL macro operations which are similar to attributes used by such systems as GAG[KW94] though SEL macro operations specify well defined SEL constructs not properties of the source language constructs; ffl some of the tools we use, such as FLSG and IPC, are similar with earlier tools for grammar processing such as Lex and Yacc [AU77] though FLSG and IPC are incremental and ....

U. Kastens and W.M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, 1994.


Aspect-Oriented Compilers - de Moor, Peyton-Jones, Van Wyk (1999)   (1 citation)  (Correct)

....of achieving that ordering is to compute the attribute values in a demand driven fashion. Indeed, attribute grammars can be viewed as a particular style of writing lazy functional programs [12, 20] Unfortunately, however, compilers written as attribute grammars suffer from a lack of modularity [17]. In their pure form, the only way in which attribute grammars are decomposed is by production. It is not possible to separate out a single semantic aspect (such as the environment ) across all productions, and then add that as a separate entity to the code already written. The compiler writer is ....

....Algol 60 scope rules We shall now introduce a motivating example for the remainder of the paper. In contrast to a good many of its successors, Algol 60 has very clear and uniform scope rules. A simplification of these scope rules is a favourite example to illustrate the use of attribute grammars [17]. A definition of an identifier x is visible in the smallest enclosing block with the exception of inner blocks that also contain a definition of x. Here we shall study these scope rules via a toy language that has the following abstract syntax: 2 type Prog = Block type Block = Stat] data ....

[Article contains additional citation context not shown here]

U. Kastens and W. M. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601-- 627, 1994.


Barat - A Front-End for Java - Bokowski, Spiegel (1998)   (4 citations)  (Correct)

.... of abstract syntax trees according to two complementing paradigms: the method accept( is the hook for traversals using the Visitor design pattern [Gamma et al. 95] while addAttribute( and attributeValue( support the definition of on demand traversals similar to attribute grammars [Knuth 68; Kastens, Waite 94] Both ways of traversing the AST will be explained in detail in section 2.4. 2.2. Elements of the Abstract Syntax Tree In this section, we will go through the main categories of AST node types in detail: type nodes, structural nodes, expression nodes, and statement nodes. In the appendix, a ....

....with the first version, we decided to redesign Barat, supporting on demand parsing, on demand name analysis, and on demand type analysis. Central to the new architecture of Barat are lazily evaluated attributes of AST node objects similar to attributes as known from attribute grammars [Knuth 68; Kastens, Waite 94] In some cases, attributes are sometimes used to calculate parts of the AST itself, like in higher order attribute grammars [Vogt et al. 89] We also chose to use parameterized types at least internally to gain more type safety when building the AST, and to support type safe attribute ....

U. Kastens, W. M. Waite, Modularity and Reusability in Attribute Grammars, Acta Informatica, Vol. 31, pp. 601-627, 1994.


Composition based on Meta-Programming - Lämmel (1997)   (Correct)

.... context free grammars with relational formulae associated with the rules, a kind of attribute grammars closely related to logic programs have their origin in techniques studied in the attribute grammar community, e.g. remote access, inheritance, coupling and descriptional composition; see [12] for an overview. Subsection 4.2 illustrates problems with the presented approach to lifting. There is a considerable number of specializing clauses for interesting examples. Moreover, sometimes certain aspects have to be overridden just to may access parameters associated with these aspects. The ....

U. Kastens and W. Waite. Modularity and reusability in attribute grammars. Acta Informatica 31, pages 601627, 1994.


A SUIF Interface Module for ELI - Waite   Self-citation (Waite)   (Correct)

....The leverage gained from being able to simply ignore that scaffolding is obvious. 1 Avoiding the need to specify tree traversal and intermediate storage management not only reduces the cognitive load on both implementers and readers, but supports decomposition of the specification into modules [3]. Many of the values of interest when analyzing a program depend only slightly on each other. For example, a compiler uses scope rules to relate uses of identifiers to their definitions. That information allows it to determine the types of values represented by the leaves of an expression. It can ....

Kastens, U. & Waite, W. M., "Modularity and Reusability in Attribute Grammars," Acta Informatica 31 (1994), 601--627.


Construction of Application Generators Using Eli - Kastens (1996)   Self-citation (Kastens)   (Correct)

....other specifications during a tree walk of the generated evaluator. LIDO also contains object oriented constructs that allow to associate sets of computations to role symbols, and inherit them to other symbols, as shown above. The design of Eli s reusable library modules is based on this technique [6]. 4.4 Transformation The specification of the transformation task is typical for application generators (and for sourceto source translations) Two descriptions are given: One specifies a set of text patterns which are used to compose the target text. Eli s PTG tool generates functions from it ....

Kastens, U. & Waite, W. M., "Modularity and Reusability in Attribute Grammars", Acta Informatica 31 (1994), 601--627.


Embedding Domain Specific Languages in the Attribute.. - Saraiva, Schneider (2003)   (Correct)

No context found.

U. Kastens and W. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, June 1994.


Towards an Engineering Discipline for GRAMMARWARE - Klint, Lämmel, Verhoef (2003)   (3 citations)  (Correct)

No context found.

U. Kastens and W. Waite. Modularity and reusability in attribute grammars. Acta Informatica 31, pages 601--627, 1994.


Object-Oriented Software Specification in Programming.. - Bryant, Vaidyanathan   (Correct)

No context found.

U. Kastens and M. W. Waite. Modularity and reusability in attribute grammars. Acta Informatica, 31:601--627, 1994.


Parse-Tree Annotations Meet Re-Engineering Concerns - Kort, Lämmel (2003)   (2 citations)  (Correct)

No context found.

U. Kastens and W. Waite. Modularity and reusability in attribute grammars. Acta Informatica 31, pages 601--627, 1994.

First 50 documents

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