Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

Declarative rewriting through circular nonterminal attributes

Söderberg, Emma LU orcid and Hedin, Görel LU orcid (2015) In Computer Languages, Systems & Structures 44. p.3-23
Abstract
Reference attribute grammars (RAGs) provide a practical declarative means to implement programming language compilers and other tools. RAGs have previously been extended to support nonterminal attributes (also known as higher-order attributes), circular attributes, and context-dependent declarative rewrites of the abstract syntax tree. In this previous work, interdependencies between these extensions are not considered. In this article, we investigate how these extensions can interact, and still be well defined. We introduce a generalized evaluation algorithm that can handle grammars where circular attributes and rewrites are interdependent. To this end, we introduce circular nonterminal attributes, and show how RAG rewrites are equivalent... (More)
Reference attribute grammars (RAGs) provide a practical declarative means to implement programming language compilers and other tools. RAGs have previously been extended to support nonterminal attributes (also known as higher-order attributes), circular attributes, and context-dependent declarative rewrites of the abstract syntax tree. In this previous work, interdependencies between these extensions are not considered. In this article, we investigate how these extensions can interact, and still be well defined. We introduce a generalized evaluation algorithm that can handle grammars where circular attributes and rewrites are interdependent. To this end, we introduce circular nonterminal attributes, and show how RAG rewrites are equivalent to such attributes. (Less)
Please use this url to cite or link to this publication:
author
and
organization
publishing date
type
Contribution to journal
publication status
published
subject
in
Computer Languages, Systems & Structures
volume
44
pages
3 - 23
publisher
Elsevier
external identifiers
  • wos:000366778300002
  • scopus:84943663351
ISSN
1477-8424
DOI
10.1016/j.cl.2015.08.008
project
ELLIIT LU P05: Scalable Language Tools for Cyber-Physical Systems
language
English
LU publication?
yes
id
af79cd02-24d6-4995-b982-e243720b4860 (old id 7995100)
date added to LUP
2016-04-01 10:27:01
date last changed
2022-04-20 02:17:14
@article{af79cd02-24d6-4995-b982-e243720b4860,
  abstract     = {{Reference attribute grammars (RAGs) provide a practical declarative means to implement programming language compilers and other tools. RAGs have previously been extended to support nonterminal attributes (also known as higher-order attributes), circular attributes, and context-dependent declarative rewrites of the abstract syntax tree. In this previous work, interdependencies between these extensions are not considered. In this article, we investigate how these extensions can interact, and still be well defined. We introduce a generalized evaluation algorithm that can handle grammars where circular attributes and rewrites are interdependent. To this end, we introduce circular nonterminal attributes, and show how RAG rewrites are equivalent to such attributes.}},
  author       = {{Söderberg, Emma and Hedin, Görel}},
  issn         = {{1477-8424}},
  language     = {{eng}},
  pages        = {{3--23}},
  publisher    = {{Elsevier}},
  series       = {{Computer Languages, Systems & Structures}},
  title        = {{Declarative rewriting through circular nonterminal attributes}},
  url          = {{http://dx.doi.org/10.1016/j.cl.2015.08.008}},
  doi          = {{10.1016/j.cl.2015.08.008}},
  volume       = {{44}},
  year         = {{2015}},
}