1989
DOI: 10.1145/74818.74830
|View full text |Cite
|
Sign up to set email alerts
|

Higher order attribute grammars

Abstract: A new kind of attribute grammars, called higher order attribute grammars, is defined. In higher order attribute grammars the structure tree can be expanded as a result of attribute computation. A structure tree may be stored in an attribute. The term higher order is used because of the analogy with higher order functions, where a function can be the result or parameter of another function. A relatively simple method, using OAGs, is described to derive an evaluation order on the defining attribute occurrences w… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
32
0

Year Published

1990
1990
2013
2013

Publication Types

Select...
6
1
1

Relationship

0
8

Authors

Journals

citations
Cited by 56 publications
(33 citation statements)
references
References 7 publications
0
32
0
Order By: Relevance
“…This is useful when the AST constructed by the parser is not specific enough, or in order to normalize language constructs to make further compilation easier. Nonterminal attributes [VSK89] allow the AST to be extended dynamically, defining new AST nodes using equations. This is useful for macro expansion and transformation problems.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…This is useful when the AST constructed by the parser is not specific enough, or in order to normalize language constructs to make further compilation easier. Nonterminal attributes [VSK89] allow the AST to be extended dynamically, defining new AST nodes using equations. This is useful for macro expansion and transformation problems.…”
Section: Discussionmentioning
confidence: 99%
“…Other landmark developments of strong importance for JastAdd include Jourdan's dynamic evaluation algorithm [Jou84], Farrow's circular attributes [Far86], Vogt, Swierstra and Kuiper's higher-order attributes [VSK89], and Boyland's collection attributes [Boy96].…”
Section: Brief Historical Notesmentioning
confidence: 99%
“…In [19] attributes are evaluated using visit-functions with memoization. A more general extension to attribute grammars is the higher order attribute grammar [28,25] for which an incremental evaluator is presented in [29]. Similar to this approach, our approach employs a global cache and uses hash consing to efficiently share tasks and to make look-ups into the cache extremely fast.…”
Section: Related Workmentioning
confidence: 99%
“…Higher-order attribute grammars [56] allow attributes to themselves contain trees that are as-yet undecorated by attributes. That is, we have so far seen attributes with types like Integer, but this would allow attributes to have nonterminal type, like Nat.…”
Section: Higher-order Attribute Grammarsmentioning
confidence: 99%
“…In presenting higher-order attributes, Vogt et al [56] extended Knuth's completeness and circularity analyses to that setting. Reference and remote attributes do not have a precise circularity analysis [59], as the problem is undecidable.…”
Section: Related Workmentioning
confidence: 99%