z-logo
open-access-imgOpen Access
Clava: C/C++ source-to-source compilation using LARA
Author(s) -
João Bispo,
João M. P. Cardoso
Publication year - 2020
Publication title -
softwarex
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.528
H-Index - 21
ISSN - 2352-7110
DOI - 10.1016/j.softx.2020.100565
Subject(s) - compiler , computer science , scripting language , source code , programming language , javascript , digital subscriber line , set (abstract data type) , open source , code (set theory) , software engineering , operating system , software , telecommunications
This article presents Clava, a Clang-based source-to-source compiler, that accepts scripts written in LARA, a JavaScript-based DSL with special constructs for code queries, analysis and transformations. Clava improves Clang’s source-to-source capabilities by providing a more convenient and flexible way to analyze, transform and generate C/C++ code, and provides support for building strategies that capture run-time behavior. We present the Clava framework, its main capabilities, and how it can been used. Furthermore, we show that Clava is sufficiently robust to analyze, instrument and test a set of large C/C++ application codes, such as GCC.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom