2000
DOI: 10.1002/(sici)1097-024x(200003)30:3<259::aid-spe298>3.0.co;2-y
|View full text |Cite
|
Sign up to set email alerts
|

Efficient annotated terms

Abstract: How do distributed applications exchange tree-like data structures? We introduce the abstract data type of Annotated Terms (ATerms), and discuss their design, implementation and application. A comprehensive procedural interface enables the creation and manipulation of ATerms in C or Java. The ATerm implementation is based on maximal subterm sharing and automatic garbage collection. A binary exchange format for the concise representation of ATerms (sharing preserved) allows the fast exchange of ATerms between a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
64
0

Year Published

2001
2001
2011
2011

Publication Types

Select...
6
3
1

Relationship

0
10

Authors

Journals

citations
Cited by 138 publications
(64 citation statements)
references
References 20 publications
0
64
0
Order By: Relevance
“…One constraining factor is currently the ATerm library used to represent trees, which forms an integral part of Stratego. It is optimized for a maximally shared representation of terms, where identical subtrees occupy the same space in memory [7]. This makes it less suitable for storing additional, dynamic information in tree nodes, in our case parent references (for id.parent) and memoized attribute values.…”
Section: Methodsmentioning
confidence: 99%
“…One constraining factor is currently the ATerm library used to represent trees, which forms an integral part of Stratego. It is optimized for a maximally shared representation of terms, where identical subtrees occupy the same space in memory [7]. This makes it less suitable for storing additional, dynamic information in tree nodes, in our case parent references (for id.parent) and memoized attribute values.…”
Section: Methodsmentioning
confidence: 99%
“…This nature allows them to be efficiently stored using maximal sharing, ensuring a significant decrease in memory usage [9]. Based on maximal sharing, all identical subtrees occupy the same space in memory, allowing constant-time equality tests between branches using pointers.…”
Section: Representation Of Modelsmentioning
confidence: 99%
“…If there are alternative derivations, they are collected under an ambiguity node. We use maximally shared ATerms [6] to represent parse trees. ATerms are directed acyclic graphs, which prohibits by definition the construction of cycles.…”
Section: Construction Of -Treesmentioning
confidence: 99%