Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

DrAST: an inspection tool for attributed syntax trees (tool demo)

Lindholm, Joel ; Thorsberg, Johan and Hedin, Görel LU orcid (2016) 9th ACM SIGPLAN International Conference on Software Language Engineering (SLE), 2016 p.176-180
Abstract
When implementing a language by means of attribute grammars, it is often useful to study example programs and their attributed trees, to understand the compiler structure, or for debugging. DrAST is a tool that allows interactive inspection of attributed trees. It is interfaced to the JastAdd metacompiler, and supports all JastAdd attribution mechanisms, such as demand evaluation, reference attributes (graph edges), and nonterminal attributes. A challenge in visualizing attributed trees is that they are large, even for small programs. To allow the user to focus on the aspects of interest, DrAST supports the interactive definition of filtered versions of the tree through a domain-specific language which allows conditional filtering based on... (More)
When implementing a language by means of attribute grammars, it is often useful to study example programs and their attributed trees, to understand the compiler structure, or for debugging. DrAST is a tool that allows interactive inspection of attributed trees. It is interfaced to the JastAdd metacompiler, and supports all JastAdd attribution mechanisms, such as demand evaluation, reference attributes (graph edges), and nonterminal attributes. A challenge in visualizing attributed trees is that they are large, even for small programs. To allow the user to focus on the aspects of interest, DrAST supports the interactive definition of filtered versions of the tree through a domain-specific language which allows conditional filtering based on the attributes themselves. We have used DrAST on a variety of language implementations, from tiny compilers used in teaching to a complete Java compiler. (Less)
Please use this url to cite or link to this publication:
author
; and
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
host publication
SLE 2016 Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering
pages
5 pages
publisher
Association for Computing Machinery (ACM)
conference name
9th ACM SIGPLAN International Conference on Software Language Engineering (SLE), 2016
conference location
Amsterdam, Netherlands
conference dates
2016-10-31 - 2016-11-01
external identifiers
  • scopus:85006810252
  • wos:000391893100017
ISBN
978-1-4503-4447-0
978-1-4503-4447-0
DOI
10.1145/2997364.2997378
project
ELLIIT LU P05: Scalable Language Tools for Cyber-Physical Systems
language
English
LU publication?
yes
id
7c2117d2-29e7-4ec2-aa79-4c23b71ec879
date added to LUP
2016-12-20 11:22:28
date last changed
2022-03-01 18:15:45
@inproceedings{7c2117d2-29e7-4ec2-aa79-4c23b71ec879,
  abstract     = {{When implementing a language by means of attribute grammars, it is often useful to study example programs and their attributed trees, to understand the compiler structure, or for debugging. DrAST is a tool that allows interactive inspection of attributed trees. It is interfaced to the JastAdd metacompiler, and supports all JastAdd attribution mechanisms, such as demand evaluation, reference attributes (graph edges), and nonterminal attributes. A challenge in visualizing attributed trees is that they are large, even for small programs. To allow the user to focus on the aspects of interest, DrAST supports the interactive definition of filtered versions of the tree through a domain-specific language which allows conditional filtering based on the attributes themselves. We have used DrAST on a variety of language implementations, from tiny compilers used in teaching to a complete Java compiler.}},
  author       = {{Lindholm, Joel and Thorsberg, Johan and Hedin, Görel}},
  booktitle    = {{SLE 2016 Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering}},
  isbn         = {{978-1-4503-4447-0}},
  language     = {{eng}},
  month        = {{11}},
  pages        = {{176--180}},
  publisher    = {{Association for Computing Machinery (ACM)}},
  title        = {{DrAST: an inspection tool for attributed syntax trees (tool demo)}},
  url          = {{http://dx.doi.org/10.1145/2997364.2997378}},
  doi          = {{10.1145/2997364.2997378}},
  year         = {{2016}},
}