Migrating to an Extensible Architecture for Abstract Syntax Trees

被引:0
|
作者
Couto, Luis Diogo [1 ]
Tran-Jorgensen, Peter W. V. [1 ]
Coleman, Joey W. [1 ]
Lausdahl, Kenneth [1 ]
机构
[1] Aarhus Univ, Dept Engn, Finlandsgade 22, DK-8200 Aarhus N, Denmark
关键词
ORIENTED DESIGN METRICS;
D O I
10.1109/WICSA.2015.10
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present and analyse an architectural migration in the Overture tool, a tool for which the primary internal data structure is an Abstract Syntax Tree (AST). The migration was from a high-cohesion AST with functionality encapsulated in its nodes to an extensible, low-cohesion AST with functionality implemented in visitors. This was motivated by the need for a high degree of extensibility in the tool's core functionality. We describe the migration process and both architectures in detail. We also present a comparative analysis between both architectures, including the trade-offs made between extensibility and performance. Finally, we generalise these results to other tool migrations that have hierarchical data structures at their core.
引用
收藏
页码:145 / 154
页数:10
相关论文
共 50 条
  • [41] Generating Rewritable Abstract Syntax Trees A Foundation for the Rapid Development of Source Code Transformation Tools
    Overbey, Jeffrey L.
    Johnson, Ralph E.
    SOFTWARE LANGUAGE ENGINEERING, 2009, 5452 : 114 - 133
  • [42] A Virtual Sample Generation Approach for Speculative Multithreading Using Feature Sets and Abstract Syntax Trees
    Liu, Bin
    Zhao, Yinliang
    Li, Meirong
    Liu, Yanzhao
    Feng, Boqin
    2012 13TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED COMPUTING, APPLICATIONS, AND TECHNOLOGIES (PDCAT 2012), 2012, : 39 - 44
  • [43] EXTENSIBLE PACKAGED ARCHITECTURE
    HIRAKAWA, Y
    KAWASHIMA, N
    IMASE, M
    MICROPROCESSING AND MICROPROGRAMMING, 1988, 22 (01): : 65 - 74
  • [44] An Extensible Abstract Service Orchestration Framework
    Chollet, Stephanie
    Lalanda, Philippe
    2009 IEEE INTERNATIONAL CONFERENCE ON WEB SERVICES, VOLS 1 AND 2, 2009, : 831 - 838
  • [45] ABSTRACT SYNTAX AND LOGIC PROGRAMMING
    MILLER, D
    LECTURE NOTES IN ARTIFICIAL INTELLIGENCE, 1992, 592 : 322 - 337
  • [46] An abstract view on syntax with sharing
    Garner, Richard
    JOURNAL OF LOGIC AND COMPUTATION, 2012, 22 (06) : 1427 - 1452
  • [47] Abstract Syntax: Substitution and Binders
    Power, John
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 173 (SPEC. ISS.) : 3 - 16
  • [48] Nested Abstract Syntax in Coq
    André Hirschowitz
    Marco Maggesi
    Journal of Automated Reasoning, 2012, 49 : 409 - 426
  • [49] Nested Abstract Syntax in Coq
    Hirschowitz, Andre
    Maggesi, Marco
    JOURNAL OF AUTOMATED REASONING, 2012, 49 (03) : 409 - 426