Generator of efficient strongly typed abstract syntax trees in Java

    Research output: Contribution to journalArticleAcademicpeer-review

    20 Citations (Scopus)

    Abstract

    Syntax trees are a very common data structure in language related tools. For example, compilers, interpreters, documentation generators and syntax-directed editors use them extensively to extract, transform, store and produce information that is key to their functionality. The authors present a Java back-end for ApiGen, a tool that generates implementations of abstract syntax trees. The generated code is characterised by strong typing combined with a generic interface and maximal sub-term sharing for memory efficiency and fast equality checking. The goal of this tool is to obtain safe and more efficient programming interfaces for abstract syntax trees. The contribution of this work is the combination of generating a strongly typed data-structure with maximal sub-term sharing in Java. Practical experience shows that this approach is beneficial for extremely large as well as smaller data types.
    Original languageEnglish
    Pages (from-to)70-78
    JournalIEE Proceedings - Software Engineering
    Volume152
    Issue number2
    DOIs
    Publication statusPublished - 2005

    Fingerprint

    Data structures
    Interfaces (computer)
    Data storage equipment

    Cite this

    @article{27ebe78c05d64a66998c0f8d85411adf,
    title = "Generator of efficient strongly typed abstract syntax trees in Java",
    abstract = "Syntax trees are a very common data structure in language related tools. For example, compilers, interpreters, documentation generators and syntax-directed editors use them extensively to extract, transform, store and produce information that is key to their functionality. The authors present a Java back-end for ApiGen, a tool that generates implementations of abstract syntax trees. The generated code is characterised by strong typing combined with a generic interface and maximal sub-term sharing for memory efficiency and fast equality checking. The goal of this tool is to obtain safe and more efficient programming interfaces for abstract syntax trees. The contribution of this work is the combination of generating a strongly typed data-structure with maximal sub-term sharing in Java. Practical experience shows that this approach is beneficial for extremely large as well as smaller data types.",
    author = "{Brand, van den}, M.G.J. and P.-E. Moreau and J.J. Vinju",
    year = "2005",
    doi = "10.1049/ip-sen:20041181",
    language = "English",
    volume = "152",
    pages = "70--78",
    journal = "IEE Proceedings - Software Engineering",
    issn = "1364-5080",
    publisher = "Institute of Electrical Engineers",
    number = "2",

    }

    Generator of efficient strongly typed abstract syntax trees in Java. / Brand, van den, M.G.J.; Moreau, P.-E.; Vinju, J.J.

    In: IEE Proceedings - Software Engineering, Vol. 152, No. 2, 2005, p. 70-78.

    Research output: Contribution to journalArticleAcademicpeer-review

    TY - JOUR

    T1 - Generator of efficient strongly typed abstract syntax trees in Java

    AU - Brand, van den, M.G.J.

    AU - Moreau, P.-E.

    AU - Vinju, J.J.

    PY - 2005

    Y1 - 2005

    N2 - Syntax trees are a very common data structure in language related tools. For example, compilers, interpreters, documentation generators and syntax-directed editors use them extensively to extract, transform, store and produce information that is key to their functionality. The authors present a Java back-end for ApiGen, a tool that generates implementations of abstract syntax trees. The generated code is characterised by strong typing combined with a generic interface and maximal sub-term sharing for memory efficiency and fast equality checking. The goal of this tool is to obtain safe and more efficient programming interfaces for abstract syntax trees. The contribution of this work is the combination of generating a strongly typed data-structure with maximal sub-term sharing in Java. Practical experience shows that this approach is beneficial for extremely large as well as smaller data types.

    AB - Syntax trees are a very common data structure in language related tools. For example, compilers, interpreters, documentation generators and syntax-directed editors use them extensively to extract, transform, store and produce information that is key to their functionality. The authors present a Java back-end for ApiGen, a tool that generates implementations of abstract syntax trees. The generated code is characterised by strong typing combined with a generic interface and maximal sub-term sharing for memory efficiency and fast equality checking. The goal of this tool is to obtain safe and more efficient programming interfaces for abstract syntax trees. The contribution of this work is the combination of generating a strongly typed data-structure with maximal sub-term sharing in Java. Practical experience shows that this approach is beneficial for extremely large as well as smaller data types.

    U2 - 10.1049/ip-sen:20041181

    DO - 10.1049/ip-sen:20041181

    M3 - Article

    VL - 152

    SP - 70

    EP - 78

    JO - IEE Proceedings - Software Engineering

    JF - IEE Proceedings - Software Engineering

    SN - 1364-5080

    IS - 2

    ER -